Browse Source

推送wcs

dev
常熟吴彦祖 2 weeks ago
parent
commit
37439128c2
  1. 22
      src/api/warehouse/crossSiteHuTransfer.js
  2. 2
      src/views/modules/haianWarehouse/automatedWarehouse/notifyDetailQuery54.vue
  3. 7
      src/views/modules/haianWarehouse/noOrderIssue/noOrderNotification54.vue
  4. 32
      src/views/modules/haianWarehouse/poOrder/searchPoIssureNotify54.vue
  5. 32
      src/views/modules/haianWarehouse/shipment/shipmentNotification54.vue
  6. 32
      src/views/modules/haianWarehouse/shopOrderIssueNotify/searchIssureNotify54.vue
  7. 662
      src/views/modules/warehouse/crossSiteHuTransfer.vue

22
src/api/warehouse/crossSiteHuTransfer.js

@ -0,0 +1,22 @@
import { createAPI } from "@/utils/httpRequest.js";
/**
* 分页查询可跨小site调拨的在库未预留标签 - rqrq
* @param {Object} data 查询参数site=登录大sitesearchSite=可选小sitepage/limit
* @returns {Promise}
*/
export const searchHandlingUnitList = data => createAPI('/warehouse/crossSiteHuTransfer/searchHandlingUnitList', 'POST', data)
/**
* 查询目标小site下拉排除当前标签来源site - rqrq
* @param {Object} data site=登录大siteexcludeSite=来源小site
* @returns {Promise}
*/
export const listTargetSubSites = data => createAPI('/warehouse/crossSiteHuTransfer/listTargetSubSites', 'POST', data)
/**
* 提交跨小site调拨后台二次校验后写STO/STI并改标签site - rqrq
* @param {Object} data site/fromSite/toSite/createdBy/selectedItems
* @returns {Promise}
*/
export const transferHuSite = data => createAPI('/warehouse/crossSiteHuTransfer/transferHuSite', 'POST', data)

2
src/views/modules/haianWarehouse/automatedWarehouse/notifyDetailQuery54.vue

@ -113,6 +113,8 @@
<template slot-scope="scope">{{ scope.row.outWcsFlag === 'Y' ? '是' : '否' }}</template>
</el-table-column>
<el-table-column prop="outWcsTime" label="取出时间" min-width="140" header-align="center" align="center"></el-table-column>
<!-- rqrq - 最后一列展示领料栈板来源 haian_SOIssueNotifyOrderMaterialList_detail.pallet_id -->
<el-table-column prop="palletId" label="领料栈板" min-width="120" header-align="center" align="left" show-overflow-tooltip></el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>

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

@ -1686,6 +1686,13 @@ export default {
'itemNo',
buildColumn('444002Table6', '海安无单预留标签清单表', 'SubSite', 'subSite', '子站点', 90)
)
// haian_SOIssueNotifyOrderMaterialList_detail.pallet_id - rqrq
const palletIndex = this.columnList6.findIndex(col => col.columnProp === 'palletId')
const palletColumn = buildColumn('444002Table6', '海安无单预留标签清单表', 'PalletId', 'palletId', '领料栈板', 120)
if (palletIndex >= 0) {
this.columnList6.splice(palletIndex, 1)
}
this.columnList6.push(palletColumn)
},
//
getDataList() {

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

@ -2034,7 +2034,7 @@ export default {
}
},
/**
* 海安标签页签增加subsite/allocSeq/palletId/taskSeq列便于追踪标签流向 - rqrq
* 海安标签页签补充追踪列领料栈板固定放最后一列便于对账 - rqrq
*/
haiAnEnsureLabelColumns () {
if (!Array.isArray(this.columnList6)) {
@ -2066,7 +2066,35 @@ export default {
appendColumn('taskSeq', '立库任务序号', 110, 'right')
appendColumn('subSite', '子站点', 110, 'left')
appendColumn('allocSeq', '分配序号', 100, 'right')
appendColumn('palletId', '栈板号', 120, 'left')
// - rqrq
const palletIndex = this.columnList6.findIndex(col => col.columnProp === 'palletId')
let palletColumn = null
if (palletIndex >= 0) {
palletColumn = this.columnList6.splice(palletIndex, 1)[0]
palletColumn.columnLabel = '领料栈板'
palletColumn.columnWidth = 120
palletColumn.align = 'left'
} else {
palletColumn = {
userId: this.$store.state.user.name,
functionId: 701002,
serialNumber: '701002Table6palletId',
tableId: '701002Table6',
tableName: '海安预留标签清单表',
columnProp: 'palletId',
headerAlign: 'center',
align: 'left',
columnLabel: '领料栈板',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
}
}
this.columnList6.push(palletColumn)
},
/**
* 海安页签刷新逻辑四个页签均改为海安接口并保留原交互语义 - rqrq

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

@ -2034,7 +2034,7 @@ export default {
}
},
/**
* 海安标签页签增加subsite/allocSeq/palletId/taskSeq列便于追踪标签流向 - rqrq
* 海安标签页签补充追踪列领料栈板固定放最后一列便于对账 - rqrq
*/
haiAnEnsureLabelColumns () {
if (!Array.isArray(this.columnList6)) {
@ -2066,7 +2066,35 @@ export default {
appendColumn('taskSeq', '立库任务序号', 110, 'right')
appendColumn('subSite', '子站点', 110, 'left')
appendColumn('allocSeq', '分配序号', 100, 'right')
appendColumn('palletId', '栈板号', 120, 'left')
// - rqrq
const palletIndex = this.columnList6.findIndex(col => col.columnProp === 'palletId')
let palletColumn = null
if (palletIndex >= 0) {
palletColumn = this.columnList6.splice(palletIndex, 1)[0]
palletColumn.columnLabel = '领料栈板'
palletColumn.columnWidth = 120
palletColumn.align = 'left'
} else {
palletColumn = {
userId: this.$store.state.user.name,
functionId: 701002,
serialNumber: '701002Table6palletId',
tableId: '701002Table6',
tableName: '海安预留标签清单表',
columnProp: 'palletId',
headerAlign: 'center',
align: 'left',
columnLabel: '领料栈板',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
}
}
this.columnList6.push(palletColumn)
},
/**
* 海安页签刷新逻辑四个页签均改为海安接口并保留原交互语义 - rqrq

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

@ -2046,7 +2046,7 @@ export default {
}
},
/**
* 海安标签页签增加subsite/allocSeq/palletId/taskSeq列便于追踪标签流向 - rqrq
* 海安标签页签补充追踪列领料栈板固定放最后一列便于对账 - rqrq
*/
haiAnEnsureLabelColumns () {
if (!Array.isArray(this.columnList6)) {
@ -2078,7 +2078,35 @@ export default {
appendColumn('taskSeq', '立库任务序号', 110, 'right')
appendColumn('subSite', '子站点', 110, 'left')
appendColumn('allocSeq', '分配序号', 100, 'right')
appendColumn('palletId', '栈板号', 120, 'left')
// - rqrq
const palletIndex = this.columnList6.findIndex(col => col.columnProp === 'palletId')
let palletColumn = null
if (palletIndex >= 0) {
palletColumn = this.columnList6.splice(palletIndex, 1)[0]
palletColumn.columnLabel = '领料栈板'
palletColumn.columnWidth = 120
palletColumn.align = 'left'
} else {
palletColumn = {
userId: this.$store.state.user.name,
functionId: 701002,
serialNumber: '701002Table6palletId',
tableId: '701002Table6',
tableName: '海安预留标签清单表',
columnProp: 'palletId',
headerAlign: 'center',
align: 'left',
columnLabel: '领料栈板',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
}
}
this.columnList6.push(palletColumn)
},
/**
* 海安页签刷新逻辑四个页签均改为海安接口并保留原交互语义 - rqrq

662
src/views/modules/warehouse/crossSiteHuTransfer.vue

@ -0,0 +1,662 @@
<template>
<div class="mod-config">
<!-- 查询表单必须至少填一个条件登录大site由store传入不作为筛选框 - rqrq -->
<el-form :inline="true" label-position="top">
<el-form-item label="条码号">
<el-input style="width: 120px;" v-model="queryHeaderData.unitId" placeholder="请输入条码号" @keyup.enter.native="getDataList()"></el-input>
</el-form-item>
<el-form-item label="物料编号">
<el-input style="width: 120px;" v-model="queryHeaderData.partNo" placeholder="请输入物料编号" @keyup.enter.native="getDataList()"></el-input>
</el-form-item>
<el-form-item label="批次号">
<el-input style="width: 120px;" v-model="queryHeaderData.batchNo" placeholder="请输入批次号" @keyup.enter.native="getDataList()"></el-input>
</el-form-item>
<el-form-item label="库位">
<el-input style="width: 120px;" v-model="queryHeaderData.locationId" placeholder="请输入库位" @keyup.enter.native="getDataList()"></el-input>
</el-form-item>
<el-form-item label="仓库">
<el-input style="width: 120px;" v-model="queryHeaderData.warehouseId" placeholder="请输入仓库" @keyup.enter.native="getDataList()"></el-input>
</el-form-item>
<el-form-item label="site">
<el-input style="width: 120px;" v-model="queryHeaderData.searchSite" placeholder="请输入site" @keyup.enter.native="getDataList()"></el-input>
</el-form-item>
<el-form-item style="margin-top: 20px;">
<el-button @click="getDataList()" type="primary" :disabled="dataListLoading">{{ $t('warehouse.common.search') }}</el-button>
<el-button @click="resetQuery()" type="default" :disabled="dataListLoading">{{ $t('warehouse.common.reset') }}</el-button>
</el-form-item>
</el-form>
<!-- 功能按钮区整批只能来自同一个小site - rqrq -->
<el-form :inline="true" label-position="top" style="margin-top: 3px">
<el-button @click="openTransferDialog()" type="primary" :disabled="dataListSelections.length === 0 || transferLoading">跨site调拨</el-button>
</el-form>
<!-- 主表格 - rqrq -->
<el-table
:height="height"
:data="dataList"
border
v-loading="dataListLoading"
@selection-change="selectionChangeHandle"
style="width: 100%; margin-bottom: 15px;margin-top:3px">
<el-table-column
type="selection"
header-align="center"
align="center"
width="50"
:selectable="checkSelectable">
</el-table-column>
<el-table-column
v-for="(item,index) in columnList" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align"
:fixed="item.fixed==''?false:item.fixed"
:min-width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<span v-if="item.columnProp === 'inStockFlag'">
<span v-if="scope.row.inStockFlag === 'Y'">在库</span>
<span v-else-if="scope.row.inStockFlag === 'N'">已出库</span>
<span v-else-if="scope.row.inStockFlag === 'X'">未入库</span>
<span v-else>{{ scope.row.inStockFlag }}</span>
</span>
<span v-else-if="item.columnProp === 'reserveFlag'">
{{ scope.row.reserveFlag === 'Y' ? '是' : '否' }}
</span>
<span v-else-if="item.columnProp === 'qty'">
{{ formatQty(scope.row.qty) }}
</span>
<span v-else-if="item.columnProp === 'manufactureDate' || item.columnProp === 'expiredDate' || item.columnProp === 'receiveDate' || item.columnProp === 'createdDate' || item.columnProp === 'modifiedDate' || item.columnProp === 'lastPrintDate'">
{{ formatDate(scope.row[item.columnProp]) }}
</span>
<span v-else>{{ scope.row[item.columnProp] }}</span>
</template>
</el-table-column>
<el-table-column label="操作" min-width="120" fixed="right" header-align="center" align="center">
<template slot-scope="scope">
<a @click="viewDetail(scope.row)" type="primary">查看详细</a>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="pageIndex"
:page-sizes="[30, 100, 500]"
:page-size="pageSize"
:total="totalPage"
layout="total, sizes, prev, pager, next, jumper">
</el-pagination>
<!-- 查看详细信息弹窗 - rqrq -->
<el-dialog
title="查看详细信息"
:visible.sync="dialogVisible"
:close-on-click-modal="false"
v-drag
width="900px">
<el-form :model="formData" ref="dataForm" label-position="top" style="margin-top: 1px; margin-left: 0px;">
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="条码号">
<el-input v-model="formData.unitId" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="site">
<el-input v-model="formData.site" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="物料编号">
<el-input v-model="formData.partNo" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="批次号">
<el-input v-model="formData.batchNo" readonly></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="数量">
<el-input :value="formatQty(formData.qty)" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="库位">
<el-input v-model="formData.locationId" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="仓库">
<el-input v-model="formData.warehouseId" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="WDR">
<el-input v-model="formData.wdr" readonly></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="订单参考1">
<el-input v-model="formData.orderRef1" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="订单参考2">
<el-input v-model="formData.orderRef2" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="订单参考3">
<el-input v-model="formData.orderRef3" readonly></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="供应商ID">
<el-input v-model="formData.supplierId" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="客户ID">
<el-input v-model="formData.customerId" readonly></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="生产日期">
<el-input v-model="formData.manufactureDate" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="失效日期">
<el-input v-model="formData.expiredDate" readonly></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注">
<el-input v-model="formData.remark" type="textarea" :rows="3" resize="none" readonly></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer" style="margin-top: 52px">
<el-button type="primary" @click="dialogVisible = false">{{ $t('warehouse.common.close') }}</el-button>
</div>
</el-dialog>
<!-- 跨site调拨弹窗目标site来自当前登录大site的 site_sub排除来源site - rqrq -->
<el-dialog
title="跨site调拨"
:visible.sync="transferDialogVisible"
:close-on-click-modal="false"
v-drag
append-to-body
width="420px">
<el-form label-position="top" style="margin-top: 1px; margin-left: 0px;">
<el-form-item label="来源site">
<el-input v-model="transferForm.fromSite" readonly></el-input>
</el-form-item>
<el-form-item label="目标site">
<el-select
v-model="transferForm.toSite"
placeholder="请选择目标site"
filterable
style="width: 100%;"
:disabled="transferLoading"
v-loading="targetSiteListLoading">
<el-option
v-for="item in targetSubSiteList"
:key="item.subSiteId"
:label="item.subSiteId"
:value="item.subSiteId">
</el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="confirmTransfer()" :disabled="transferLoading || targetSiteListLoading">
{{ transferLoading ? '提交中...' : '确认调拨' }}
</el-button>
<el-button @click="closeTransferDialog()" :disabled="transferLoading">{{ $t('warehouse.common.cancel') }}</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { searchHandlingUnitList, listTargetSubSites, transferHuSite } from '@/api/warehouse/crossSiteHuTransfer'
export default {
data() {
return {
// - rqrq
height: 500,
dataListLoading: false,
dialogVisible: false,
// - rqrq
transferDialogVisible: false,
transferLoading: false,
targetSiteListLoading: false,
targetSubSiteList: [],
transferForm: {
fromSite: '',
toSite: ''
},
dataList: [],
dataListSelections: [],
// site=sitesearchSite=site - rqrq
queryHeaderData: {
site: this.$store.state.user.site,
searchSite: '',
unitId: '',
partNo: '',
batchNo: '',
locationId: '',
warehouseId: ''
},
formData: {},
pageIndex: 1,
pageSize: 30,
totalPage: 0,
columnList: [
{
columnProp: "unitId",
headerAlign: "center",
align: "center",
columnLabel: "条码号",
columnWidth: 150,
columnSortable: false,
showOverflowTooltip: true,
fixed: ""
},
{
columnProp: "site",
headerAlign: "center",
align: "center",
columnLabel: "site",
columnWidth: 80,
columnSortable: false,
showOverflowTooltip: false,
fixed: ""
},
{
columnProp: "partNo",
headerAlign: "center",
align: "center",
columnLabel: "物料编号",
columnWidth: 100,
columnSortable: false,
showOverflowTooltip: true,
fixed: ""
},
{
columnProp: "batchNo",
headerAlign: "center",
align: "center",
columnLabel: "批次号",
columnWidth: 140,
columnSortable: false,
showOverflowTooltip: true,
fixed: ""
},
{
columnProp: "qty",
headerAlign: "center",
align: "right",
columnLabel: "数量",
columnWidth: 70,
columnSortable: false,
showOverflowTooltip: false,
fixed: ""
},
{
columnProp: "locationId",
headerAlign: "center",
align: "center",
columnLabel: "库位",
columnWidth: 90,
columnSortable: false,
showOverflowTooltip: true,
fixed: ""
},
{
columnProp: "warehouseId",
headerAlign: "center",
align: "center",
columnLabel: "仓库",
columnWidth: 60,
columnSortable: false,
showOverflowTooltip: false,
fixed: ""
},
{
columnProp: "wdr",
headerAlign: "center",
align: "center",
columnLabel: "WDR",
columnWidth: 100,
columnSortable: false,
showOverflowTooltip: true,
fixed: ""
},
{
columnProp: "availabilityControlId",
headerAlign: "center",
align: "center",
columnLabel: "Availability Control Id",
columnWidth: 150,
columnSortable: false,
showOverflowTooltip: true,
fixed: ""
},
{
columnProp: "expiredDate",
headerAlign: "center",
align: "center",
columnLabel: "失效日期",
columnWidth: 100,
columnSortable: false,
showOverflowTooltip: false,
fixed: ""
},
{
columnProp: "engChgLevel",
headerAlign: "center",
align: "center",
columnLabel: "EngChgLevel",
columnWidth: 90,
columnSortable: false,
showOverflowTooltip: false,
fixed: ""
},
{
columnProp: "manufactureDate",
headerAlign: "center",
align: "center",
columnLabel: "生产日期",
columnWidth: 100,
columnSortable: false,
showOverflowTooltip: false,
fixed: ""
},
{
columnProp: "partDesc",
headerAlign: "center",
align: "center",
columnLabel: "物料描述",
columnWidth: 200,
columnSortable: false,
showOverflowTooltip: true,
fixed: ""
}
]
}
},
mounted() {
this.$nextTick(() => {
this.height = window.innerHeight - 220
})
},
methods: {
// site - rqrq
hasAnySearchCondition() {
const query = this.queryHeaderData
return !!(query.unitId || query.partNo || query.batchNo || query.locationId || query.warehouseId || query.searchSite)
},
// site - rqrq
getDataList() {
this.queryHeaderData.site = this.$store.state.user.site
if (!this.queryHeaderData.site) {
this.$alert('登录工厂site不能为空', this.$t('warehouse.common.error'), { confirmButtonText: this.$t('warehouse.common.confirm') })
return
}
if (!this.hasAnySearchCondition()) {
this.$message.warning('请至少填写一个查询条件')
return
}
this.dataListLoading = true
const params = {
...this.queryHeaderData,
page: this.pageIndex,
limit: this.pageSize
}
searchHandlingUnitList(params).then(({ data }) => {
if (data && data.code === 0) {
this.dataList = data.page.list || []
this.pageIndex = data.page.currPage
this.totalPage = data.page.totalCount
} else {
this.dataList = []
this.totalPage = 0
this.$alert(data.msg || this.$t('warehouse.message.queryFailed'), this.$t('warehouse.common.error'), { confirmButtonText: this.$t('warehouse.common.confirm') })
}
}).catch(() => {
this.dataList = []
this.totalPage = 0
this.$message.error(this.$t('warehouse.message.queryFailed'))
}).finally(() => {
this.dataListLoading = false
})
},
// - rqrq
resetQuery() {
this.queryHeaderData = {
site: this.$store.state.user.site,
searchSite: '',
unitId: '',
partNo: '',
batchNo: '',
locationId: '',
warehouseId: ''
}
this.pageIndex = 1
this.dataList = []
this.totalPage = 0
this.dataListSelections = []
},
sizeChangeHandle(val) {
this.pageSize = val
this.pageIndex = 1
this.getDataList()
},
currentChangeHandle(val) {
this.pageIndex = val
this.getDataList()
},
selectionChangeHandle(val) {
this.dataListSelections = val
},
viewDetail(row) {
this.formData = JSON.parse(JSON.stringify(row))
this.dialogVisible = true
},
formatDate(dateStr) {
if (!dateStr) return ''
const date = new Date(dateStr)
const year = date.getFullYear()
const month = String(date.getMonth() + 1).padStart(2, '0')
const day = String(date.getDate()).padStart(2, '0')
const hours = String(date.getHours()).padStart(2, '0')
const minutes = String(date.getMinutes()).padStart(2, '0')
const seconds = String(date.getSeconds()).padStart(2, '0')
if (hours === '00' && minutes === '00' && seconds === '00') {
return `${year}-${month}-${day}`
}
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
},
// 0 - rqrq
formatQty(val) {
if (val === null || val === undefined || val === '') {
return 0
}
const num = Number(val)
if (isNaN(num)) {
return val
}
return parseFloat(String(num))
},
// - rqrq
checkSelectable(row) {
return !!(row.partNo)
},
// sitesite - rqrq
openTransferDialog() {
if (this.dataListSelections.length === 0) {
this.$message.warning('请先选择要调拨的标签')
return
}
const siteSet = [...new Set(this.dataListSelections.map(item => item.site).filter(item => !!item))]
if (siteSet.length === 0) {
this.$alert('选中标签缺少site,无法调拨', this.$t('warehouse.common.error'), { confirmButtonText: this.$t('warehouse.common.confirm') })
return
}
if (siteSet.length > 1) {
this.$alert('选中标签来自多个site,不允许一起调拨:' + siteSet.join(', '), this.$t('warehouse.common.error'), { confirmButtonText: this.$t('warehouse.common.confirm') })
return
}
this.transferForm = {
fromSite: siteSet[0],
toSite: ''
}
this.transferDialogVisible = true
this.loadTargetSubSites()
},
// site site_subsite - rqrq
loadTargetSubSites() {
this.targetSiteListLoading = true
this.targetSubSiteList = []
const params = {
site: this.$store.state.user.site,
excludeSite: this.transferForm.fromSite
}
listTargetSubSites(params).then(({ data }) => {
if (data && data.code === 0) {
this.targetSubSiteList = data.rows || []
if (this.targetSubSiteList.length === 0) {
this.$alert('当前工厂没有可调拨的目标site', this.$t('warehouse.common.tip'), { confirmButtonText: this.$t('warehouse.common.confirm') })
}
} else {
this.$alert(data.msg || this.$t('warehouse.message.queryFailed'), this.$t('warehouse.common.error'), { confirmButtonText: this.$t('warehouse.common.confirm') })
}
}).catch(() => {
this.$message.error(this.$t('warehouse.message.queryFailed'))
}).finally(() => {
this.targetSiteListLoading = false
})
},
closeTransferDialog() {
this.transferDialogVisible = false
this.transferForm = {
fromSite: '',
toSite: ''
}
this.targetSubSiteList = []
},
// - rqrq
confirmTransfer() {
if (!this.transferForm.toSite) {
this.$message.warning('请选择目标site')
return
}
const selectedCount = this.dataListSelections.length
const confirmMsg = `确认将选中的 ${selectedCount} 个标签从 ${this.transferForm.fromSite} 调拨到 ${this.transferForm.toSite} 吗?`
this.$confirm(confirmMsg, '确认调拨', {
confirmButtonText: this.$t('warehouse.common.confirm'),
cancelButtonText: this.$t('warehouse.common.cancel'),
type: 'warning'
}).then(() => {
this.doTransfer()
}).catch(() => {})
},
doTransfer() {
this.transferLoading = true
const requestData = {
site: this.$store.state.user.site,
fromSite: this.transferForm.fromSite,
toSite: this.transferForm.toSite,
createdBy: this.$store.state.user.name,
selectedItems: this.dataListSelections
}
transferHuSite(requestData).then(({ data }) => {
if (data && data.code === 0) {
const result = data.row || {}
const htmlContent = `<div style="line-height: 1.8;">`
+ `<p><b>成功数量:</b>${result.successCount || 0}</p>`
+ `<p><b>出库事务号:</b>${result.stoTransNo || ''}</p>`
+ `<p><b>入库事务号:</b>${result.stiTransNo || ''}</p>`
+ `<p>${result.message || ''}</p>`
+ `</div>`
this.$alert(htmlContent, '跨site调拨结果', {
dangerouslyUseHTMLString: true,
confirmButtonText: this.$t('warehouse.common.confirm'),
type: 'success',
callback: () => {
this.closeTransferDialog()
this.getDataList()
}
})
} else {
this.$alert(data.msg || '跨site调拨失败', this.$t('warehouse.common.error'), { confirmButtonText: this.$t('warehouse.common.confirm') })
}
}).catch(() => {
this.$message.error('跨site调拨失败')
}).finally(() => {
this.transferLoading = false
})
}
}
}
</script>
<style scoped>
.el-button:disabled {
opacity: 0.6;
cursor: not-allowed;
}
</style>
Loading…
Cancel
Save