Browse Source

【nev-pc】xbcll批量打印封装开发+5个记录使用批量打印

ag_report_nev
安虹睿 8 months ago
parent
commit
c528a5b7bd
  1. 4
      fe/PC/src/main.js
  2. 59
      fe/PC/src/mixins/TableHeaderMixins.js
  3. 6
      fe/PC/src/mixins/TableMixins.js
  4. 11
      fe/PC/src/utils/defaultButtons.js
  5. 3
      fe/PC/src/views/kittingManage/KittingIssueNote.vue
  6. 3
      fe/PC/src/views/materialIssueBP/IssueNoteBP.vue
  7. 3
      fe/PC/src/views/materialIssuePT/IssueNotePT.vue
  8. 3
      fe/PC/src/views/materialIssueZP/IssueNoteZP.vue
  9. 3
      fe/PC/src/views/materialIssueZS/IssueNoteZS.vue

4
fe/PC/src/main.js

@ -35,7 +35,8 @@ import {
defaultFilterBtn,
defaultImportBtn,
defaultExportBtn,
defaultFilterForDetailBtn
defaultFilterForDetailBtn,
defaultPrintManyXbcllBtn
} from '@/utils/defaultButtons';
Vue.prototype.defaultFieldSettingBtn = defaultFieldSettingBtn;
@ -45,6 +46,7 @@ Vue.prototype.defaultFilterBtn = defaultFilterBtn;
Vue.prototype.defaultImportBtn = defaultImportBtn;
Vue.prototype.defaultExportBtn = defaultExportBtn;
Vue.prototype.defaultFilterForDetailBtn = defaultFilterForDetailBtn;
Vue.prototype.defaultPrintManyXbcllBtn = defaultPrintManyXbcllBtn;
import * as filters from './filters' // global filters

59
fe/PC/src/mixins/TableHeaderMixins.js

@ -5,6 +5,7 @@ import {
fileStorage
}
from "@/api/wms-api"
import { initPrintAllData } from "@/mixins/printMixin"
export const TableHeaderMixins = {
data() {
return {
@ -151,6 +152,64 @@ export const TableHeaderMixins = {
listUrl:this.getMOrDUrlSuffix()
})
}
// 批量打印(xbcll)
if(val == "printManyXbcll"){
// 数据模拟
// this.copyData()
if(this.multipleSelection.length <= 0){
return this.$warningMsg("请选择要打印的数据!")
}
// 按申请单号汇总
let _requestNumbers = []
let _requestInfos = {}
let _numberAndItems = []
this.multipleSelection.forEach(out=>{
if(_requestNumbers.indexOf(out.requestNumber) < 0){
_requestNumbers.push(out.requestNumber)
_requestInfos[out.requestNumber] = JSON.parse(JSON.stringify(out))
_requestInfos[out.requestNumber].details = []
}
out.details.forEach(item=>{
let _name = out.requestNumber + '_' + item.itemCode
if(_numberAndItems.indexOf(_name) < 0){
_numberAndItems.push(_name)
}
_requestInfos[out.requestNumber].details.push(item)
})
})
let _printDataArr = []
for(let i in _requestInfos){
_printDataArr.push(_requestInfos[i])
}
// 按照同物料及同调入储位汇总明细
_printDataArr.forEach(print=>{
let _newDetail = {}
let _detailArr = []
print.details.forEach(item=>{
let _copy = JSON.parse(JSON.stringify(item))
let _name = _copy.itemCode + "_" + _copy.handledToLocationErpCode
if(!_newDetail[_name]){
_newDetail[_name] = _copy
}else{
_newDetail[_name].handledToQty += _copy.handledToQty
_newDetail[_name].requestQty += _copy.requestQty
}
})
for(let i in _newDetail){ _detailArr.push(_newDetail[i]) }
print.details = JSON.parse(JSON.stringify(_detailArr))
})
// 循环打印
_printDataArr.forEach(async print=>{
print.details.forEach(item=>{
item.handledToLot = item.handledToLot + " "
item.boxQtyShow = print.enumIssueSendType == 2 ? item.requestQty : ''
})
let data = await initPrintAllData(print,'xbcll.rdlx',false,false,true);
this.Print(data)
})
}
},
// 获取主子表列表url模块
getMOrDUrlMoudle(url){

6
fe/PC/src/mixins/TableMixins.js

@ -38,7 +38,9 @@ export const tableMixins = {
//默认tag
firstTabs:'xq',
//明细-前端手动添加的基础信息配置
showDetailBaseFromFE:['configuration']
showDetailBaseFromFE:['configuration'],
// 列表页是否直接获取detail
pagingShowDetail:false,
}
},
methods: {
@ -76,7 +78,7 @@ export const tableMixins = {
this.initPagingHeaderBtn()
this.Loading.tableLoading = true;
this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount,
getPageList(this.PageListParams, this.URL,false,this.listURL).then(res => {
getPageList(this.PageListParams, this.URL,this.pagingShowDetail,this.listURL).then(res => {
this.tableData = res.items
this.totalCount = res.totalCount
this.pagingCallback(callback)

11
fe/PC/src/utils/defaultButtons.js

@ -104,6 +104,17 @@ export function defaultFilterForDetailBtn(option) {
})
}
// 批量打印(xbcll)
export function defaultPrintManyXbcllBtn(option) {
return __defaultBtnOption(option,{
type: "info",
icon: "el-icon-print",
label: "批量打印",
name: "printManyXbcll",
size: "mini",
})
}
// 默认按钮规则
function __defaultBtnOption(option,specific){
return {

3
fe/PC/src/views/kittingManage/KittingIssueNote.vue

@ -22,6 +22,7 @@
:primarySearchOption="primarySearchOption"
@overallSearchFormClick="overallSearchFormClick"
:httpOverallSearchData="httpOverallSearchData"
:tableSelection="true"
>
</tablePagination>
<!-- 新导入 disabledMethod 导入方式禁用 disabledIsAllowPartImport 是否局部导入禁用-->
@ -75,8 +76,10 @@
data() {
return {
URL: "wms/store/kitting-issue-note",
pagingShowDetail:true,
//
currenButtonData: [
this.defaultPrintManyXbcllBtn(),
// this.defaultImportBtn(),//
this.defaultFieldSettingBtn(),//
this.defaultFreshBtn(),//

3
fe/PC/src/views/materialIssueBP/IssueNoteBP.vue

@ -10,6 +10,7 @@
:multipleSelection="multipleSelection"
:MaxResultCount="PageListParams.MaxResultCount"
@topbutton="topbutton"
:tableSelection="true"
@inlineDialog="inlineDialog"
@sortChange="sortChange"
@alertoldSkipCount="alertoldSkipCount"
@ -75,8 +76,10 @@ export default {
data() {
return {
URL: "wms/store/spare-part-issue-note",
pagingShowDetail:true,
//
currenButtonData: [
this.defaultPrintManyXbcllBtn(),
// this.defaultImportBtn(),//
this.defaultFieldSettingBtn(),//
this.defaultFreshBtn(),//

3
fe/PC/src/views/materialIssuePT/IssueNotePT.vue

@ -22,6 +22,7 @@
:primarySearchOption="primarySearchOption"
@overallSearchFormClick="overallSearchFormClick"
:httpOverallSearchData="httpOverallSearchData"
:tableSelection="true"
>
</tablePagination>
<!-- 新导入 disabledMethod 导入方式禁用 disabledIsAllowPartImport 是否局部导入禁用-->
@ -75,8 +76,10 @@ export default {
data() {
return {
URL: "wms/store/coating-issue-note",
pagingShowDetail:true,
//
currenButtonData: [
this.defaultPrintManyXbcllBtn(),
// this.defaultImportBtn(),//
this.defaultFieldSettingBtn(),//
this.defaultFreshBtn(),//

3
fe/PC/src/views/materialIssueZP/IssueNoteZP.vue

@ -22,6 +22,7 @@
:primarySearchOption="primarySearchOption"
@overallSearchFormClick="overallSearchFormClick"
:httpOverallSearchData="httpOverallSearchData"
:tableSelection="true"
>
</tablePagination>
<!-- 新导入 disabledMethod 导入方式禁用 disabledIsAllowPartImport 是否局部导入禁用-->
@ -75,8 +76,10 @@ export default {
data() {
return {
URL: "wms/store/assemble-issue-note",
pagingShowDetail:true,
//
currenButtonData: [
this.defaultPrintManyXbcllBtn(),
// this.defaultImportBtn(),//
this.defaultFieldSettingBtn(),//
this.defaultFreshBtn(),//

3
fe/PC/src/views/materialIssueZS/IssueNoteZS.vue

@ -22,6 +22,7 @@
:primarySearchOption="primarySearchOption"
@overallSearchFormClick="overallSearchFormClick"
:httpOverallSearchData="httpOverallSearchData"
:tableSelection="true"
>
</tablePagination>
<!-- 新导入 disabledMethod 导入方式禁用 disabledIsAllowPartImport 是否局部导入禁用-->
@ -75,8 +76,10 @@ export default {
data() {
return {
URL: "wms/store/injection-issue-note",
pagingShowDetail:true,
//
currenButtonData: [
this.defaultPrintManyXbcllBtn(),
// this.defaultImportBtn(),//
this.defaultFieldSettingBtn(),//
this.defaultFreshBtn(),//

Loading…
Cancel
Save