Browse Source

Merge branch 'dev_web'

# Conflicts:
#	fe/PC/public/config.js
集成Redis
陈薪名 2 years ago
parent
commit
b3ed74072a
  1. 37
      fe/PC/src/api/wms-api.js
  2. 8
      fe/PC/src/api/wms-core.js
  3. 11
      fe/PC/src/api/wms-job.js
  4. 9
      fe/PC/src/components/StepsCountPlanForm/index.vue
  5. 17
      fe/PC/src/components/commonTabel-drawer/index.vue
  6. 5
      fe/PC/src/components/commonTabel-drawer/style/index.scss
  7. 3
      fe/PC/src/components/currenForm/index.vue
  8. 35
      fe/PC/src/components/currenTable/index.vue
  9. 11
      fe/PC/src/components/importFile/index.vue
  10. 6
      fe/PC/src/components/umyTable/index.vue
  11. 7
      fe/PC/src/filters/index.js
  12. 2
      fe/PC/src/filters/options.js
  13. 15
      fe/PC/src/filters/status.js
  14. 6
      fe/PC/src/mixins/TableHeaderMixins.js
  15. 18
      fe/PC/src/mixins/TableMixins.js
  16. 14
      fe/PC/src/mixins/mixins.js
  17. 106
      fe/PC/src/mixins/printMixin.js
  18. 1
      fe/PC/src/styles/basicData.scss
  19. 2303
      fe/PC/src/utils/detailsTableColumns/index.js
  20. 11
      fe/PC/src/utils/index.js
  21. 2
      fe/PC/src/utils/quicklySearchOption/index.js
  22. 2
      fe/PC/src/utils/request.js
  23. 61
      fe/PC/src/utils/summaryTableColumns/index.js
  24. 1256
      fe/PC/src/utils/tableColumns/index.js
  25. 1512
      fe/PC/src/utils/tabsDesTions/index.js
  26. 23
      fe/PC/src/views/basicData/ItemsManage/ItemPack.vue
  27. 2
      fe/PC/src/views/finishedProductManage/deliver/DeliverJob-msQuery.vue
  28. 2
      fe/PC/src/views/finishedProductManage/deliver/DeliverNote-Query.vue
  29. 2
      fe/PC/src/views/finishedProductManage/deliver/FISDeliverNote-Query.vue
  30. 7
      fe/PC/src/views/finishedProductManage/dismantle/customerDismantleNote.vue
  31. 4
      fe/PC/src/views/finishedProductManage/dismantle/customerDismantleRequest.vue
  32. 2
      fe/PC/src/views/finishedProductManage/partiallyPreparedProducts/partiallyPreparedProductsNote.vue
  33. 2
      fe/PC/src/views/finishedProductManage/productReceipt/ProductReceiptRequest.vue
  34. 19
      fe/PC/src/views/finishedProductManage/productReceipt/ProductReceiptScrapNote.vue
  35. 19
      fe/PC/src/views/finishedProductManage/productReceipt/ProductReceiptScrapRequest.vue
  36. 2
      fe/PC/src/views/finishedProductManage/productionReturn/returnJob.vue
  37. 2
      fe/PC/src/views/inventoryManage/Count/CountJob-msQuery.vue
  38. 178
      fe/PC/src/views/inventoryManage/InventoryQuery/InventoryBalance.vue
  39. 17
      fe/PC/src/views/inventoryManage/InventoryQuery/InventoryTransferLog-Query.vue
  40. 2
      fe/PC/src/views/inventoryManage/customerStorageAllocation/customerStorageAllocationConfirm.vue
  41. 2
      fe/PC/src/views/inventoryManage/customerStorageAllocation/customerStorageAllocationNote.vue
  42. 2
      fe/PC/src/views/inventoryManage/customerStorageAllocation/customerStorageAllocationRequest.vue
  43. 2
      fe/PC/src/views/inventoryManage/interStorageAllocation/interStorageAllocationNote.vue
  44. 2
      fe/PC/src/views/inventoryManage/intraStorageTransfer/intraStorageTransferNote.vue
  45. 9
      fe/PC/src/views/inventoryManage/lineSideWarehouseAdjustmentSheet/lineSideWarehouseAdjustmentSheetNote.vue
  46. 2
      fe/PC/src/views/inventoryManage/lineSideWarehouseAdjustmentSheet/lineSideWarehouseAdjustmentSheetRequest.vue
  47. 2
      fe/PC/src/views/inventoryManage/lineSideWarehouseAllocation/lineSideWarehouseAllocationConfirm.vue
  48. 2
      fe/PC/src/views/inventoryManage/lineSideWarehouseAllocation/lineSideWarehouseAllocationNote.vue
  49. 2
      fe/PC/src/views/inventoryManage/lineSideWarehouseAllocation/lineSideWarehouseAllocationRequest.vue
  50. 2
      fe/PC/src/views/inventoryManage/lineSideWarehousePayment/lineSideWarehousePaymentNote.vue
  51. 2
      fe/PC/src/views/inventoryManage/lineSideWarehousePayment/lineSideWarehousePaymentRequest.vue
  52. 4
      fe/PC/src/views/inventoryManage/lineSideWarehouseScrapping/lineSideWarehouseScrappingNote.vue
  53. 4
      fe/PC/src/views/inventoryManage/lineSideWarehouseScrapping/lineSideWarehouseScrappingRequest.vue
  54. 2
      fe/PC/src/views/inventoryManage/recycledMaterials/materialsAdjustment.vue
  55. 2
      fe/PC/src/views/inventoryManage/recycledMaterials/materialsAdjustmentApply.vue
  56. 255
      fe/PC/src/views/labelManage/PartiallyPreparedProducts/PartiallyPreparedProducts.vue
  57. 271
      fe/PC/src/views/labelManage/PartiallyPreparedProducts/RecycledMaterialsLabel.vue
  58. 297
      fe/PC/src/views/labelManage/PartiallyPreparedProducts/__PartiallyPreparedProducts.vue
  59. 424
      fe/PC/src/views/labelManage/PartiallyPreparedProducts/__RecycledMaterialsLabel.vue
  60. 352
      fe/PC/src/views/labelManage/PartiallyPreparedProducts/__productionReturnLabel.vue
  61. 90
      fe/PC/src/views/labelManage/PartiallyPreparedProducts/productionReturnLabel.vue
  62. 6
      fe/PC/src/views/labelManage/RepairLabels.vue
  63. 2
      fe/PC/src/views/rawMaterialManage/automaticMaterialCall/automaticCallApply.vue
  64. 6
      fe/PC/src/views/rawMaterialManage/automaticMaterialCall/automaticCallJob-msQuery.vue
  65. 35
      fe/PC/src/views/rawMaterialManage/automaticMaterialCall/automaticCallNote.vue
  66. 13
      fe/PC/src/views/rawMaterialManage/beforeGroundingReturn/beforeGroundingReturnNote.vue
  67. 6
      fe/PC/src/views/rawMaterialManage/directIssue/directIssueNote.vue
  68. 12
      fe/PC/src/views/rawMaterialManage/manualMaterialRequest/IssueJob.vue
  69. 4
      fe/PC/src/views/rawMaterialManage/manualMaterialRequest/IssueNote.vue
  70. 2
      fe/PC/src/views/rawMaterialManage/manualMaterialRequest/IssueRequest.vue
  71. 19
      fe/PC/src/views/rawMaterialManage/materialDirectSend/materialDirectSendNote.vue
  72. 36
      fe/PC/src/views/rawMaterialManage/purchaseOnShelves/PutawayNote.vue
  73. 40
      fe/PC/src/views/rawMaterialManage/purchaseReceipt/PurchaseOrder-ms.vue
  74. 70
      fe/PC/src/views/rawMaterialManage/purchaseReceipt/PurchaseReceiptNote-msQuery.vue
  75. 2
      fe/PC/src/views/rawMaterialManage/purchaseReturn/returnJob.vue
  76. 16
      fe/PC/src/views/rawMaterialManage/purchaseReturn/returnNote.vue
  77. 106
      fe/PC/src/views/rawMaterialManage/quality/InspectRequest.vue
  78. 16
      fe/PC/src/views/rawMaterialManage/quality/unqualifiedToQualified.vue
  79. 4
      fe/PC/src/views/rawMaterialManage/scrap/ScrapNote.vue
  80. 4
      fe/PC/src/views/systemManage/Department.vue
  81. 4
      fe/PC/vue.config.js

37
fe/PC/src/api/wms-api.js

@ -2,6 +2,7 @@ import request from '@/utils/request'
import store from '@/store' import store from '@/store'
// let baseURL = process.env.VUE_APP_BASE_API + '/' // let baseURL = process.env.VUE_APP_BASE_API + '/'
let baseURL = localStorage.getItem('base') + '/api/' let baseURL = localStorage.getItem('base') + '/api/'
let printURL = localStorage.getItem('print') + '/api/'
//新建 //新建
export function postCreate(data, url) { export function postCreate(data, url) {
if (Object.keys(data).includes('company')) { if (Object.keys(data).includes('company')) {
@ -242,7 +243,7 @@ export function getPage(data, url) {
//打印标签 //打印标签
export function PrintServices(data) { export function PrintServices(data) {
return request({ return request({
url: baseURL + 'reporting/PrintServices', url: printURL + 'reporting/PrintServices',
method: 'post', method: 'post',
headers: { headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
@ -409,10 +410,19 @@ export function notifyMessage(params, id) {
} }
// 库存-启用 | 库存余额 // 库存-启用 | 库存余额
export function inventoryBalanceActive(id) { // export function inventoryBalanceActive(id) {
// return request({
// url: baseURL + 'wms/inventory/inventory-balance/active?id=' + id,
// method: 'post',
// })
// }
// 库存-启用 | 库存余额 改
export function inventoryBalanceActive(params) {
return request({ return request({
url: baseURL + 'wms/inventory/inventory-balance/active?id=' + id, url: baseURL + 'wms/inventory/inventory-balance/' + params.id + '/active',
method: 'post', method: 'post',
params: params,
}) })
} }
@ -456,8 +466,9 @@ export function createAndHandle(data) {
// 人工叫料申请 | 人工发料任务 | 人工发料记录 | 自动叫料申请 | 自动发料任务 | 自动发料记录 | 直接发料记录 // 人工叫料申请 | 人工发料任务 | 人工发料记录 | 自动叫料申请 | 自动发料任务 | 自动发料记录 | 直接发料记录
// 完工收货缴库申请 | 线边仓缴库申请 | 线边仓缴库记录 | 线边仓报废申请 | 线边仓报废记录 | 原料报废记录 // 完工收货缴库申请 | 线边仓缴库申请 | 线边仓缴库记录 | 线边仓报废申请 | 线边仓报废记录 | 原料报废记录
export function materialRequestByType(data, url, params) { export function materialRequestByType(data, url, params) {
let _type = params.type?params.type:params.requestType
return request({ return request({
url: baseURL + url + '/' + params.type, url: baseURL + url + '/' + _type,
method: 'post', method: 'post',
params: params, params: params,
data data
@ -499,7 +510,7 @@ export function getPageListWip(data, url) {
}) })
} }
// 线边仓调拨确认按钮 | 客户调拨确认按钮 // 线边仓调拨确认按钮 | 客户调拨确认按钮 | 自动发料记录
export function confirm(id, url) { export function confirm(id, url) {
return request({ return request({
url: baseURL + url + '/confirm/' + id, url: baseURL + url + '/confirm/' + id,
@ -530,6 +541,22 @@ export function allSupplierByCodes(data) {
data data
}) })
} }
// 根据code获取当前供应商信息 打印需要获取供应商信息(供应商简称等)相关位置
export function getOneSupplierInfoByCode(code) {
return request({
url: baseURL + 'basedata/supplier/by-code/' + code,
method: 'get'
})
}
// 根据code获取当前客户信息 打印需要获取供应商信息(客户地址等)相关位置
export function getOneCustomerInfoByCode(code) {
return request({
url: baseURL + 'basedata/customer/by-code/' + code,
method: 'get'
})
}
// 根据编号获取字典信息 // 根据编号获取字典信息
// export function getDictByCode(code) { // export function getDictByCode(code) {
// return request({ // return request({

8
fe/PC/src/api/wms-core.js

@ -2,6 +2,14 @@ import request from '@/utils/request'
// let baseURL = localStorage.getItem('print') + '/api/' // let baseURL = localStorage.getItem('print') + '/api/'
let baseURL = localStorage.getItem('base') + '/api/' let baseURL = localStorage.getItem('base') + '/api/'
// 根据箱码获取标签相关信息 | 补打标签
export function getOneInventoryLabelByCode(code) {
return request({
url: baseURL + 'label/inventory-label/by-code/' + code,
method: 'get'
})
}
// 批量获取箱标签信息 | 到货请求 // 批量获取箱标签信息 | 到货请求
export function getInventoryLabelByCodes(data) { export function getInventoryLabelByCodes(data) {
return request({ return request({

11
fe/PC/src/api/wms-job.js

@ -168,8 +168,9 @@ export function InspectJobHandle(data, params, url) {
//人工发料任务 | 自动发料任务 //人工发料任务 | 自动发料任务
export function materialRequestByType(data, url, params) { export function materialRequestByType(data, url, params) {
let _type = params.type?params.type:params.requestType
return request({ return request({
url: baseURL + url + '/' + params.type, url: baseURL + url + '/' + _type,
method: 'post', method: 'post',
params: params, params: params,
data data
@ -198,7 +199,7 @@ export function preparationPlanByNumber(params) {
//质检——完成质检 //质检——完成质检
export function completeSummaryDetailStatus(params, data) { export function completeSummaryDetailStatus(params, data) {
return request({ return request({
url: baseURL + 'wms/job/inspect-job/complete-summary-detail-status/' + params.id, url: baseURL + 'wms/store/inspect-job/complete-summary-detail-status/' + params.id,
method: 'post', method: 'post',
params: params, params: params,
data data
@ -208,7 +209,7 @@ export function completeSummaryDetailStatus(params, data) {
//质检——设置默认状态(清除质检) //质检——设置默认状态(清除质检)
export function setDetailDefaultOkStatus(params, id, data) { export function setDetailDefaultOkStatus(params, id, data) {
return request({ return request({
url: baseURL + 'wms/job/inspect-job/set-detail-default-ok-status/' + id, url: baseURL + 'wms/store/inspect-job/set-detail-default-ok-status/' + id,
method: 'post', method: 'post',
params: params, params: params,
data data
@ -218,7 +219,7 @@ export function setDetailDefaultOkStatus(params, id, data) {
//质检——设置详情为合格 //质检——设置详情为合格
export function setDetailOkStatus(params, id, data) { export function setDetailOkStatus(params, id, data) {
return request({ return request({
url: baseURL + 'wms/job/inspect-job/set-detail-ok-status/' + id, url: baseURL + 'wms/store/inspect-job/set-detail-ok-status/' + id,
method: 'post', method: 'post',
params: params, params: params,
data data
@ -228,7 +229,7 @@ export function setDetailOkStatus(params, id, data) {
//质检——设置详情为不合格 //质检——设置详情为不合格
export function setDetailNookStatus(params, id, data) { export function setDetailNookStatus(params, id, data) {
return request({ return request({
url: baseURL + 'wms/job/inspect-job/set-detail-nook-status/' + id, url: baseURL + 'wms/store/inspect-job/set-detail-nook-status/' + id,
method: 'post', method: 'post',
params: params, params: params,
data data

9
fe/PC/src/components/StepsCountPlanForm/index.vue

@ -412,6 +412,15 @@ export default {
// //
advancedFilter(url, list, TotalCount, data, oldSkipCount) { advancedFilter(url, list, TotalCount, data, oldSkipCount) {
return () => { return () => {
// 线 20230417
if (data == 'locationData') {
list.condition.filters.push({
action: "!=",
column: "type",
logic: "And",
value: "5"
})
}
list.SkipCount = (oldSkipCount - 1) * list.MaxResultCount; list.SkipCount = (oldSkipCount - 1) * list.MaxResultCount;
this.tableLoading = true; this.tableLoading = true;
getPageList(list, url) getPageList(list, url)

17
fe/PC/src/components/commonTabel-drawer/index.vue

@ -8,7 +8,6 @@
:with-header="false" :with-header="false"
:modal="false" :modal="false"
size="100%" size="100%"
style="height:calc(100% - 28px);top: 14px;right:14px"
> >
<div class="drawer-heder"> <div class="drawer-heder">
<div class="heder-left"> <div class="heder-left">
@ -70,6 +69,7 @@
<!-- currenTableDetails 组件 明细中带分页功能 --> <!-- currenTableDetails 组件 明细中带分页功能 -->
<umyTable <umyTable
v-if="scope.value == 'mx'" v-if="scope.value == 'mx'"
:tableBorder="true"
:tableData="propsData.details" :tableData="propsData.details"
:propsData="propsData" :propsData="propsData"
:tableColumns="tableColumns" :tableColumns="tableColumns"
@ -96,6 +96,7 @@
<!-- 新增汇总 表头 区分明细表头使用 summaryTableColumns --> <!-- 新增汇总 表头 区分明细表头使用 summaryTableColumns -->
<umyTable <umyTable
v-if="scope.value == 'hz'" v-if="scope.value == 'hz'"
:tableBorder="true"
:tableData="propsData.summaryDetails" :tableData="propsData.summaryDetails"
:tableColumns="summaryTableColumns.length == 0 ? tableColumns : summaryTableColumns" :tableColumns="summaryTableColumns.length == 0 ? tableColumns : summaryTableColumns"
:selectionTable="selectionTable" :selectionTable="selectionTable"
@ -104,7 +105,7 @@
@handleSelectionChange="handleSelectionChange" @handleSelectionChange="handleSelectionChange"
@inlineDialog="inlineDialog" @inlineDialog="inlineDialog"
@buttonClick="buttonClick" @buttonClick="buttonClick"
:setUTableHeight="200" :setUTableHeight="210"
> >
<template> <template>
<slot></slot> <slot></slot>
@ -119,6 +120,7 @@
scope.value != 'hz' && scope.value != 'hz' &&
scope.value != 'zwlcj' scope.value != 'zwlcj'
" "
:tableBorder="true"
:tableLoading="tableLoading" :tableLoading="tableLoading"
:tableData="otherData" :tableData="otherData"
:tableColumns="zdyTableColumns" :tableColumns="zdyTableColumns"
@ -181,17 +183,6 @@ export default {
currenTabs, currenTabs,
currenTable, currenTable,
}, },
watch: {
propsData(newVal, oldVal){
// newValoldVal
// if (newVal != oldVal) {
// this.$parent.firstTabs = 'xq'
// }
// this.firstTabs = 'xq'
},
},
props: { props: {
title: { title: {
type: Array, type: Array,

5
fe/PC/src/components/commonTabel-drawer/style/index.scss

@ -3,6 +3,9 @@
position: absolute; position: absolute;
left: 32%; left: 32%;
overflow: visible; overflow: visible;
// height:calc(100% - 28px);
// top: 14px;
// right:14px
::v-deep .el-drawer { ::v-deep .el-drawer {
height: 100%; height: 100%;
@ -67,7 +70,7 @@
display: flex; display: flex;
flex-direction: column; flex-direction: column;
.el-tabs__header{ .el-tabs__header{
padding-bottom: 5px ; // padding-bottom: 5px ;
.el-tabs__nav{ .el-tabs__nav{
z-index: auto !important; z-index: auto !important;
} }

3
fe/PC/src/components/currenForm/index.vue

@ -10,6 +10,7 @@
:rules="rules" :rules="rules"
:model="searchData" :model="searchData"
@submit.native.prevent @submit.native.prevent
v-if="!hide ? true : false"
> >
<el-row :gutter="40"> <el-row :gutter="40">
<el-col <el-col
@ -20,7 +21,7 @@
<el-form-item <el-form-item
:label="item.label" :label="item.label"
:prop="item.showProp ? item.prop + '.' + item.showProp : item.prop" :prop="item.showProp ? item.prop + '.' + item.showProp : item.prop"
v-if="!hide ? true : false" v-if="!item.hide ? true : false"
> >
<!-- 输入框 onkeyup: 正则表达式用于前端输入校验工作--> <!-- 输入框 onkeyup: 正则表达式用于前端输入校验工作-->
<!-- :onkeyup="item.onkeyup" --> <!-- :onkeyup="item.onkeyup" -->

35
fe/PC/src/components/currenTable/index.vue

@ -36,7 +36,7 @@
<el-form> <el-form>
<el-form-item <el-form-item
v-if="item.type == 'input'" v-if="item.type == 'input'"
:onkeyup="itemOnKeyUp(item,searchData[item.prop])" :onkeyup="itemOnKeyUp(item,item.prop,scope.$index)"
:prop="'details.' + scope.$index + '.' + item.prop" :prop="'details.' + scope.$index + '.' + item.prop"
:rules="item.rules" :rules="item.rules"
> >
@ -59,18 +59,17 @@
:rules="item.rules" :rules="item.rules"
> >
<el-input <el-input
v-model="searchData[item.prop]" v-model="scope.row[item.prop]"
:maxlength="item.maxlength" :maxlength="item.maxlength"
:onkeyup="typeNumberOnkeyup(item,searchData[item.prop])" :onkeyup="typeNumberOnkeyup(item,item.prop,scope.$index)"
clearable clearable
:disabled="Boolean(item.disabled)" :disabled="Boolean(item.disabled)"
:placeholder="'请输入' + item.label" :placeholder="'请输入' + item.label"
:prefix-icon="item.icon" :prefix-icon="item.icon"
:show-password="item.showPassword" :show-password="item.showPassword"
@change="changeInput(item.prop,$event)"
@clear="clearInput(item.prop,$event)" @clear="clearInput(item.prop,$event)"
@blur=" @blur="
inputPlaceholder($event, item, 'blur',searchData) inputPlaceholder($event, item, 'blur',scope.row)
" "
@focus="inputPlaceholder($event, item, 'focus')" @focus="inputPlaceholder($event, item, 'focus')"
></el-input> ></el-input>
@ -436,26 +435,26 @@ export default {
}, },
methods: { methods: {
// type=input // type=input
itemOnKeyUp(item,value){ itemOnKeyUp(item,value,index){
if(item.onkeyup){ if(item.onkeyup){
return item.onkeyup() return item.onkeyup()
}else{ }else{
if(value && item.validType){ if(this.tableData[index][value] && item.validType){
this.searchData[item.prop]=getMatchRegConformValue(item.validType,value,item.pointNumberFixed) this.tableData[index][value]=getMatchRegConformValue(item.validType,this.tableData[index][value],item.pointNumberFixed)
} }
} }
}, },
// inputonkeyup // inputonkeyup
typeNumberOnkeyup(item,value){ typeNumberOnkeyup(item,value,index){
if(value){ if(this.tableData[index][value]){
let _match = String(value).match(/\d+/)// let _match = String(this.tableData[index][value]).match(/\d+/)//
this.searchData[item.prop] = _match?_match[0]:_match this.tableData[index][value] = _match?_match[0]:_match
} }
if(this.searchData[item.prop] > item.max){ if(this.tableData[index][value] > item.max){
this.searchData[item.prop] = item.max this.tableData[index][value] = item.max
} }
if(this.searchData[item.prop] && this.searchData[item.prop] < item.min){ if(this.tableData[index][value] && this.tableData[index][value] < item.min){
this.searchData[item.prop] = item.min this.tableData[index][value] = item.min
} }
if(item.onkeyup)item.onkeyup() if(item.onkeyup)item.onkeyup()
}, },
@ -509,8 +508,8 @@ export default {
func[item.prop]= Number(val.target.value) func[item.prop]= Number(val.target.value)
} }
// item.valueType // item.valueType
// ? (this.searchData[item.prop] = item.valueType( // ? (this.tableData[index][value] = item.valueType(
// this.searchData[item.prop] // this.tableData[index][value]
// )) // ))
// : () => { // : () => {
// return; // return;

11
fe/PC/src/components/importFile/index.vue

@ -7,7 +7,7 @@
:visible.sync="show" :visible.sync="show"
:append-to-body="true" :append-to-body="true"
:modal-append-to-body="false" :modal-append-to-body="false"
width="85%" width="800px"
:show-close="false" :show-close="false"
> >
<div class="body_header"> <div class="body_header">
@ -54,7 +54,7 @@
:append-to-body="true" :append-to-body="true"
:modal-append-to-body="false" :modal-append-to-body="false"
:show-close="false" :show-close="false"
width="85%" width="70%"
> >
<div > <div >
<el-table <el-table
@ -178,6 +178,7 @@ export default {
// this.$emit("isAllowPartImportChange", this.isAllowPartImportValue); // $emit // this.$emit("isAllowPartImportChange", this.isAllowPartImportValue); // $emit
// }, // },
readerData(rawFile) { readerData(rawFile) {
if (rawFile) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
const reader = new FileReader() const reader = new FileReader()
reader.onload = e => { reader.onload = e => {
@ -203,6 +204,7 @@ export default {
} }
reader.readAsArrayBuffer(rawFile) reader.readAsArrayBuffer(rawFile)
}) })
}
}, },
getHeaderRow(sheet) { getHeaderRow(sheet) {
const headers = [] const headers = []
@ -238,10 +240,15 @@ export default {
this.submiData(val) this.submiData(val)
} else { } else {
// //
//
if (val[1].fields[0].fieldValue[0]) {
this.previewShow = true this.previewShow = true
this.submitDataLS = val this.submitDataLS = val
// //
this.readerData(val[1].fields[0].fieldValue[0]) this.readerData(val[1].fields[0].fieldValue[0])
} else {
this.$message.error('请上传文件!');
}
} }
}, },
// //

6
fe/PC/src/components/umyTable/index.vue

@ -702,9 +702,9 @@ export default {
background: #f6f7fb !important; background: #f6f7fb !important;
border: none !important; border: none !important;
&:last-child{ // &:last-child{
background: unset !important; // background: unset !important;
} // }
} }
::v-deep .el-form-item__error{ ::v-deep .el-form-item__error{
position: relative; position: relative;

7
fe/PC/src/filters/index.js

@ -114,8 +114,15 @@ export function isTableColumns(data) {
return isData return isData
} }
/**
* @param {*} index 枚举值
* @param {*} text 枚举函数名称
* @param {*} prop 返回字段
* @param {*} type dictType
*/
export function trigger(index, text, prop, type) { export function trigger(index, text, prop, type) {
let Function = statusType.default[text] let Function = statusType.default[text]
if(!Function)return '无'
return Function(index, prop, type) return Function(index, prop, type)
} }
// 多数据源,集合 // 多数据源,集合

2
fe/PC/src/filters/options.js

@ -196,7 +196,7 @@ export function Roles(val){
// "CountPlan": "盘点计划", // "CountPlan": "盘点计划",
// "CountNote": "盘点记录", // "CountNote": "盘点记录",
// "CountAdjustNote": "盘点差异调整记录", // "CountAdjustNote": "盘点差异调整记录",
// "InspectNotice": "报检单", // "InspectRequest": "报检单",
// "InspectNote": "检验记录", // "InspectNote": "检验记录",
// "InspectAbnormalNote": "质量异常记录", // "InspectAbnormalNote": "质量异常记录",
// "ProductRecycleNote": "成品回收记录", // "ProductRecycleNote": "成品回收记录",

15
fe/PC/src/filters/status.js

@ -2135,6 +2135,21 @@ export function SupplierAsnCtypeStaBack(name){
} }
return Enum(type, index, prop) return Enum(type, index, prop)
} }
// 标签类型 下拉选择 使用位置 创建标签
export function labelTypeSelectOption(index, prop) {
let filter = {
1: {
label: "采购标签",
value: 1,
},
2: {
label: '生产标签',
value: 2,
},
}
return Enum(filter, index, prop)
}
// 菜单维护 // 菜单维护
/** /**

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

@ -151,8 +151,7 @@ export const TableHeaderMixins = {
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.httpOverallSearchData = null //清空全面筛选的回显数据 this.httpOverallSearchData = null //清空全面筛选的回显数据
if(searchOverallRef)searchOverallRef.changeMoreListShow(false)//关闭高级筛选 if(searchOverallRef)searchOverallRef.changeMoreListShow(false)//关闭高级筛选
// todo:getSupplierByCodes this.pagingCallback()
this.getSupplierByCodesHandle_table()
}).catch(err => { }).catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
}) })
@ -212,8 +211,7 @@ export const TableHeaderMixins = {
this.httpOverallSearchData = {} this.httpOverallSearchData = {}
this.httpOverallSearchData.params = JSON.parse(JSON.stringify(_data_primary)) this.httpOverallSearchData.params = JSON.parse(JSON.stringify(_data_primary))
this.httpOverallSearchData.moreList = JSON.parse(JSON.stringify(_data_moreList)) this.httpOverallSearchData.moreList = JSON.parse(JSON.stringify(_data_moreList))
console.log(this.httpOverallSearchData) this.pagingCallback()
this.getSupplierByCodesHandle_table()
}).catch(err => { }).catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
}) })

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

@ -47,7 +47,7 @@ export const tableMixins = {
getPageList(this.PageListParams, this.URL).then(res => { getPageList(this.PageListParams, this.URL).then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.getSupplierByCodesHandle_table() this.pagingCallback()
}).catch(err => { }).catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
}) })
@ -101,7 +101,7 @@ export const tableMixins = {
} else { } else {
this.propsData = res this.propsData = res
} }
this.getSupplierByCodesHandle_props() this.inlineDialogCallback()
}).catch(err => { }).catch(err => {
this.Loading.DrawerLoading = false this.Loading.DrawerLoading = false
}) })
@ -136,8 +136,6 @@ export const tableMixins = {
}, },
// 获取供应商信息过滤tableData // 获取供应商信息过滤tableData
getSupplierByCodesHandle_table() { getSupplierByCodesHandle_table() {
this.Loading.tableLoading = false
return
for(let i=0;i<this.tableColumns.length;i++){ for(let i=0;i<this.tableColumns.length;i++){
if(this.tableColumns[i].prop == 'supplierName' || this.tableColumns[i].prop == "supplierAddress"){ if(this.tableColumns[i].prop == 'supplierName' || this.tableColumns[i].prop == "supplierAddress"){
let _allSuCode = [] let _allSuCode = []
@ -175,8 +173,6 @@ export const tableMixins = {
}, },
// 获取供应商信息过滤propsData // 获取供应商信息过滤propsData
getSupplierByCodesHandle_props() { getSupplierByCodesHandle_props() {
this.Loading.DrawerLoading = false
return
for(let i=0;i<this.tabsDesTions.length;i++){ for(let i=0;i<this.tabsDesTions.length;i++){
if(!this.propsData.supplierCode){ if(!this.propsData.supplierCode){
this.Loading.DrawerLoading = false this.Loading.DrawerLoading = false
@ -248,6 +244,16 @@ export const tableMixins = {
this.Loading.appMainLoading = false this.Loading.appMainLoading = false
}); });
} }
},
// 主列表更新后全局通用操作
pagingCallback(){
this.Loading.tableLoading = false
// this.getSupplierByCodesHandle_table()
},
// 点击抽屉,获取明细后全局通用操作
inlineDialogCallback(){
this.Loading.DrawerLoading = false
// this.getSupplierByCodesHandle_props()
} }
} }
} }

14
fe/PC/src/mixins/mixins.js

@ -54,9 +54,10 @@ export const mixins = {
methods: { methods: {
// 结合默认及缓存中的列表tableColumns数据做初始化 // 结合默认及缓存中的列表tableColumns数据做初始化
initTableColumns(){ initTableColumns(){
let _list_defalut = this.$isTableColumns[this.$route.name]
if(!_list_defalut)return
let _local = localStorage.getItem('tableColumns_' + this.$store.getters.name.userName + '_' + this.$route.name) let _local = localStorage.getItem('tableColumns_' + this.$store.getters.name.userName + '_' + this.$route.name)
let _list_local = JSON.parse(localStorage.getItem('tableColumns_' + this.$store.getters.name.userName + '_' + this.$route.name)) let _list_local = JSON.parse(localStorage.getItem('tableColumns_' + this.$store.getters.name.userName + '_' + this.$route.name))
let _list_defalut = this.$isTableColumns[this.$route.name]
let _new_list = [] //格式化后的数据 let _new_list = [] //格式化后的数据
// 如果没有缓存则直接为默认值 // 如果没有缓存则直接为默认值
if(!_local){ if(!_local){
@ -165,6 +166,11 @@ export const mixins = {
}, },
//打印标签 //打印标签
Print(val) { Print(val) {
let that = this
if(!val){
that.$warningMsg('暂无可打印数据')
return
}
const loading = this.$loading({ const loading = this.$loading({
lock: true, lock: true,
text: 'Loading', text: 'Loading',
@ -175,8 +181,10 @@ export const mixins = {
// window.open(process.env.VUE_APP_PRINT_API + '/' + res) // window.open(process.env.VUE_APP_PRINT_API + '/' + res)
// window.open('http://10.74.150.81:9082' + '/' + res) // window.open('http://10.74.150.81:9082' + '/' + res)
//杭州 //杭州
const BaseURL = localStorage.getItem('base') + '/' + res // const BaseURL = localStorage.getItem('base') + '/' + res
window.open(BaseURL) // window.open(BaseURL)
const PrintURL = localStorage.getItem('print') + '/' + res
window.open(PrintURL)
loading.close() loading.close()
resolve() resolve()
}).catch(err => { }).catch(err => {

106
fe/PC/src/mixins/printMixin.js

@ -20,14 +20,15 @@ export function initPrintPackingCodeData(propsData,options,name,url){
propsData.details.forEach((item,key) => { propsData.details.forEach((item,key) => {
_printData["boxlabel"].push({ _printData["boxlabel"].push({
"title":propsData[_options.title] || propsData.title || "FATY 物品发运单",//title "title":propsData[_options.title] || propsData.title || "FATY 物品发运单",//title
"contacts": propsData[_options.contacts] || propsData.contacts,//客户名称 "supplierSimpleName": propsData[_options.supplierSimpleName] || propsData.supplierSimpleName,//供应商名称
"customerAddressCode":propsData[_options.customerAddressCode] || propsData.customerAddressCode,//客户地址
"supplierCode": propsData[_options.supplierCode] || propsData.supplierCode,//供应商代码 "supplierCode": propsData[_options.supplierCode] || propsData.supplierCode,//供应商代码
"supplierName": propsData[_options.supplierName] || propsData.supplierName,//供应商名称 "poNumber": propsData[_options.poNumber] || propsData.poNumber,//订单号
"asnNumber": propsData[_options.asnNumber] || propsData.asnNumber,//发货单号
"remark": propsData[_options.remark] || propsData.remark,//备注 "remark": propsData[_options.remark] || propsData.remark,//备注
"planArriveDate":propsData[_options.planArriveDate] || propsData.planArriveDate,//要求到货时间 "planArriveDate":propsData[_options.planArriveDate] || propsData.planArriveDate,//要求到货时间
"poNumber": propsData[_options.poNumber] || propsData.poNumber,//订单号? // "contacts": propsData[_options.contacts] || propsData.contacts,//客户名称 暂未使用
"asnNumber": propsData[_options.asnNumber] || propsData.asnNumber,//发货单号? // "customerAddressCode":propsData[_options.customerAddressCode] || propsData.customerAddressCode,//客户地址 暂未使用
// "supplierName": propsData[_options.supplierName] || propsData.supplierName,//供应商名称 暂未使用
"details": [ "details": [
{ {
"supplierItemName": item[_options.supplierItemName] || item.supplierItemName,//零件名(供应商零件名) "supplierItemName": item[_options.supplierItemName] || item.supplierItemName,//零件名(供应商零件名)
@ -36,53 +37,16 @@ export function initPrintPackingCodeData(propsData,options,name,url){
"produceDate": item[_options.produceDate] || item.produceDate,//生产时间 "produceDate": item[_options.produceDate] || item.produceDate,//生产时间
"lot": item[_options.lot] || item.lot,//生产批次 "lot": item[_options.lot] || item.lot,//生产批次
"locationErpCode": item[_options.locationErpCode] || item.locationErpCode,//储位 "locationErpCode": item[_options.locationErpCode] || item.locationErpCode,//储位
"itemName": item[_options.itemName] || item.itemName,//物品名称
"itemCode": item[_options.itemCode] || item.itemCode,//物品代码(ERP号) "itemCode": item[_options.itemCode] || item.itemCode,//物品代码(ERP号)
"stdPackQty": item[_options.stdPackQty] || item.stdPackQty,//整包数量 "qty": item[_options.qty] || item.qty,//要货数量 + 整包数量
"qty": item[_options.qty] || item.qty,//要货数量
"packingCode": item[_options.packingCode] || item.packingCode,//条形码 "packingCode": item[_options.packingCode] || item.packingCode,//条形码
"printIndex":item[_options.printIndex] || Number(key)+1,//打印序列 "printIndex":item[_options.printIndex] || Number(key)+1,//打印序列
// "itemName": item[_options.itemName] || item.itemName,//物品名称 暂未使用
// "stdPackQty": item[_options.stdPackQty] || item.stdPackQty,//整包数量 暂未使用
} }
], ],
// "asnNumber": propsData[_options.number] || propsData.number,
// "supplierCode": propsData[_options.supplierCode] || propsData.supplierCode,
// "supplierName": propsData[_options.supplierName] || propsData.supplierName,
// "timeWindow": propsData[_options.timeWindow] || propsData.timeWindow,
// "arriveTime": item[_options.arriveDate] || item.arriveDate,
// "details": [
// {
// "poNumber": item[_options.poNumber] || item.poNumber,
// "poLine":item[_options.poLine] || item.poLine,
// "qty": {
// "uom":item[_options.uom] || item.uom,//必填
// "qty": item[_options.qty] || item.qty,//必填
// },
// "packingCode": item[_options.packingCode] || item.packingCode,
// "containerCode": item[_options.containerCode] || item.containerCode,
// "lot": item[_options.lot] || item.lot,//必填
// "batch": {
// "supplierBatch": item[_options.supplierBatch] || item.supplierBatch,
// "produceDate": item[_options.produceDate] || item.produceDate,
// "expireDate": item[_options.expireDate] || item.expireDate,
// },
// "itemCode": item[_options.itemCode] || item.itemCode,//必填
// "item": {
// "id": item[_options.itemId] || item.itemId,
// "name": item[_options.itemName] || item.itemName,
// "desc1": item[_options.itemDesc1] || item.itemDesc1,
// "desc2": item[_options.itemDesc2] || item.itemDesc2,
// },
// "Elevel": null
// }
// ]
}) })
}); });
// let paramName = ''
// if (name) {
// paramName = localStorage.getItem('print') + '/' + name
// } else {
// paramName = localStorage.getItem('print') + '/' + 'xiangbq.rdlx'
// }
let data = { let data = {
reportName: name || 'xiangbq.rdlx', reportName: name || 'xiangbq.rdlx',
dataUrl: url || 'ccc', dataUrl: url || 'ccc',
@ -93,7 +57,7 @@ export function initPrintPackingCodeData(propsData,options,name,url){
// 打印【箱标签-单页4个】 (xiangbq_many.rdlx) // 打印【箱标签-单页4个】 (xiangbq_many.rdlx)
// 使用位置:半成品上架标签 (PartiallyPreparedProducts.vue) | 生产退库标签 (productionReturnLabel.vue) // 使用位置:半成品上架标签 (PartiallyPreparedProducts.vue) | 生产退库标签 (productionReturnLabel.vue)
// | 创建标签 (RecycledMaterialsLabel.vue) | 到货请求详情 (PurchaseReceiptRequest.vue) // | 创建标签 (RecycledMaterialsLabel.vue) | 到货请求 (PurchaseReceiptRequest.vue)
/** /**
* @param {*} propsData 必填 详情数据 示例this.propsData * @param {*} propsData 必填 详情数据 示例this.propsData
* @param {*} options 自定义特殊配置值 示例{'number':'poNumber'} (number值将传为poNumber) * @param {*} options 自定义特殊配置值 示例{'number':'poNumber'} (number值将传为poNumber)
@ -135,8 +99,8 @@ export function initPrintPackingCodeData(propsData,options,name,url){
_label['supplierSimpleName'+Number(key2 + 1)]= propsData[_options.supplierSimpleName] || propsData.supplierSimpleName,//供应商名称(简称) _label['supplierSimpleName'+Number(key2 + 1)]= propsData[_options.supplierSimpleName] || propsData.supplierSimpleName,//供应商名称(简称)
_label['remark'+Number(key2 + 1)]= propsData[_options.remark] || propsData.remark,//备注 _label['remark'+Number(key2 + 1)]= propsData[_options.remark] || propsData.remark,//备注
_label['planArriveDate'+Number(key2 + 1)]=propsData[_options.planArriveDate] || propsData.planArriveDate,//要求到货时间 _label['planArriveDate'+Number(key2 + 1)]=propsData[_options.planArriveDate] || propsData.planArriveDate,//要求到货时间
_label['poNumber'+Number(key2 + 1)]= propsData[_options.poNumber] || propsData.poNumber,//订单号 _label['poNumber'+Number(key2 + 1)]= propsData[_options.poNumber] || propsData.poNumber,//订单号
_label['asnNumber'+Number(key2 + 1)]= propsData[_options.asnNumber] || propsData.asnNumber,//发货单号 _label['asnNumber'+Number(key2 + 1)]= propsData[_options.asnNumber] || propsData.asnNumber,//发货单号
_label['supplierItemName'+Number(key2 + 1)] = item[_options.supplierItemName] || item2.supplierItemName;//零件名(供应商零件名) _label['supplierItemName'+Number(key2 + 1)] = item[_options.supplierItemName] || item2.supplierItemName;//零件名(供应商零件名)
_label['supplierItemCode'+Number(key2 + 1)] = item[_options.supplierItemCode] || item2.supplierItemCode;//零件号(供应商零件号) _label['supplierItemCode'+Number(key2 + 1)] = item[_options.supplierItemCode] || item2.supplierItemCode;//零件号(供应商零件号)
@ -145,20 +109,14 @@ export function initPrintPackingCodeData(propsData,options,name,url){
_label['lot'+Number(key2 + 1)] = item[_options.lot] || item2.lot;//生产批次 _label['lot'+Number(key2 + 1)] = item[_options.lot] || item2.lot;//生产批次
_label['locationErpCode'+Number(key2 + 1)] = item[_options.locationErpCode] || item2.locationErpCode;//储位 _label['locationErpCode'+Number(key2 + 1)] = item[_options.locationErpCode] || item2.locationErpCode;//储位
_label['itemCode'+Number(key2 + 1)] = item[_options.itemCode] || item2.itemCode;//物品代码(ERP号) _label['itemCode'+Number(key2 + 1)] = item[_options.itemCode] || item2.itemCode;//物品代码(ERP号)
_label['stdPackQty'+Number(key2 + 1)] = item[_options.stdPackQty] || item2.stdPackQty;//整包数量 // _label['stdPackQty'+Number(key2 + 1)] = item[_options.stdPackQty] || item2.stdPackQty;//整包数量 暂未使用
_label['qty'+Number(key2 + 1)] = item[_options.qty] || item2.qty;//要货数量 _label['qty'+Number(key2 + 1)] = item[_options.qty] || item2.qty;//要货数量 + 整包数量
_label['packingCode'+Number(key2 + 1)] = item[_options.packingCode] || item2.packingCode;//条形码 _label['packingCode'+Number(key2 + 1)] = item[_options.packingCode] || item2.packingCode;//条形码
_label['printIndex'+Number(key2 + 1)] = item[_options.printIndex] || item2.printIndex;//序号 _label['printIndex'+Number(key2 + 1)] = item[_options.printIndex] || item2.printIndex;//序号
_printData.boxlabel[_index] = _label _printData.boxlabel[_index] = _label
}) })
}) })
// let paramName = ''
// if (name) {
// paramName = localStorage.getItem('print') + '/' + name
// } else {
// paramName = localStorage.getItem('print') + '/' + 'xiangbq_many.rdlx'
// }
let data = { let data = {
reportName: name || 'xiangbq_many.rdlx', reportName: name || 'xiangbq_many.rdlx',
dataUrl: url || 'ccc', dataUrl: url || 'ccc',
@ -188,7 +146,7 @@ const printEnumOption = {
*/ */
// //
export function initPrintAllData(propsData,name,enumOption,options,url){ export function initPrintAllData(propsData,name,enumOption,options,url){
if(!propsData || propsData.details.length <= 0)return {} if(!propsData || propsData.details.length <= 0)return false
let _printData = {details:[]} let _printData = {details:[]}
let _outData = {} let _outData = {}
for(var key in propsData){ for(var key in propsData){
@ -203,17 +161,17 @@ const printEnumOption = {
propsData.details.forEach((item,key) => { propsData.details.forEach((item,key) => {
// 序号 // 序号
item.xh = Number(key) + 1; item.xh = Number(key) + 1;
// 转义字典
if(enumOption){
let _enumOption = (typeof enumOption == 'string') ? printEnumOption[enumOption] : enumOption
item[_enumOption.reportStr] = Enum(store.getters.dictionaries[_enumOption.staName], item[_enumOption.value] , _enumOption.label || 'label')
}
// 特殊配置 // 特殊配置
if(options && options.details){ if(options && options.details){
for(var op in options.details){ for(var op in options.details){
item[op] = item[options.details[op]] item[op] = item[options.details[op]]
} }
} }
// 转义字典
if(enumOption){
let _enumOption = (typeof enumOption == 'string') ? printEnumOption[enumOption] : enumOption
item[_enumOption.reportStr] = Enum(store.getters.dictionaries[_enumOption.staName], item[_enumOption.value] , _enumOption.label || 'label')
}
let _item = Object.assign({},item, _outData); let _item = Object.assign({},item, _outData);
_printData.details.push(_item) _printData.details.push(_item)
}); });
@ -228,26 +186,26 @@ const printEnumOption = {
// 当前模板数据 // 当前模板数据
/**todo:储位,预计量,字段确定 */ /**todo:储位,预计量,字段确定 */
// cgshd.rdlx 使用参数 // cgshd.rdlx 使用参数
// 使用位置:采购收货记录 (PurchaseReceiptNote-msQuery.vue) // 使用位置:采购收货记录-合格品收货明细tab页 (PurchaseReceiptNote-msQuery.vue)
// 发货单号:asnNumber; 制表日:creationTime; 供应商:supplierCode; 供应商简称:supplierShortName // 发货单号:asnNumber; 制表日:creationTime; 供应商:supplierCode; 供应商简称:supplierShortName
// 物品代码:itemCode; 物品名称:itemName; 箱码:packingCode; 单位:uom; 数量:qty; 状态:statusStr; 不合格原因:reasonStr; // 物品代码:itemCode; 物品名称:itemName; 箱码:packingCode; 单位:uom; 数量:qty; 状态:statusStr; 不合格原因:reasonStr;
// thd.rdlx 使用参数 // thd.rdlx 使用参数
// 使用位置:上架前退货记录 (beforeGroundingReturnNote.vue) | 上架后退货记录 (purchaseReturn => returnNote.vue) // 使用位置:上架前退货记录 (beforeGroundingReturnNote.vue) | 上架后退货记录 (purchaseReturn => returnNote.vue PurchaseReturnNote)
// 使用位置:采购收货记录-不合格品收货明细tab页 (PurchaseReceiptNote-msQuery.vue)
// 退货单号:number; 发货单号:asnNumber; 制表日:creationTime; 供应商:supplierCode; 供应商简称:supplierShortName // 退货单号:number; 发货单号:asnNumber; 制表日:creationTime; 供应商:supplierCode; 供应商简称:supplierShortName
// 物品代码:itemCode; 物品名称:itemName; 箱码:packingCode; 单位:uom; 数量:qty; 退货原因:reasonStr; // 物品代码:itemCode; 物品名称:itemName; 箱码:packingCode; 单位:uom; 数量:qty; 退货原因:reasonStr;
// lineSideWarehouse.rdlx 使用参数 // lineSideWarehouse.rdlx 使用参数
// 使用位置:线边仓调拨记录 (lineSideWarehouseAllocationNote.vue) // 使用位置:线边仓调拨记录 (lineSideWarehouseAllocationNote.vue)
// 调拨单号:number; 参考单据:requestNumber; 制表日:creationTime; 调拨部门:deptCode; 部门名称:deptName // 调拨单号:number; 参考单据:poNumber; 制表日:creationTime; 调拨部门:deptCode; 部门名称:deptName
// 物品代码:itemCode; 单位:uom; 预计调拨量:preQty; 调入储位:toLocationCode; 实际调拨量:qty; 调出储位:fromLocationCode; // 物品代码:itemCode; 单位:uom; 预计调拨量:preQty; 调入储位:toLocationCode; 实际调拨量:qty; 调出储位:fromLocationCode;
// fscll.rdlx | fsctl.rdlx 使用参数 // fscll.rdlx | fsctl.rdlx 使用参数
// 使用位置:非生产领料申请 (lineSideWarehouseAllocationNote.vue - fscll.rdlx) // 使用位置:非生产领料申请 (pickingRequest.vue - fscll.rdlx)
// 使用位置:非生产退料申请 (materialReturnRequest.vue - fsctl.rdlx) // 使用位置:非生产退料申请 (materialReturnRequest.vue - fsctl.rdlx)
// 单号:number; 制表日:creationTime; 部门代码:deptCode; 部门名称:deptName // 单号:number; 参考单据:?; 制表日:creationTime; 部门代码:deptCode; 部门名称:deptName; 项目分类名称:projCapacityName; 专案代码:caseCode; 说明:remark
// 物品代码:itemCode; 物品名称:itemName; 预计量:preQty; 实际量:qty; 单位:uom; 储位:locationCode; // 料品编号:itemCode; 品名:itemName; 单位:uom; 预计量:preQty; 实际量:qty; 储位:locationCode;
// 项目分类代码:projCapacityCode; 项目分类名称:projCapacityName; 专案代码:caseCode; 专案名称:caseName; 说明:remark
// cwdbd.rdlx 使用参数 // cwdbd.rdlx 使用参数
// 使用位置:储位调拨记录 (interStorageAllocationNote.vue) // 使用位置:储位调拨记录 (interStorageAllocationNote.vue)
@ -270,14 +228,14 @@ const printEnumOption = {
// 物品代码:itemCode; 物品名称:itemName; 储位:locationCode; 数量:adjustQty; 原因说明:reasonStr; 参考单据:requestNumber; // 物品代码:itemCode; 物品名称:itemName; 储位:locationCode; 数量:adjustQty; 原因说明:reasonStr; 参考单据:requestNumber;
// xbcll.rdlx 使用参数 // xbcll.rdlx 使用参数
// 使用位置:自动发料任务 (automaticCallJob-msQuery.vue) | 自动发料记录 (automaticCallNote.vue) // 使用位置:?自动发料任务 (automaticCallJob-msQuery.vue) | 自动发料记录 (automaticCallNote.vue)
// 使用位置:人工发料任务 (IssueJob.vue) | 人工发料记录 (IssueNote.vue) // 使用位置:人工发料任务 (IssueJob.vue) | 人工发料记录 (IssueNote.vue)
// 单号:number; 制表日:creationTime; 部门名称:deptName; // 单号:number; 制表日:creationTime; 部门名称:deptName;
// 物品代码:itemCode; 物品名称:itemName; 物品描述:itemDesc1; 零件号:itemCode; 来源库位:fromLocationCode; // 物品代码:itemCode; 物品名称:itemName; 物品描述:itemDesc1; 零件号:itemCode; 来源库位:fromLocationCode;
// 实际数量:qty; 单位:uom; 批次:fromLot; 调入储位:toLocationErpCode; 调出储位:fromLocationErpCode; // 实际数量:qty; 单位:uom; 批次:fromLot; 调入储位:toLocationErpCode; 调出储位:fromLocationErpCode;
// xbctl.rdlx 使用参数 xbctl.rdlx报表 和 xbcll.rdlx报表 目前字段相同,除了领/退字段 // xbctl.rdlx 使用参数 xbctl.rdlx报表 和 xbcll.rdlx报表 目前字段相同,除了领/退字段
// 使用位置:生产退库记录 (productionReturn => returnNote.vue) // 使用位置:生产退库记录 (productionReturn => returnNote.vue productionReturnNote)
// zjfl.rdlx 使用参数 // zjfl.rdlx 使用参数
// 使用位置:直接发料记录 (directIssueNote.vue) // 使用位置:直接发料记录 (directIssueNote.vue)
@ -286,14 +244,14 @@ const printEnumOption = {
// 实际数量:qty; 单位:uom; 批次:fromLot; 调入储位:toLocationErpCode; 调出储位:fromLocationErpCode; // 实际数量:qty; 单位:uom; 批次:fromLot; 调入储位:toLocationErpCode; 调出储位:fromLocationErpCode;
// hslrkd.rdlx 使用参数 // hslrkd.rdlx 使用参数
// 使用位置:回收料收货记录 (materialsReceipt.vue) // 使用位置:回收料收货记录 (materialsReceipt.vue recycledMaterialsReceipt)
// 入库单号:number; 制表日:creationTime; 入库日期:activeDate; 部门代码:deptCode; 部门名称:deptName; // 入库单号:number; 制表日:creationTime; 入库日期:activeDate; 部门代码:deptCode; 部门名称:deptName;
// 物品代码:itemCode; 物品名称:itemName; 物品描述1:itemDesc1; 物品描述2:itemDesc2; 数量:qty; 储位:locationErpCode; // 物品代码:itemCode; 物品名称:itemName; 物品描述1:itemDesc1; 物品描述2:itemDesc2; 数量:qty; 储位:locationErpCode;
// chdmxb.rdlx 使用参数 // chdmxb.rdlx 使用参数
// 使用位置:原料直发记录 (materialDirectSendNote.vue) // 使用位置:原料直发客户记录 (materialDirectSendNote.vue)
// 出货单号:number; 出货日期:deliverTime; 制表日:creationTime; 客户名称:customerCode; 客户地址:customerAddressCode; // 出货单号:number; 出货日期:deliverTime; 制表日:creationTime; 客户名称:customerCode; 客户地址:customerAddressCode;
// 序号:xh, 物品代码:itemCode; 物品名称:itemName; 单位:uom; 箱标签:packingCode, 出货数量:qty; 正厂编号:itemDesc2; // 序号:xh, 物品代码:itemCode; 物品名称:itemName; 单位:uom; 箱标签:packingCode, 出货数量:qty;
// ysd.rdlx 使用参数 // ysd.rdlx 使用参数
// 使用位置:采购上架记录 (PutawayNote.vue) // 使用位置:采购上架记录 (PutawayNote.vue)

1
fe/PC/src/styles/basicData.scss

@ -2,6 +2,7 @@
.page-box { .page-box {
@include appMainPage; @include appMainPage;
padding-top:20px; padding-top:20px;
position: relative;
::v-deep .v-modal { ::v-deep .v-modal {
z-index: 20 !important; z-index: 20 !important;

2303
fe/PC/src/utils/detailsTableColumns/index.js

File diff suppressed because it is too large

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

@ -386,12 +386,14 @@ export function removeClass(ele, cls) {
//返回 //返回
export function Enum(status, index, prop) { export function Enum(status, index, prop) {
let _no_text = '无'
if(!status)return _no_text
if (index != undefined) { //如果传入的是index if (index != undefined) { //如果传入的是index
if (prop === 'color') { if (prop === 'color') {
const domColor = status[index] ? status[index][prop] : "" const domColor = status[index] ? status[index][prop] : ""
return 'color:' + domColor return 'color:' + domColor
} else { } else {
const dom = status[index] ? status[index][prop] : "无" const dom = status[index] ? status[index][prop] : _no_text
return dom return dom
} }
} else { } else {
@ -492,7 +494,7 @@ export function getMatchRegConformValue(type,defaultValue,fixedNum){
// 字典格式化数据结构 // 字典格式化数据结构
export function dictFormatData() { export function dictFormatData() {
return new Promise(resolve => { return new Promise((resolve,reject) => {
let rs = [] let rs = []
let childRs = {} let childRs = {}
let param = { let param = {
@ -540,4 +542,7 @@ export function dictFormatData() {
// }) // })
// } // }
// 像接口传参时候需要补充.0000000 否则会报错情况下转义
export function initDataToHttpFormat (date) {
return date ? date + '.0000000' : undefined
}

2
fe/PC/src/utils/quicklySearchOption/index.js

@ -9,7 +9,7 @@
// 原料管理 // 原料管理
/**/ /**/
// 报检单 // 报检单
export const InspectNotice = { export const InspectRequest = {
// action:"==",//默认等于 // action:"==",//默认等于
prop:'asnNumber', prop:'asnNumber',
placeholder:'请输入发货单号', placeholder:'请输入发货单号',

2
fe/PC/src/utils/request.js

@ -91,7 +91,7 @@ service.interceptors.response.use(
}, },
error => { error => {
let err = error.response.data.error // for debug let err = error.response.data.error // for debug
if (err.validationErrors) { if (err && err.validationErrors) {
for (let item in err.validationErrors) { for (let item in err.validationErrors) {
Message({ Message({
message: err.validationErrors[item].message, message: err.validationErrors[item].message,

61
fe/PC/src/utils/summaryTableColumns/index.js

@ -3,25 +3,28 @@
const orderWidth = 180 const orderWidth = 180
// 原料管理 // 原料管理
/**/ /**/
// 报检单 已调整 // 报检单 20230410
export const InspectNotice = [ export const InspectRequest = [
// { label: "检验详情", fixed: "left", type: "button" },
{ label: "物品代码", prop: "itemCode" }, { label: "物品代码", prop: "itemCode" },
{ label: "物品名称", prop: "itemName" }, { label: "物品名称", prop: "itemName" },
{ label: "物品描述", prop: "itemDesc1" }, { label: "物品描述1", prop: "itemDesc1" },
{ label: "物品单位", prop: "receiveUom" }, { label: "物品描述2", prop: "itemDesc2" },
{ label: "生产批次", prop: "lot" }, { label: "生产批次", prop: "lot" },
{ label: "收货数量", prop: 'receiveQty' }, { label: "收货数量", prop: 'receiveQty' },
{ label: "检验数量", prop: 'inspectQty' }, { label: "检验数量", prop: 'inspectQty' },
{ label: "合格数量", prop: 'goodQty' }, { label: "合格数量", prop: 'goodQty' },
{ label: "不合格数量", prop: 'failedQty' }, { label: "不合格数量", prop: 'failedQty' },
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
{ label: "检验人", prop: 'inspectUser' },
{ label: "检验单号", prop: "number" },
{ label: "创建时间", prop: "creationTime",type: "dateTime" },
{ label: "创建者ID", prop: "creatorId" },
{ label: "状态", prop: "summaryInspectStatus", type: "filter", filters: "summaryInspectStatus" }, { label: "状态", prop: "summaryInspectStatus", type: "filter", filters: "summaryInspectStatus" },
{ label: "ABC类", prop: 'abcClass', type: "filter", filters: "abcClass" }, { label: "ABC类", prop: 'abcClass', type: "filter", filters: "abcClass" },
{ label: "完成时间", prop: "completeTime",type: "dateTime" },
{ label: "上次修改时间", prop: 'lastModificationTime', type: "dateTime" }, { label: "上次修改时间", prop: 'lastModificationTime', type: "dateTime" },
{ label: "上次修改者ID", prop: "lastModifierId" },
{ label: "备注", prop: 'remark' }, { label: "备注", prop: 'remark' },
{ label: "标包计量单位", prop: 'stdPackUom' }, { label: "计量单位", prop: 'uom' },
{ label: "标包数量", prop: 'stdPackQty' }, { label: "标包数量", prop: 'stdPackQty' },
{ label: "供应商批次", prop: 'supplierBatch' }, { label: "供应商批次", prop: 'supplierBatch' },
{ label: "到货时间", prop: 'arriveDate', type: "dateTime" }, { label: "到货时间", prop: 'arriveDate', type: "dateTime" },
@ -30,39 +33,35 @@ export const InspectNotice = [
{ label: "订单号", prop: 'poNumber',width: orderWidth }, { label: "订单号", prop: 'poNumber',width: orderWidth },
{ label: "订单行", prop: 'poLine' }, { label: "订单行", prop: 'poLine' },
{ label: "样品率", prop: 'samplePercent' }, { label: "样品率", prop: 'samplePercent' },
{ label: "不合格原因代码", prop: 'failedReason' },
{ label: "不合格原因", prop: 'failedReason', type: "filter", filters: "getDict" , dictType:"UnqualifiedReason" },
{ label: "破坏数量", prop: 'crackQty' }, { label: "破坏数量", prop: 'crackQty' },
{ label: "检验人姓名", prop: 'inspectUserName' },
{ label: "检验人电话", prop: 'inspectUserPhone' },
{ label: "检验人邮件", prop: 'inspectUserEmail' },
{ label: "最终不合格数量", prop: 'notPassedQty' }, { label: "最终不合格数量", prop: 'notPassedQty' },
{ label: "供应商包装计量单位", prop: 'supplierPackUom' },
{ label: "供应商包装数量", prop: 'supplierPackQty' },
{ label: "检验报告", prop: 'inspectReport' }, { label: "检验报告", prop: 'inspectReport' },
{ label: "inspectType", prop: 'inspectType' }, { label: "事务ID", prop: "tenantId" },
// ----------------------------------------------------------------------- { label: "检验类型", prop: "inspectType", type: "filter", filters: "inspectType" },
{ label: "不合格原因代码", prop: 'failedReason' },
{ label: "不合格原因", prop: 'failedReason', type: "filter", filters: "getDict" , dictType:"UnqualifiedReason" },
// ************** 确定隐藏 ************************
// { label: "ID", prop: 'id' },
// { label: "主表ID", prop: "masterID" },
// ************** 确定隐藏 ************************
] ]
// 检验记录 字段需要确定 // 检验记录 字段需要确定
export const InspectNote = [ export const InspectNote = [
{ label: "物品代码", prop: "itemCode", fixed: "left" }, { label: "物品代码", prop: "itemCode", fixed: "left" },
{ label: "物品名称", prop: "itemName" }, { label: "物品名称", prop: "itemName" },
{ label: "物品描述", prop: "itemDesc1" }, { label: "物品描述1", prop: "itemDesc1" },
{ label: "物品单位", prop: 'receiveUom' }, { label: "物品描述2", prop: "itemDesc2" },
{ label: "生产批次", prop: "lot" }, { label: "生产批次", prop: "lot" },
{ label: "计量单位", prop: 'uom' },
{ label: "收货数量", prop: 'receiveQty' }, { label: "收货数量", prop: 'receiveQty' },
{ label: "检验数量", prop: 'inspectQty' }, { label: "检验数量", prop: 'inspectQty' },
{ label: "合格数量", prop: 'goodQty' }, { label: "合格数量", prop: 'goodQty' },
{ label: "不合格数量", prop: 'failedQty' }, { label: "不合格数量", prop: 'failedQty' },
{ label: "外观", prop: 'appearance' }, { label: "检验人", prop: 'inspectUser' },
{ label: "尺寸", prop: 'volume' }, { label: "不合格原因代码", prop: 'failedReason' },
{ label: "重量", prop: 'weight' }, { label: "不合格原因", prop: 'failedReason', type: "filter", filters: "getDict", dictType: "UnqualifiedReason" },
// { label: "不合格原因代码", prop: 'failedReason' },
// { label: "不合格原因", prop: 'failedReason', type: "filter", filters: "getDict", dictType: "UnqualifiedReason" },
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
{ label: "单据号", prop: "number" }, { label: "单据号", prop: "number" },
{ label: "物品描述2", prop: "itemDesc2" },
{ label: "创建时间", prop: "completeTime",type: "dateTime" },
{ label: "创建时间", prop: "creationTime", type: "dateTime" }, { label: "创建时间", prop: "creationTime", type: "dateTime" },
{ label: "创建者ID", prop: 'creatorId' }, { label: "创建者ID", prop: 'creatorId' },
{ label: "上次修改时间", prop: 'lastModificationTime', type: "dateTime" }, { label: "上次修改时间", prop: 'lastModificationTime', type: "dateTime" },
@ -74,16 +73,14 @@ export const InspectNote = [
{ label: "过期时间", prop: 'expireDate', type: "dateTime" }, { label: "过期时间", prop: 'expireDate', type: "dateTime" },
{ label: "订单号", prop: 'poNumber' }, { label: "订单号", prop: 'poNumber' },
{ label: "订单行", prop: 'poLine' }, { label: "订单行", prop: 'poLine' },
{ label: "标包计量单位", prop: 'stdPackUom' },
{ label: "标包数量", prop: 'stdPackQty' }, { label: "标包数量", prop: 'stdPackQty' },
{ label: "样品率", prop: 'samplePercent' }, { label: "样品率", prop: 'samplePercent' },
{ label: "破坏数量", prop: 'crackQty' }, { label: "破坏数量", prop: 'crackQty' },
{ label: "最终不合格数量", prop: 'notPassedQty' }, { label: "最终不合格数量", prop: 'notPassedQty' },
{ label: "事务ID", prop: "tenantId" }, { label: "事务ID", prop: "tenantId" },
{ label: "检验人邮件", prop: 'inspectUserEmail' }, { label: "检验类型", prop: "inspectType", type: "filter", filters: "inspectType" },
{ label: "检验人姓名", prop: 'inspectUserName' }, // ************** 确定隐藏 ************************
{ label: "检验人电话", prop: 'inspectUserPhone' }, // { label: "masterID", prop: "masterID" },
{ label: "inspectType", prop: 'inspectType' }, // { label: "ID", prop: "id" },
{ label: "masterID", prop: "masterID" }, // ************** 确定隐藏 ************************
// -----------------------------------------------------------------------
] ]

1256
fe/PC/src/utils/tableColumns/index.js

File diff suppressed because it is too large

1512
fe/PC/src/utils/tabsDesTions/index.js

File diff suppressed because it is too large

23
fe/PC/src/views/basicData/ItemsManage/ItemPack.vue

@ -114,6 +114,13 @@ export default {
}, },
}, },
data () { data () {
const validateQty = (rule, value, callback) => {
if (value <= 0) {
callback(new Error('最小值为1'))
} else {
callback()
}
}
return { return {
URL: 'basedata/item-pack', URL: 'basedata/item-pack',
// //
@ -131,7 +138,7 @@ export default {
packName: null, packName: null,
packType: "EA", packType: "EA",
basicUom: null, basicUom: null,
qty: 0, qty: null,
packCode: null, packCode: null,
itemCode: null, itemCode: null,
}, },
@ -143,7 +150,7 @@ export default {
packName: null, packName: null,
packType: "EA", packType: "EA",
basicUom: null, basicUom: null,
qty: 0, qty: null,
concurrencyStamp: null, concurrencyStamp: null,
}, },
editOptions: {}, editOptions: {},
@ -154,7 +161,7 @@ export default {
{ type: "filterSelect", label: "物品代码", prop: "itemCode", optionsLabel: "name", optionsValue: "code", { type: "filterSelect", label: "物品代码", prop: "itemCode", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/Item-Basic")}, focus: (type,val) => { return this.getFilterList(type, val, "basedata/Item-Basic")},
searchButton: (val) => { this.showSerarchPage(val, 'basedata/Item-Basic', 'ItemBasic', '物品选择', this.CreateFormData) }, colSpan: 12 }, searchButton: (val) => { this.showSerarchPage(val, 'basedata/Item-Basic', 'ItemBasic', '物品选择', this.CreateFormData) }, colSpan: 12 },
{ type: "input", label: "包装数量", prop: "qty", colSpan: 12, validType:'number' }, { type: "inputNumber", label: "包装数量", prop: "qty", colSpan: 12, min:1 },
{ type: "input", label: "包装计量单位", prop: "basicUom", colSpan: 12, validType:'letter' }, { type: "input", label: "包装计量单位", prop: "basicUom", colSpan: 12, validType:'letter' },
{ type: "input", label: "备注", prop: 'remark', colSpan: 12 }, { type: "input", label: "备注", prop: 'remark', colSpan: 12 },
], ],
@ -163,7 +170,7 @@ export default {
{ type: "input", label: "包装名称", prop: "packName", colSpan: 12 }, { type: "input", label: "包装名称", prop: "packName", colSpan: 12 },
{ type: "select", label: "包装类型", prop: "packType", options: "qtyUomType", clearable: true, filterable: true, allowCreate: true, colSpan: 12 }, { type: "select", label: "包装类型", prop: "packType", options: "qtyUomType", clearable: true, filterable: true, allowCreate: true, colSpan: 12 },
{ type: "input", label: "物品代码", prop: "itemCode", disabled:true, colSpan: 12 }, { type: "input", label: "物品代码", prop: "itemCode", disabled:true, colSpan: 12 },
{ type: "input", label: "包装数量", prop: "qty", colSpan: 12, validType:'number' }, { type: "inputNumber", label: "包装数量", prop: "qty", colSpan: 12, min:1 },
{ type: "input", label: "包装计量单位", prop: "basicUom", colSpan: 12, validType:'letter' }, { type: "input", label: "包装计量单位", prop: "basicUom", colSpan: 12, validType:'letter' },
{ type: "input", label: "备注", prop: 'remark', colSpan: 12 }, { type: "input", label: "备注", prop: 'remark', colSpan: 12 },
], ],
@ -173,6 +180,10 @@ export default {
itemCode: [{ required: true, trigger: "change", message: "不可为空" }], itemCode: [{ required: true, trigger: "change", message: "不可为空" }],
packQty: [{ required: true, trigger: "blur", message: "不可为空" }], packQty: [{ required: true, trigger: "blur", message: "不可为空" }],
packUom: [{ required: true, trigger: "blur", message: "不可为空" }], packUom: [{ required: true, trigger: "blur", message: "不可为空" }],
qty: [
{ required: true, trigger: "blur", message: "不可为空且最小值为1" },
{ required: true, trigger: 'blur', validator: validateQty }
],
conversionRate: [{ required: true, trigger: "blur", message: "不可为空" }], conversionRate: [{ required: true, trigger: "blur", message: "不可为空" }],
}, },
editRule: { editRule: {
@ -180,6 +191,10 @@ export default {
itemCode: [{ required: true, trigger: "change", message: "不可为空" }], itemCode: [{ required: true, trigger: "change", message: "不可为空" }],
packQty: [{ required: true, trigger: "blur", message: "不可为空" }], packQty: [{ required: true, trigger: "blur", message: "不可为空" }],
packUom: [{ required: true, trigger: "blur", message: "不可为空" }], packUom: [{ required: true, trigger: "blur", message: "不可为空" }],
qty: [
{ required: true, trigger: "blur", message: "不可为空且最小值为1" },
{ required: true, trigger: 'blur', validator: validateQty }
],
conversionRate: [{ required: true, trigger: "blur", message: "不可为空" }], conversionRate: [{ required: true, trigger: "blur", message: "不可为空" }],
} }
}, },

2
fe/PC/src/views/finishedProductManage/deliver/DeliverJob-msQuery.vue

@ -105,7 +105,7 @@ export default {
}, },
data () { data () {
return { return {
URL: 'wms/job/deliver-job', URL: 'wms/store/deliver-job',
// //
currenButtonData: [ currenButtonData: [
this.defaultFieldSettingBtn(),// this.defaultFieldSettingBtn(),//

2
fe/PC/src/views/finishedProductManage/deliver/DeliverNote-Query.vue

@ -87,7 +87,7 @@ export default {
.then(res => { .then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.getSupplierByCodesHandle_table() this.pagingCallback()
}) })
.catch(err => { .catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false

2
fe/PC/src/views/finishedProductManage/deliver/FISDeliverNote-Query.vue

@ -86,7 +86,7 @@ export default {
.then(res => { .then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.getSupplierByCodesHandle_table() this.pagingCallback()
}) })
.catch(err => { .catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false

7
fe/PC/src/views/finishedProductManage/dismantle/customerDismantleNote.vue

@ -109,7 +109,7 @@ export default {
item.preStartTime = item.noteAndBackFlushDetails[0].preStartTime item.preStartTime = item.noteAndBackFlushDetails[0].preStartTime
item.workHour = item.noteAndBackFlushDetails[0].workHour item.workHour = item.noteAndBackFlushDetails[0].workHour
}) })
this.getSupplierByCodesHandle_table() this.pagingCallback()
}) })
.catch(err => { .catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
@ -117,6 +117,7 @@ export default {
}, },
//Table //Table
inlineDialog(val) { inlineDialog(val) {
this.firstTabs = 'xq'
// //
this.Loading.DrawerLoading = true this.Loading.DrawerLoading = true
this.displayDialog.detailsDialog = true; this.displayDialog.detailsDialog = true;
@ -133,13 +134,15 @@ export default {
} else { } else {
this.propsData = res this.propsData = res
} }
if (this.propsData.noteAndBackFlushDetails.length > 0) {
this.propsData.itemCode = this.propsData.noteAndBackFlushDetails[0].itemCode this.propsData.itemCode = this.propsData.noteAndBackFlushDetails[0].itemCode
this.propsData.locationCode = this.propsData.noteAndBackFlushDetails[0].locationCode this.propsData.locationCode = this.propsData.noteAndBackFlushDetails[0].locationCode
this.propsData.qty = this.propsData.noteAndBackFlushDetails[0].qty this.propsData.qty = this.propsData.noteAndBackFlushDetails[0].qty
this.propsData.rawLocationCode = this.propsData.noteAndBackFlushDetails[0].rawLocationCode this.propsData.rawLocationCode = this.propsData.noteAndBackFlushDetails[0].rawLocationCode
this.propsData.preStartTime = this.propsData.noteAndBackFlushDetails[0].preStartTime this.propsData.preStartTime = this.propsData.noteAndBackFlushDetails[0].preStartTime
this.propsData.workHour = this.propsData.noteAndBackFlushDetails[0].workHour this.propsData.workHour = this.propsData.noteAndBackFlushDetails[0].workHour
this.getSupplierByCodesHandle_props() }
this.inlineDialogCallback()
}) })
.catch(err => { .catch(err => {
this.Loading.DrawerLoading = false this.Loading.DrawerLoading = false

4
fe/PC/src/views/finishedProductManage/dismantle/customerDismantleRequest.vue

@ -123,7 +123,7 @@ export default {
item.preStartTime = item.details[0].preStartTime item.preStartTime = item.details[0].preStartTime
item.workHour = item.details[0].workHour item.workHour = item.details[0].workHour
}) })
this.getSupplierByCodesHandle_table() this.pagingCallback()
}) })
.catch(err => { .catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
@ -151,7 +151,7 @@ export default {
this.propsData.rawLocationCode = this.propsData.details[0].rawLocationCode this.propsData.rawLocationCode = this.propsData.details[0].rawLocationCode
this.propsData.preStartTime = this.propsData.details[0].preStartTime this.propsData.preStartTime = this.propsData.details[0].preStartTime
this.propsData.workHour = this.propsData.details[0].workHour this.propsData.workHour = this.propsData.details[0].workHour
this.getSupplierByCodesHandle_props() this.inlineDialogCallback()
}).catch(err => { }).catch(err => {
this.Loading.DrawerLoading = false this.Loading.DrawerLoading = false
}) })

2
fe/PC/src/views/finishedProductManage/partiallyPreparedProducts/partiallyPreparedProductsNote.vue

@ -90,7 +90,7 @@ export default {
.then(res => { .then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.getSupplierByCodesHandle_table() this.pagingCallback()
}).catch(err => { }).catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
}) })

2
fe/PC/src/views/finishedProductManage/productReceipt/ProductReceiptRequest.vue

@ -124,7 +124,7 @@ export default {
materialRequestByType(this.PageListParams, this.URL + '/by-type', params).then(res => { materialRequestByType(this.PageListParams, this.URL + '/by-type', params).then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.getSupplierByCodesHandle_table() this.pagingCallback()
}).catch(err => { }).catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
}) })

19
fe/PC/src/views/finishedProductManage/productReceipt/ProductReceiptScrapNote.vue

@ -46,6 +46,7 @@
</div> </div>
</template> </template>
<script> <script>
import { materialRequestByType } from '@/api/wms-api'
import { tableMixins } from "@/mixins/TableMixins" import { tableMixins } from "@/mixins/TableMixins"
import { LoadingMixins } from "@/mixins/LoadingMixins" import { LoadingMixins } from "@/mixins/LoadingMixins"
import { drawerMixins } from "@/mixins/drawerMixins" import { drawerMixins } from "@/mixins/drawerMixins"
@ -75,6 +76,24 @@ export default {
mounted () { mounted () {
this.paging(); this.paging();
}, },
methods: {
//
paging() {
this.Loading.tableLoading = true;
this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount
// : :Scrap_Manual; 线:Scrap_WIP; :Scrap_Product
let params = {
type: 'Scrap_Product'
}
materialRequestByType(this.PageListParams, this.URL + '/by-type', params).then(res => {
this.tableData = res.items
this.totalCount = res.totalCount
this.pagingCallback()
}).catch(err => {
this.Loading.tableLoading = false
})
}
},
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>

19
fe/PC/src/views/finishedProductManage/productReceipt/ProductReceiptScrapRequest.vue

@ -60,6 +60,7 @@
</div> </div>
</template> </template>
<script> <script>
import { materialRequestByType } from '@/api/wms-api'
import { tableMixins } from "@/mixins/TableMixins" import { tableMixins } from "@/mixins/TableMixins"
import { LoadingMixins } from "@/mixins/LoadingMixins" import { LoadingMixins } from "@/mixins/LoadingMixins"
import { drawerMixins } from "@/mixins/drawerMixins" import { drawerMixins } from "@/mixins/drawerMixins"
@ -112,6 +113,24 @@ export default {
mounted () { mounted () {
this.paging(); this.paging();
}, },
methods: {
//
paging() {
this.Loading.tableLoading = true;
this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount
// : :Scrap_Manual; 线:Scrap_WIP; :Scrap_Product
let params = {
type: 'Scrap_Product'
}
materialRequestByType(this.PageListParams, this.URL + '/by-type', params).then(res => {
this.tableData = res.items
this.totalCount = res.totalCount
this.pagingCallback()
}).catch(err => {
this.Loading.tableLoading = false
})
}
},
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>

2
fe/PC/src/views/finishedProductManage/productionReturn/returnJob.vue

@ -83,7 +83,7 @@ export default {
}, },
data () { data () {
return { return {
URL: 'wms/job/production-return-job', URL: 'wms/store/production-return-job',
// //
currenButtonData: [ currenButtonData: [
this.defaultFieldSettingBtn(),// this.defaultFieldSettingBtn(),//

2
fe/PC/src/views/inventoryManage/Count/CountJob-msQuery.vue

@ -90,7 +90,7 @@ export default {
}, },
data () { data () {
return { return {
URL: 'wms/job/count-job', URL: 'wms/store/count-job',
// //
currenButtonData: [ currenButtonData: [
this.defaultExportBtn(),// this.defaultExportBtn(),//

178
fe/PC/src/views/inventoryManage/InventoryQuery/InventoryBalance.vue

@ -25,7 +25,7 @@
> >
</tablePagination> </tablePagination>
<!-- 新增与编辑 --> <!-- 新增与编辑 -->
<newAndEdiDialog <!-- <newAndEdiDialog
:loading="Loading.newAndEdiLoading" :loading="Loading.newAndEdiLoading"
:active="active" :active="active"
:pageStatus="pageStatus" :pageStatus="pageStatus"
@ -40,7 +40,7 @@
@FormSubmit="FormClick(arguments)" @FormSubmit="FormClick(arguments)"
@close="FormClose" @close="FormClose"
@goBack="goBack" @goBack="goBack"
></newAndEdiDialog> ></newAndEdiDialog> -->
<!-- 新导入 disabledMethod 导入方式禁用 disabledIsAllowPartImport 是否局部导入禁用--> <!-- 新导入 disabledMethod 导入方式禁用 disabledIsAllowPartImport 是否局部导入禁用-->
<!-- methodValue 导入方式默认选项 是否局部导入 默认选项 --> <!-- methodValue 导入方式默认选项 是否局部导入 默认选项 -->
<importFile <importFile
@ -121,51 +121,51 @@ export default {
}, },
], ],
// //
editFormData: { // editFormData: {
id: null, // id: null,
itemCode: null, // itemCode: null,
itemName: null, // itemName: null,
itemDesc1: null, // itemDesc1: null,
itemDesc2: null, // itemDesc2: null,
produceDate: null, // produceDate: null,
expireDate: null, // expireDate: null,
locationCode: null, // locationCode: null,
status: 1, // status: 1,
lot: true, // lot: true,
packingCode: true, // packingCode: true,
containerCode: null, // containerCode: null,
qty: null, // qty: null,
locationArea: null, // locationArea: null,
locationGroup: null, // locationGroup: null,
locationErpCode: null, // locationErpCode: null,
putInTime: null, // putInTime: null,
}, // },
editOptions: {}, // editOptions: {},
CreateForm: [ // CreateForm: [
{ type: "input", label: "箱标签", prop: 'packingCode', colSpan: 12 }, // { type: "input", label: "", prop: 'packingCode', colSpan: 12 },
{ type: "input", label: "排序依次", prop: 'sortingBase', colSpan: 12 }, // { type: "input", label: "", prop: 'sortingBase', colSpan: 12 },
{ type: "input", label: "序号", prop: 'serialNumber', colSpan: 12 }, // { type: "input", label: "", prop: 'serialNumber', colSpan: 12 },
{ type: "input", label: "最后盘点计划", prop: 'lastCountPlanNumber', colSpan: 12 }, // { type: "input", label: "", prop: 'lastCountPlanNumber', colSpan: 12 },
{ type: "input", label: "最后盘点标签", prop: 'lastCountLabel', colSpan: 12 }, // { type: "input", label: "", prop: 'lastCountLabel', colSpan: 12 },
{ type: "input", label: "物品代码", prop: 'itemCode', colSpan: 12 }, // { type: "input", label: "", prop: 'itemCode', colSpan: 12 },
{ type: "input", label: "批次编号", prop: 'batchCode', colSpan: 12 }, // { type: "input", label: "", prop: 'batchCode', colSpan: 12 },
{ type: "input", label: "备注", prop: 'remark', colSpan: 12 }, // { type: "input", label: "", prop: 'remark', colSpan: 12 },
], // ],
editForm: [ // editForm: [
{ type: "input", label: "物品代码", prop: "itemCode", disabled:true, colSpan: 12 }, // { type: "input", label: "", prop: "itemCode", disabled:true, colSpan: 12 },
{ type: "input", label: "物品名称", prop: "itemName", disabled:true, colSpan: 12 }, // { type: "input", label: "", prop: "itemName", disabled:true, colSpan: 12 },
{ type: "input", label: "库位代码", prop: "locationCode", disabled:true, colSpan: 12 }, // { type: "input", label: "", prop: "locationCode", disabled:true, colSpan: 12 },
{ type: "input", label: "批次", prop: "lot", disabled:true, colSpan: 12 }, // { type: "input", label: "", prop: "lot", disabled:true, colSpan: 12 },
{ type: "input", label: "箱标签", prop: "packingCode", disabled:true, colSpan: 12 }, // { type: "input", label: "", prop: "packingCode", disabled:true, colSpan: 12 },
{ type: "input", label: "库区", prop: "locationArea", disabled:true, colSpan: 12 }, // { type: "input", label: "", prop: "locationArea", disabled:true, colSpan: 12 },
{ type: "input", label: "库位组", prop: "locationGroup", disabled:true, colSpan: 12 }, // { type: "input", label: "", prop: "locationGroup", disabled:true, colSpan: 12 },
{ type: "dateTime", label: "入库时间", prop: "putInTime", disabled:true, colSpan: 12 }, // { type: "dateTime", label: "", prop: "putInTime", disabled:true, colSpan: 12 },
{ type: "dateTime", label: "生产日期", prop: "produceDate", disabled:true, colSpan: 12 }, // { type: "dateTime", label: "", prop: "produceDate", disabled:true, colSpan: 12 },
{ type: "dateTime", label: "过期日期", prop: "expireDate", colSpan: 12 }, // { type: "dateTime", label: "", prop: "expireDate", colSpan: 12 },
], // ],
editRules: { // editRules: {
expireDate: [{ required: true, trigger: "blur", message: "不可为空" }], // expireDate: [{ required: true, trigger: "blur", message: "" }],
}, // },
}; };
}, },
mounted () { mounted () {
@ -181,7 +181,7 @@ export default {
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
this.Loading.appMainLoading = true this.Loading.appMainLoading = true
inventoryBalanceActive(this.propsData.id).then(res => { inventoryBalanceActive({id: this.propsData.id}).then(res => {
this.$successMsg('启用成功!') this.$successMsg('启用成功!')
this.Loading.appMainLoading = false this.Loading.appMainLoading = false
this.displayDialog.detailsDialog = false this.displayDialog.detailsDialog = false
@ -199,48 +199,48 @@ export default {
} }
}, },
// 0 // 0
drawerHandle(val) { // drawerHandle(val) {
if (val == 'delete') { // if (val == 'delete') {
if (this.propsData.qty == '0') { // if (this.propsData.qty == '0') {
this.$confirm('此操作将永久删除该消息, 是否继续?', '提示', { // this.$confirm(', ?', '', {
confirmButtonText: '确定', // confirmButtonText: '',
cancelButtonText: '取消', // cancelButtonText: '',
type: 'warning' // type: 'warning'
}).then(() => { // }).then(() => {
this.Loading.appMainLoading = true // this.Loading.appMainLoading = true
this.displayDialog.detailsDialog = false // this.displayDialog.detailsDialog = false
postDelete(this.propsData.id, this.URL).then(res => { // postDelete(this.propsData.id, this.URL).then(res => {
this.$successMsg('删除成功!') // this.$successMsg('!')
this.Loading.appMainLoading = false // this.Loading.appMainLoading = false
this.paging() // this.paging()
}).catch(err => { // }).catch(err => {
this.Loading.appMainLoading = false // this.Loading.appMainLoading = false
}) // })
}).catch(() => { // }).catch(() => {
}); // });
} else { // } else {
this.$message({ // this.$message({
message: "只能删除库存数量为 0 的记录!!", // message: " 0 ",
type: "warning", // type: "warning",
}); // });
} // }
} // }
}, // },
//() //()
FormClick (val) { // FormClick (val) {
let params = { // let params = {
id: this.editFormData.id, // id: this.editFormData.id,
expireDate: this.editFormData.expireDate // expireDate: this.editFormData.expireDate
} // }
updateExpireDate(params, this.URL).then( res => { // updateExpireDate(params, this.URL).then( res => {
this.displayDialog.editDialog = false // this.displayDialog.editDialog = false
this.$message.success("修改成功!"); // this.$message.success("");
this.paging(); // this.paging();
}).catch( err => { // }).catch( err => {
this.$message.success("修改失败!"); // this.$message.success("");
console.log(err) // console.log(err)
}) // })
} // }
}, },
}; };
</script> </script>

17
fe/PC/src/views/inventoryManage/InventoryQuery/InventoryTransferLog-Query.vue

@ -192,7 +192,9 @@ export default {
{label: "批次", prop: "lot", width:'110px'}, {label: "批次", prop: "lot", width:'110px'},
{type: "filter", filters: "inventoryStage", label: "状态", prop: "status", width:'80px'}, {type: "filter", filters: "inventoryStage", label: "状态", prop: "status", width:'80px'},
{label: "单位", prop: "uom", width:'80px'}, {label: "单位", prop: "uom", width:'80px'},
{type: "input", valueType: Number, label: "数量", prop: "qty" }, // {type: "input", label: "", prop: "qty", validType:'number' },
{type: "inputNumber", label: "数量", prop: "qty" },
], ],
editRules: { editRules: {
cerateRule: { cerateRule: {
@ -254,6 +256,7 @@ export default {
} }
}, },
FormClick(val) { FormClick(val) {
//
if (val[0] == 0) { if (val[0] == 0) {
this.CreateFormData = { this.CreateFormData = {
clearPackCode: null, clearPackCode: null,
@ -269,7 +272,9 @@ export default {
toLocationCode: null, toLocationCode: null,
details:[] details:[]
} }
} else if (val[0] == 1) { }
//
else if (val[0] == 1) {
this.editRules.cerateRule.toLocationCode[0].required = false this.editRules.cerateRule.toLocationCode[0].required = false
val[1].validate((valid) => { val[1].validate((valid) => {
if (valid) { if (valid) {
@ -327,7 +332,9 @@ export default {
this.$errorMsg('请检查表单') this.$errorMsg('请检查表单')
} }
}) })
} else { }
//
else {
this.editRules.cerateRule.toLocationCode[0].required = true this.editRules.cerateRule.toLocationCode[0].required = true
val[1].validate((valid) => { val[1].validate((valid) => {
if (valid) { if (valid) {
@ -366,6 +373,9 @@ export default {
item.fromStatus = item.status item.fromStatus = item.status
item.toStatus = item.status item.toStatus = item.status
item.checked = true item.checked = true
// 20230410
item.toLocationErpCode = item.locationErpCode
item.fromLocationErpCode = item.locationErpCode
}) })
let params = { let params = {
worker: store.getters.name.userName, worker: store.getters.name.userName,
@ -404,7 +414,6 @@ export default {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
width: 100%; width: 100%;
height: 100%;
.el-form { .el-form {
flex: 1; flex: 1;
display: flex; display: flex;

2
fe/PC/src/views/inventoryManage/customerStorageAllocation/customerStorageAllocationConfirm.vue

@ -150,7 +150,7 @@ export default {
getPageListWip(this.PageListParams, 'wms/store/transfer-note/get-custom-loc-list').then(res => { getPageListWip(this.PageListParams, 'wms/store/transfer-note/get-custom-loc-list').then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.getSupplierByCodesHandle_table() this.pagingCallback()
}).catch(err => { }).catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
}) })

2
fe/PC/src/views/inventoryManage/customerStorageAllocation/customerStorageAllocationNote.vue

@ -113,7 +113,7 @@ export default {
getPageListWip(this.PageListParams, 'wms/store/transfer-note/get-custom-loc-list').then(res => { getPageListWip(this.PageListParams, 'wms/store/transfer-note/get-custom-loc-list').then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.getSupplierByCodesHandle_table() this.pagingCallback()
}).catch(err => { }).catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
}) })

2
fe/PC/src/views/inventoryManage/customerStorageAllocation/customerStorageAllocationRequest.vue

@ -115,7 +115,7 @@ export default {
getPageListWip(this.PageListParams, 'wms/store/transfer-request/get-custom-loc-list').then(res => { getPageListWip(this.PageListParams, 'wms/store/transfer-request/get-custom-loc-list').then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.getSupplierByCodesHandle_table() this.pagingCallback()
}).catch(err => { }).catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
}) })

2
fe/PC/src/views/inventoryManage/interStorageAllocation/interStorageAllocationNote.vue

@ -113,7 +113,7 @@ export default {
getPageListWip(this.PageListParams, 'wms/store/transfer-note/get-erp-loc-list').then(res => { getPageListWip(this.PageListParams, 'wms/store/transfer-note/get-erp-loc-list').then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.getSupplierByCodesHandle_table() this.pagingCallback()
}).catch(err => { }).catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
}) })

2
fe/PC/src/views/inventoryManage/intraStorageTransfer/intraStorageTransferNote.vue

@ -109,7 +109,7 @@ export default {
getPageListWip(this.PageListParams, 'wms/store/transfer-note/get-inside-list').then(res => { getPageListWip(this.PageListParams, 'wms/store/transfer-note/get-inside-list').then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.getSupplierByCodesHandle_table() this.pagingCallback()
}).catch(err => { }).catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
}) })

9
fe/PC/src/views/inventoryManage/lineSideWarehouseAdjustmentSheet/lineSideWarehouseAdjustmentSheetNote.vue

@ -62,7 +62,7 @@ export default {
data () { data () {
return { return {
// URL: 'wms/store/count-adjust-note', // URL: 'wms/store/count-adjust-note',
URL: 'wms/store/wipwarehouse-adjust-note', URL: 'wms/store/wip-warehouse-adjust-note',
// //
currenButtonData: [ currenButtonData: [
this.defaultExportBtn(),// this.defaultExportBtn(),//
@ -90,7 +90,12 @@ export default {
drawerbutton (val) { drawerbutton (val) {
// //
if(val == 'print'){ if(val == 'print'){
let data = initPrintAllData(this.propsData,'tzd.rdlx','AdjustmentReason'); let _option = {
details:{
locationCode:"toLocationCode",
}
}
let data = initPrintAllData(this.propsData,'tzd.rdlx','AdjustmentReason',_option);
this.Print(data) this.Print(data)
} }
}, },

2
fe/PC/src/views/inventoryManage/lineSideWarehouseAdjustmentSheet/lineSideWarehouseAdjustmentSheetRequest.vue

@ -75,7 +75,7 @@ export default {
data () { data () {
return { return {
// URL: 'wms/store/count-adjust-request', // URL: 'wms/store/count-adjust-request',
URL: 'wms/store/wipwarehouse-adjust-request', URL: 'wms/store/wip-warehouse-adjust-request',
// //
currenButtonData: [ currenButtonData: [
this.defaultImportBtn(),// this.defaultImportBtn(),//

2
fe/PC/src/views/inventoryManage/lineSideWarehouseAllocation/lineSideWarehouseAllocationConfirm.vue

@ -150,7 +150,7 @@ export default {
getPageListWip(this.PageListParams, 'wms/store/transfer-note/get-wip-list').then(res => { getPageListWip(this.PageListParams, 'wms/store/transfer-note/get-wip-list').then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.getSupplierByCodesHandle_table() this.pagingCallback()
}).catch(err => { }).catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
}) })

2
fe/PC/src/views/inventoryManage/lineSideWarehouseAllocation/lineSideWarehouseAllocationNote.vue

@ -113,7 +113,7 @@ export default {
getPageListWip(this.PageListParams, 'wms/store/transfer-note/get-wip-list').then(res => { getPageListWip(this.PageListParams, 'wms/store/transfer-note/get-wip-list').then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.getSupplierByCodesHandle_table() this.pagingCallback()
}).catch(err => { }).catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
}) })

2
fe/PC/src/views/inventoryManage/lineSideWarehouseAllocation/lineSideWarehouseAllocationRequest.vue

@ -112,7 +112,7 @@ export default {
getPageListWip(this.PageListParams, 'wms/store/transfer-request/get-wip-list').then(res => { getPageListWip(this.PageListParams, 'wms/store/transfer-request/get-wip-list').then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.getSupplierByCodesHandle_table() this.pagingCallback()
}).catch(err => { }).catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
}) })

2
fe/PC/src/views/inventoryManage/lineSideWarehousePayment/lineSideWarehousePaymentNote.vue

@ -86,7 +86,7 @@ export default {
materialRequestByType(this.PageListParams, this.URL + '/by-type', params).then(res => { materialRequestByType(this.PageListParams, this.URL + '/by-type', params).then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.getSupplierByCodesHandle_table() this.pagingCallback()
}).catch(err => { }).catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
}) })

2
fe/PC/src/views/inventoryManage/lineSideWarehousePayment/lineSideWarehousePaymentRequest.vue

@ -103,7 +103,7 @@ export default {
materialRequestByType(this.PageListParams, this.URL + '/by-type', params).then(res => { materialRequestByType(this.PageListParams, this.URL + '/by-type', params).then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.getSupplierByCodesHandle_table() this.pagingCallback()
}).catch(err => { }).catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
}) })

4
fe/PC/src/views/inventoryManage/lineSideWarehouseScrapping/lineSideWarehouseScrappingNote.vue

@ -98,14 +98,14 @@ export default {
paging() { paging() {
this.Loading.tableLoading = true; this.Loading.tableLoading = true;
this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount
// : :Scrap_Manual; 线:Scrap_WIP; // : :Scrap_Manual; 线:Scrap_WIP; :Scrap_Product
let params = { let params = {
type: 'Scrap_WIP' type: 'Scrap_WIP'
} }
materialRequestByType(this.PageListParams, this.URL + '/by-type', params).then(res => { materialRequestByType(this.PageListParams, this.URL + '/by-type', params).then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.getSupplierByCodesHandle_table() this.pagingCallback()
}).catch(err => { }).catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
}) })

4
fe/PC/src/views/inventoryManage/lineSideWarehouseScrapping/lineSideWarehouseScrappingRequest.vue

@ -97,14 +97,14 @@ export default {
paging() { paging() {
this.Loading.tableLoading = true; this.Loading.tableLoading = true;
this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount
// : :Scrap_Manual; 线:Scrap_WIP; // : :Scrap_Manual; 线:Scrap_WIP; :Scrap_Product
let params = { let params = {
type: 'Scrap_WIP' type: 'Scrap_WIP'
} }
materialRequestByType(this.PageListParams, this.URL + '/by-type', params).then(res => { materialRequestByType(this.PageListParams, this.URL + '/by-type', params).then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.getSupplierByCodesHandle_table() this.pagingCallback()
}).catch(err => { }).catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
}) })

2
fe/PC/src/views/inventoryManage/recycledMaterials/materialsAdjustment.vue

@ -60,7 +60,7 @@ export default {
], ],
data() { data() {
return { return {
URL: "wms/store/item-transfrom-note", URL: "wms/store/item-transform-note",
// //
currenButtonData: [ currenButtonData: [
this.defaultExportBtn(),// this.defaultExportBtn(),//

2
fe/PC/src/views/inventoryManage/recycledMaterials/materialsAdjustmentApply.vue

@ -73,7 +73,7 @@ export default {
], ],
data () { data () {
return { return {
URL: 'wms/store/item-transfrom-request', URL: 'wms/store/item-transform-request',
// //
currenButtonData: [ currenButtonData: [
this.defaultImportBtn(),// this.defaultImportBtn(),//

255
fe/PC/src/views/labelManage/PartiallyPreparedProducts/PartiallyPreparedProducts.vue

@ -57,18 +57,20 @@
</div> </div>
</template> </template>
<script> <script>
import { initDataToHttpFormat } from "@/utils/index"
import { getPageList } from "@/api/wms-api"
import { postInventoryLabelCode_count } from "@/api/wms-core" import { postInventoryLabelCode_count } from "@/api/wms-core"
import currenForm from "@/components/currenForm" import currenForm from "@/components/currenForm"
import StepsFormAlone from "@/components/StepsFormAlone" import StepsFormAlone from "@/components/StepsFormAlone"
import resultStatus from "@/components/resultStatus" import resultStatus from "@/components/resultStatus"
import currenTableFlex from "@/components/currenTableFlex" import currenTableFlex from "@/components/currenTableFlex"
import {initPrintPackingCodeManyData} from "@/mixins/printMixin" import {initPrintPackingCodeManyData} from "@/mixins/printMixin"
import { getPageList,getDetailed} from "@/api/wms-api"
import _ from "lodash" import _ from "lodash"
import { mixins } from "@/mixins/mixins" import { mixins } from "@/mixins/mixins"
import { LoadingMixins } from "@/mixins/LoadingMixins" import { LoadingMixins } from "@/mixins/LoadingMixins"
import { filterSelectMixins } from '@/mixins/filter-Select' import { filterSelectMixins } from '@/mixins/filter-Select'
export default { export default {
name: "PartiallyPreparedProductsLabel",
mixins: [ mixins: [
mixins, mixins,
LoadingMixins, LoadingMixins,
@ -80,7 +82,12 @@ export default {
currenTableFlex, currenTableFlex,
resultStatus, resultStatus,
}, },
name: "PartiallyPreparedProductsLabel", watch:{
"selectData.labelType"(val){
console.log("watch",val)
this.changeFormItemShow(val)
}
},
data () { data () {
let _this = this let _this = this
return { return {
@ -88,128 +95,238 @@ export default {
// options // options
stepArray:[ stepArray:[
{title:"信息筛选",next:()=>{return _this.firstNext()}}, {title:"信息筛选",next:()=>{return _this.firstNext()}},
{title:"预览信息"}, {title:"预览信息",cancle:()=>{return _this.sencondPre()}},
{title:"打印"}, {title:"打印"},
], ],
selectItemInfo:{},// selectItemInfo:{},//
// itemPackInfo:{},//
selectData:{ selectSupplierItemInfo:{},//
itemCode:"", selectSupplierInfo:{},//
itemName:"", selectPoNumberInfo:{},//
//
defaultSelectData:{
itemCode:"",//
itemName:"",//
canMake:null,// canMake:null,//
packQty:"", canBuy:null,//
labelType:null,//1 2
// isRecycled:null,//
// canOutsourcing:null,//
qty:"", qty:"",
lot:"", lot:"",
labelQty:"", labelQty:"",
supplierCode:"",
poNumber:"",
arriveDate:undefined,
produceDate:undefined,
// remark:"",
}, },
//
selectData:{},
// //
selectForm:[ selectForm:[
{ type: "filterSelect", label: "物品代码", prop: "itemCode", optionsLabel: "name", optionsValue: "code", { type: "filterSelect", label: "物品代码", prop: "itemCode", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/item-basic", [ focus: (type,val) => { return this.getFilterList(type, val, "basedata/item-basic", [
{logic:"And",column:"canMake",action:"==",value:"true"}, // {logic:"And",column:"canMake",action:"==",value:"true"},
{logic:"And",column:"type",action:"==",value:"半成品"} {logic:"And",column:"type",action:"==",value:"半成品"}
])}, ])},
searchButton: (val) => { this.showSerarchPage(val, 'basedata/Item-Basic', 'ItemBasic', '物品代码', this.selectData,[ searchButton: (val) => { this.showSerarchPage(val, 'basedata/Item-Basic', 'ItemBasic', '物品代码', this.selectData,[
{logic:"And",column:"canMake",action:"==",value:"true"}, // {logic:"And",column:"canMake",action:"==",value:"true"},
{logic:"And",column:"type",action:"==",value:"半成品"} {logic:"And",column:"type",action:"==",value:"半成品"}
]) }, ]) },
colSpan: 12, colSpan: 12,
}, },
{ type: "input",disabled:true,label: "物品名称", prop: "itemName", colSpan: 12 }, { type: "input",disabled:true,label: "物品名称", prop: "itemName", colSpan: 12 },
{ type: "select",disabled:true, label: "制造件", prop: "canMake", options: "whetherOrNot", colSpan: 12 }, { type: "select",disabled:true, label: "制造件", prop: "canMake", options: "whetherOrNot", colSpan: 12 },
{ type: "input",disabled:true,label: "标包数量", prop: "packQty", colSpan: 12 }, { type: "select", disabled:true,label: "采购件", prop: "canBuy", options: "whetherOrNot", colSpan: 12 },
{ type: "select", disabled:true,label: "标签类型", prop: "labelType", options: "labelTypeSelectOption", colSpan: 12 },
// { type: "select", disabled:true,label: "", prop: "isRecycled", options: "whetherOrNot", colSpan: 12 },
// { type: "select", disabled:true,label: "", prop: "canOutsourcing", options: "whetherOrNot", colSpan: 12 },
{ type: "inputNumber", label: "实际数量", prop: "qty",colSpan: 12 }, { type: "inputNumber", label: "实际数量", prop: "qty",colSpan: 12 },
{ type: "input", label: "批次", prop: "lot", colSpan: 12 }, { type: "input", label: "批次", prop: "lot", colSpan: 12 },
{ type: "inputNumber", label: "标签个数", prop: "labelQty", min:1,colSpan: 12 }, { type: "inputNumber", label: "标签个数", prop: "labelQty", min:1,colSpan: 12 },
// { type: "input", label: "", prop: "remark", colSpan: 12 },
{ type: "dateTime", label: "生产时间", prop: "produceDate", colSpan: 12 },
{ type: "dateTime", label: "到货时间", prop: "arriveDate", colSpan: 12 },
{
hide:false,type: "filterSelect", label: "供应商代码", prop: "supplierCode", optionsLabel: "supplierSimpleName", optionsValue: "supplierCode", clearable:true,
beforeFocus:()=>{if(!this.selectData.itemCode || this.selectData.itemCode.length <= 0){this.$message.error('请输入物品代码'); return false}else{return true}},
focus: (type,val) => { return this.getFilterList(type, val, "basedata/supplier-item",this.isFilter("itemCode", this.selectData.itemCode))},
searchButton: (val) => { this.showSerarchPage(val, 'basedata/supplier-item', 'SupplierItem', '供应商代码', this.selectData,
this.isFilter("itemCode", this.selectData.itemCode)
) },
colSpan: 12,
},
{
hide:false,type: "filterSelect", label: "采购订单号", prop: "poNumber",optionsValue: "poNumber", clearable:true,getType:"getPage",
beforeFocus:()=>{if(!this.selectData.itemCode || this.selectData.itemCode.length <= 0){this.$message.error('请输入物品代码'); return false}else{return true}},
focus: (type,val) => { return this.getFilterList(type, {itemCode:this.selectData.itemCode}, "wms/store/supplier-asn/get-list-by-item-code")},
colSpan: 12,
},
], ],
// Rules // Rules
selectRules:{ selectRules:{
itemCode: [{ required: true, trigger: "change", message: "物品代码不能为空" }], itemCode: [{ required: true, trigger: "change", message: "物品代码不能为空" },],
lot: [{ required: true, trigger: "change", message: "批次不能为空" }], labelType:[{ required: true, trigger: "change", message: "标签类型不能为空" }],
qty: [{ required: true, trigger: "change", message: "实际数量不能为空" }], qty: [{ required: true, trigger: "change", message: "实际数量不能为空" }],
labelQty: [{ required: true, trigger: "change", message: "标签个数不能为空" }], labelQty: [{ required: true, trigger: "change", message: "标签个数不能为空" }],
lot: [{ required: true, trigger: "change", message: "批次不能为空" }],
supplierCode: [{ required: false, trigger: "change", message: "当前为采购标签,供应商代码为必填项" }],
poNumber: [{ required: false, trigger: "change", message: "当前为采购标签,采购订单为必填项" }],
}, },
// //
flexTableColumns:[ flexTableColumns:[
{ width:"auto",label: "物品代码", prop: "itemCode", }, { label: "物品代码", prop: "itemCode", },
{ width:"auto",label: "物品名称", prop: "itemName", }, { label: "物品名称", prop: "itemName", },
{ width:"auto",label: "批次", prop: "lot", }, { label: "批次", prop: "lot", },
{ width:"auto",label: "标包数量", prop: "packQty", }, { label: "实际数量", prop: "qty", },
{ width:"auto",label: "标包单位", prop: "packUom", },
{ width:"auto",label: "实际数量", prop: "qty", },
{ width:"auto",label: "生产日期", prop: "produceDate",type: "dateTime" }, { width:"auto",label: "生产日期", prop: "produceDate",type: "dateTime" },
{ label: "供应商代码", prop: "supplierCode", },
{ label: "供应商简称", prop: "supplierSimpleName", },
{ width:"auto",label: "供应商零件号", prop: "supplierItemCode", },
{ width:"auto",label: "供应商零件名", prop: "supplierItemName", },
{ width:"auto",label: "采购订单号", prop: "poNumber",type: "dateTime" },
// { width:"auto",label: "", prop: "remark", },
{ width:"auto",label: "箱标签", prop: "packingCode",fixed:"right" }, { width:"auto",label: "箱标签", prop: "packingCode",fixed:"right" },
], ],
// //
flexSelectTableData:[] flexSelectTableData:[],
}; };
}, },
created(){
this.selectData = this.defaultSelectData
},
methods: { methods: {
consoleLog(){
console.log('selectItemInfo',this.selectItemInfo)//basedata/item-basic/list
console.log('selectData',this.selectData)
console.log('selectSupplierItemInfo',this.selectSupplierItemInfo)//basedata/supplier-item/list
console.log('selectSupplierInfo',this.selectSupplierInfo)//basedata/supplier/{id}
console.log('selectPoNumberInfo',this.selectPoNumberInfo)
},
// //
rest(){ rest(){
this.selectItemInfo={}; this.selectItemInfo={};
this.selectData={ this.selectSupplierItemInfo = {}
itemCode:"", this.selectPoNumberInfo = {}
itemName:"", this.selectSupplierInfo = {}
canMake:null,// this.selectData = this.defaultSelectData
packQty:"",
qty:"",
lot:"",
labelQty:"",
};
this.flexSelectTableData = []; this.flexSelectTableData = [];
this.$refs.steps_bcpsj.returnFirstActive() this.$refs.steps_bcpsj.returnFirstActive()
this.$refs.form_bcpsj.getDom().resetFields(); this.$refs.form_bcpsj.getDom().resetFields();
}, },
// prop
getFormPropIndex(prop){
let _index = null
this.selectForm.forEach((item,key)=>{
if(item.prop == prop)_index = key
})
return _index
},
// //
detailsDataPush (val) { detailsDataPush (val) {
//
if(val[1].prop == "itemCode"){ if(val[1].prop == "itemCode"){
this.pageLoading = true this.rest()
this.selectItemInfo = val[0];
this.selectData.itemCode = this.selectItemInfo.code
this.selectData.itemName = this.selectItemInfo.name
this.selectData.canBuy=this.selectItemInfo.canBuy;
this.selectData.canMake=this.selectItemInfo.canMake;
// this.selectData.isRecycled=this.selectItemInfo.isRecycled;
// this.selectData.canOutsourcing=this.selectItemInfo.canOutsourcing;
// true
let _labelType_index = this.getFormPropIndex('labelType')
if((this.selectItemInfo.canBuy && !this.selectItemInfo.canMake) || (!this.selectItemInfo.canBuy && this.selectItemInfo.canMake)){
this.selectData.labelType = this.selectItemInfo.canBuy ? 1 : 2;
this.selectForm[_labelType_index].disabled = true
}else{
this.selectData.labelType = null
this.selectForm[_labelType_index].disabled = false
}
}
//
if(val[1].prop == "supplierCode"){
this.selectSupplierItemInfo = val[0];
this.selectData.supplierCode = this.selectSupplierItemInfo.supplierCode
let params = { let params = {
condition: { condition: {
filters: [] filters: []
} }
} }
params.condition.filters.push(...this.isFilter("itemCode", this.selectData.itemCode)) params.condition.filters.push(...this.isFilter("code", this.selectData.supplierCode))
getPageList(params, "basedata/item-pack") getPageList(params, "basedata/supplier").then(res => {
.then(res => { this.selectSupplierInfo = res.items[0]
if (res.items.length > 0) {
this.selectItemInfo = res.items[0];
}
getDetailed(val[0].id, "basedata/item-basic").then(res => {
this.pageLoading = false
this.selectItemInfo = Object.assign(this.selectItemInfo,res);
this.selectData.itemName=this.selectItemInfo.name;
this.selectData.canMake=this.selectItemInfo.canMake;
this.selectData.packQty=this.selectItemInfo.packQty || "";
})
.catch(err => {
this.pageLoading = false
})
})
.catch(err => {
this.pageLoading = false
}) })
} }
//
if(val[1].prop == "poNumber"){
this.selectPoNumberInfo = val[0];
}
},
//
changeFormItemShow(val){
this.selectData.labelType = val
let _poNumber_index = this.getFormPropIndex('poNumber')
let _supplierCode_index = this.getFormPropIndex('supplierCode')
//
if(this.selectData.labelType == 1){
this.selectForm[_poNumber_index].hide = false
this.selectForm[_supplierCode_index].hide = false
this.selectRules.poNumber[0].required = true
this.selectRules.supplierCode[0].required = true
}
//
else{
this.selectForm[_poNumber_index].hide = true
this.selectForm[_supplierCode_index].hide = true
this.selectRules.poNumber[0].required = false
this.selectRules.supplierCode[0].required = false
}
}, },
// //
firstNext(){ firstNext(){
return new Promise((resolve,reject) => { return new Promise((resolve,reject) => {
this.$refs['form_bcpsj'].getDom().validate(valid=>{ this.$refs['form_bcpsj'].getDom().validate(valid=>{
if(valid){ if(valid){
let _data = this.selectItemInfo // this.consoleLog()
_data.itemCode=this.selectData.itemCode, let _data = {
_data.itemName= this.selectData.itemName, // fullBarcodeString: undefined,//
_data.stdPackQty= Number(this.selectData.packQty) || 0, itemCode: this.selectData.itemCode || null,
_data.lot=this.selectData.lot, itemName: this.selectItemInfo.name || null,
_data.qty=Number(this.selectData.qty), itemDesc1: this.selectItemInfo.desc1 || null,
_data.uom= this.selectItemInfo.basicUom || "", itemDesc2: this.selectItemInfo.desc2 || null,
_data.itemDesc1= this.selectItemInfo.desc1 || "", lot: this.selectData.lot || "",
_data.itemDesc2= this.selectItemInfo.desc2 || "", // supplierBatch: undefined,//
_data.labelType= 2, arriveDate: initDataToHttpFormat(this.selectData.arriveDate),
_data.company= localStorage.getItem("company"), produceDate: initDataToHttpFormat(this.selectData.produceDate),
// expireDate: undefined,//
stdPackQty: Number(this.selectItemInfo.stdPackQty) || 0,
uom: this.selectItemInfo.basicUom || "",
qty: Number(this.selectData.qty),
labelStatus: 1,//
// recommendLocationCode: undefined,//
// locationErpCode: undefined,//
// containerCode: undefined,//
supplierCode: this.selectData.supplierCode,
poNumber: this.selectData.poNumber,
rpNumber: this.selectPoNumberInfo.rpNumber,
asnNumber: this.selectPoNumberInfo.number,
// qLevel: this.selectItemInfo.qLevel || undefined,//
// qualityFile: undefined,//
// prodLine: undefined,//
// team: undefined,//
// shift: undefined,//
specifications: this.selectItemInfo.color || null,
supplierName: this.selectSupplierItemInfo.supplierName,
supplierSimpleName: this.selectSupplierItemInfo.supplierSimpleName,
supplierItemCode: this.selectSupplierItemInfo.supplierItemCode,
supplierItemName: this.selectSupplierItemInfo.itemName,
labelType: this.selectData.labelType,
planArriveDate: initDataToHttpFormat(this.selectPoNumberInfo.planArriveDate)
// remark:this.selectData.remark,//
}
// //
this.pageLoading = true; this.pageLoading = true;
postInventoryLabelCode_count({count:this.selectData.labelQty}, _data) postInventoryLabelCode_count({count:this.selectData.labelQty}, _data)
@ -218,9 +335,6 @@ export default {
this.flexSelectTableData = res this.flexSelectTableData = res
this.flexSelectTableData.forEach(item=>{ this.flexSelectTableData.forEach(item=>{
item.packingCode=item.code item.packingCode=item.code
item.itemName=this.selectData.itemName
item.packQty=this.selectData.packQty
item.packUom=this.selectItemInfo.basicUom
}) })
resolve() resolve()
}) })
@ -232,9 +346,16 @@ export default {
}) })
}) })
}, },
//
sencondPre(){
return new Promise((resolve,reject) => {
resolve()
})
},
// //
printHandle(){ printHandle(){
let _printData = {details:[]} let _printData = this.flexSelectTableData[0]
_printData.details = []
this.flexSelectTableData.forEach(item=>{ this.flexSelectTableData.forEach(item=>{
_printData.details.push(item) _printData.details.push(item)
}) })

271
fe/PC/src/views/labelManage/PartiallyPreparedProducts/RecycledMaterialsLabel.vue

@ -54,26 +54,11 @@
@CurrentChange="searchAlertoldSkipCount($event, searchPageListParams)" @CurrentChange="searchAlertoldSkipCount($event, searchPageListParams)"
@tableButtonClick="searchSubmit(arguments)" @tableButtonClick="searchSubmit(arguments)"
></searchPage> ></searchPage>
<!-- 制造件/采购件选择 -->
<el-dialog
:title="canTypeTitle"
:visible.sync="canTypeShow"
>
<el-form :model="canForm" :rules="canRules" ref="form_canType" >
<el-form-item prop="canType">
<el-radio v-model="canForm.canType" label="1">采购标签</el-radio>
<el-radio v-model="canForm.canType" label="2">生产标签</el-radio>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="canSelectHandle('0')"> </el-button>
<el-button type="primary" @click="canSelectHandle('1')"> </el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { getPageList } from "@/api/wms-api"
import { initDataToHttpFormat } from "@/utils/index"
import { postInventoryLabelCode_count } from "@/api/wms-core" import { postInventoryLabelCode_count } from "@/api/wms-core"
import currenForm from "@/components/currenForm" import currenForm from "@/components/currenForm"
import StepsFormAlone from "@/components/StepsFormAlone" import StepsFormAlone from "@/components/StepsFormAlone"
@ -85,6 +70,7 @@ import { mixins } from "@/mixins/mixins"
import { LoadingMixins } from "@/mixins/LoadingMixins" import { LoadingMixins } from "@/mixins/LoadingMixins"
import { filterSelectMixins } from '@/mixins/filter-Select' import { filterSelectMixins } from '@/mixins/filter-Select'
export default { export default {
name: "RecycledMaterialsLabel",
mixins: [ mixins: [
mixins, mixins,
LoadingMixins, LoadingMixins,
@ -96,7 +82,12 @@ export default {
currenTableFlex, currenTableFlex,
resultStatus, resultStatus,
}, },
name: "createNewLabel", watch:{
"selectData.labelType"(val){
console.log("watch",val)
this.changeFormItemShow(val)
}
},
data () { data () {
let _this = this let _this = this
return { return {
@ -108,22 +99,26 @@ export default {
{title:"打印"}, {title:"打印"},
], ],
selectItemInfo:{},// selectItemInfo:{},//
selectSupplierInfo:{},// selectSupplierItemInfo:{},//
selectSupplierInfo:{},//
selectPoNumberInfo:{},//
// //
defaultSelectData:{ defaultSelectData:{
itemCode:"", itemCode:"",//
itemName:"", itemName:"",//
// packQty:"", canMake:null,//
canBuy:null,//
labelType:null,//1 2
isRecycled:null,//
canOutsourcing:null,//
qty:"", qty:"",
lot:"", lot:"",
labelQty:"", labelQty:"",
supplierCode:"", supplierCode:"",
poNumber:"",
remark:"", remark:"",
canBuy:null,// arriveDate:undefined,
canMake:null,// produceDate:undefined,
isRecycled:null,//
canOutsourcing:null,//
labelType:null,// /
}, },
// //
selectData:{}, selectData:{},
@ -142,13 +137,17 @@ export default {
{ type: "input",disabled:true,label: "物品名称", prop: "itemName", colSpan: 12 }, { type: "input",disabled:true,label: "物品名称", prop: "itemName", colSpan: 12 },
{ type: "select",disabled:true, label: "制造件", prop: "canMake", options: "whetherOrNot", colSpan: 12 }, { type: "select",disabled:true, label: "制造件", prop: "canMake", options: "whetherOrNot", colSpan: 12 },
{ type: "select", disabled:true,label: "采购件", prop: "canBuy", options: "whetherOrNot", colSpan: 12 }, { type: "select", disabled:true,label: "采购件", prop: "canBuy", options: "whetherOrNot", colSpan: 12 },
{ type: "select", disabled:true,label: "标签类型", prop: "labelType", options: "labelTypeSelectOption", colSpan: 12 },
{ type: "select", disabled:true,label: "回收件", prop: "isRecycled", options: "whetherOrNot", colSpan: 12 }, { type: "select", disabled:true,label: "回收件", prop: "isRecycled", options: "whetherOrNot", colSpan: 12 },
{ type: "select", disabled:true,label: "外包件", prop: "canOutsourcing", options: "whetherOrNot", colSpan: 12 }, { type: "select", disabled:true,label: "外包件", prop: "canOutsourcing", options: "whetherOrNot", colSpan: 12 },
// { type: "input",disabled:true,label: "", prop: "packQty", colSpan: 12 },
{ type: "inputNumber", label: "实际数量", prop: "qty",colSpan: 12 }, { type: "inputNumber", label: "实际数量", prop: "qty",colSpan: 12 },
{ type: "input", label: "批次", prop: "lot", colSpan: 12 }, { type: "input", label: "批次", prop: "lot", colSpan: 12 },
{ type: "inputNumber", label: "标签个数", prop: "labelQty", min:1,colSpan: 12 }, { type: "inputNumber", label: "标签个数", prop: "labelQty", min:1,colSpan: 12 },
{ type: "filterSelect", label: "供应商代码", prop: "supplierCode", optionsLabel: "supplierSimpleName", optionsValue: "supplierCode", clearable:true, { type: "dateTime", label: "生产时间", prop: "produceDate", colSpan: 12 },
{ type: "dateTime", label: "到货时间", prop: "arriveDate", colSpan: 12 },
{ type: "input", label: "备注", prop: "remark", colSpan: 12 },
{
hide:false,type: "filterSelect", label: "供应商代码", prop: "supplierCode", optionsLabel: "supplierSimpleName", optionsValue: "supplierCode", clearable:true,
beforeFocus:()=>{if(!this.selectData.itemCode || this.selectData.itemCode.length <= 0){this.$message.error('请输入物品代码'); return false}else{return true}}, beforeFocus:()=>{if(!this.selectData.itemCode || this.selectData.itemCode.length <= 0){this.$message.error('请输入物品代码'); return false}else{return true}},
focus: (type,val) => { return this.getFilterList(type, val, "basedata/supplier-item",this.isFilter("itemCode", this.selectData.itemCode))}, focus: (type,val) => { return this.getFilterList(type, val, "basedata/supplier-item",this.isFilter("itemCode", this.selectData.itemCode))},
searchButton: (val) => { this.showSerarchPage(val, 'basedata/supplier-item', 'SupplierItem', '供应商代码', this.selectData, searchButton: (val) => { this.showSerarchPage(val, 'basedata/supplier-item', 'SupplierItem', '供应商代码', this.selectData,
@ -156,118 +155,131 @@ export default {
) }, ) },
colSpan: 12, colSpan: 12,
}, },
{ type: "input", label: "备注", prop: "remark", colSpan: 12 }, {
hide:false,type: "filterSelect", label: "采购订单号", prop: "poNumber",optionsValue: "poNumber", clearable:true,getType:"getPage",
beforeFocus:()=>{if(!this.selectData.itemCode || this.selectData.itemCode.length <= 0){this.$message.error('请输入物品代码'); return false}else{return true}},
focus: (type,val) => { return this.getFilterList(type, {itemCode:this.selectData.itemCode}, "wms/store/supplier-asn/get-list-by-item-code")},
colSpan: 12,
},
], ],
// Rules // Rules
selectRules:{ selectRules:{
itemCode: [{ required: true, trigger: "change", message: "物品代码不能为空" },], itemCode: [{ required: true, trigger: "change", message: "物品代码不能为空" },],
// lot: [{ required: true, trigger: "change", message: "" }], labelType:[{ required: true, trigger: "change", message: "标签类型不能为空" }],
qty: [{ required: true, trigger: "change", message: "实际数量不能为空" }], qty: [{ required: true, trigger: "change", message: "实际数量不能为空" }],
labelQty: [{ required: true, trigger: "change", message: "标签个数不能为空" }], labelQty: [{ required: true, trigger: "change", message: "标签个数不能为空" }],
supplierCode: [{ required: false, trigger: "change", message: "当前为采购标签,供应商代码为必填项" }],
poNumber: [{ required: false, trigger: "change", message: "当前为采购标签,采购订单为必填项" }],
}, },
// //
flexTableColumns:[ flexTableColumns:[
{ label: "物品代码", prop: "itemCode", }, { label: "物品代码", prop: "itemCode", },
{ label: "物品名称", prop: "itemName", }, { label: "物品名称", prop: "itemName", },
{ label: "批次", prop: "lot", }, { label: "批次", prop: "lot", },
// { width:"auto",label: "", prop: "packQty", },
// { width:"auto",label: "", prop: "packUom", },
{ label: "实际数量", prop: "qty", }, { label: "实际数量", prop: "qty", },
{ width:"auto",label: "生产日期", prop: "produceDate",type: "dateTime" },
{ label: "供应商代码", prop: "supplierCode", }, { label: "供应商代码", prop: "supplierCode", },
{ label: "供应商简称", prop: "supplierSimpleName", }, { label: "供应商简称", prop: "supplierSimpleName", },
{ width:"auto",label: "供应商零件号", prop: "supplierItemCode", }, { width:"auto",label: "供应商零件号", prop: "supplierItemCode", },
{ width:"auto",label: "供应商零件名", prop: "supplierItemName", }, { width:"auto",label: "供应商零件名", prop: "supplierItemName", },
{ width:"auto",label: "采购订单号", prop: "poNumber",type: "dateTime" },
{ width:"auto",label: "备注", prop: "remark", }, { width:"auto",label: "备注", prop: "remark", },
{ width:"auto",label: "生产日期", prop: "produceDate",type: "dateTime" },
{ width:"auto",label: "箱标签", prop: "packingCode",fixed:"right" }, { width:"auto",label: "箱标签", prop: "packingCode",fixed:"right" },
], ],
// //
flexSelectTableData:[], flexSelectTableData:[],
canTypeShow:false,///
canTypeTitle:"",///
canForm:{
canType:null
},///
canRules:{
canType: [{ required: true, trigger: "change", message: "请选择类型" }],
},
}; };
}, },
created(){ created(){
this.selectData = this.defaultSelectData this.selectData = this.defaultSelectData
}, },
methods: { methods: {
consoleLog(){
console.log('selectItemInfo',this.selectItemInfo)//basedata/item-basic/list
console.log('selectData',this.selectData)
console.log('selectSupplierItemInfo',this.selectSupplierItemInfo)//basedata/supplier-item/list
console.log('selectSupplierInfo',this.selectSupplierInfo)//basedata/supplier/{id}
console.log('selectPoNumberInfo',this.selectPoNumberInfo)
},
// //
rest(){ rest(){
this.selectItemInfo={}; this.selectItemInfo={};
this.selectSupplierItemInfo = {}
this.selectPoNumberInfo = {}
this.selectSupplierInfo = {} this.selectSupplierInfo = {}
this.selectData = this.defaultSelectData this.selectData = this.defaultSelectData
this.flexSelectTableData = []; this.flexSelectTableData = [];
this.$refs.steps_create.returnFirstActive() this.$refs.steps_create.returnFirstActive()
this.$refs.form_create.getDom().resetFields(); this.$refs.form_create.getDom().resetFields();
}, },
// prop
getFormPropIndex(prop){
let _index = null
this.selectForm.forEach((item,key)=>{
if(item.prop == prop)_index = key
})
return _index
},
// //
detailsDataPush (val) { detailsDataPush (val) {
// //
if(val[1].prop == "itemCode"){ if(val[1].prop == "itemCode"){
this.canForm.canType = null this.rest()
this.selectItemInfo = val[0]; this.selectItemInfo = val[0];
this.selectData.itemCode = this.selectItemInfo.code
this.selectData.itemName = this.selectItemInfo.name this.selectData.itemName = this.selectItemInfo.name
this.selectData.canBuy=this.selectItemInfo.canBuy; this.selectData.canBuy=this.selectItemInfo.canBuy;
this.selectData.canMake=this.selectItemInfo.canMake; this.selectData.canMake=this.selectItemInfo.canMake;
this.selectData.isRecycled=this.selectItemInfo.isRecycled; this.selectData.isRecycled=this.selectItemInfo.isRecycled;
this.selectData.canOutsourcing=this.selectItemInfo.canOutsourcing; this.selectData.canOutsourcing=this.selectItemInfo.canOutsourcing;
this.selectData.supplierCode = ""
// this.pageLoading = true
// let params = {
// condition: {
// filters: []
// }
// }
// params.condition.filters.push(...this.isFilter("itemCode", this.selectData.itemCode))
// getPageList(params, "basedata/item-pack")
// .then(res => {
// if (res.items.length > 0) {
// this.selectItemInfo = res.items[0];
// // this.selectItemInfo.itemCode = selectData.itemCode
// // this.selectItemInfo.itemName = val[0].name
// }
// getDetailed(val[0].id, "basedata/item-basic").then(res => {
// this.pageLoading = false
// this.selectItemInfo = Object.assign(this.selectItemInfo,res);
// this.selectData.itemName=this.selectItemInfo.name;
// this.selectData.packQty=this.selectItemInfo.packQty || "";
// })
// .catch(err => {
// this.pageLoading = false
// })
// })
// .catch(err => {
// this.pageLoading = false
// })
// true
let _labelType_index = this.getFormPropIndex('labelType')
if((this.selectItemInfo.canBuy && !this.selectItemInfo.canMake) || (!this.selectItemInfo.canBuy && this.selectItemInfo.canMake)){
this.selectData.labelType = this.selectItemInfo.canBuy ? 1 : 2;
this.selectForm[_labelType_index].disabled = true
}else{
this.selectData.labelType = null
this.selectForm[_labelType_index].disabled = false
}
} }
// //
if(val[1].prop == "supplierCode"){ if(val[1].prop == "supplierCode"){
this.selectSupplierInfo = val[0]; this.selectSupplierItemInfo = val[0];
this.selectData.supplierCode = this.selectSupplierInfo.supplierCode this.selectData.supplierCode = this.selectSupplierItemInfo.supplierCode
let params = {
condition: {
filters: []
}
}
params.condition.filters.push(...this.isFilter("code", this.selectData.supplierCode))
getPageList(params, "basedata/supplier").then(res => {
this.selectSupplierInfo = res.items[0]
})
}
//
if(val[1].prop == "poNumber"){
this.selectPoNumberInfo = val[0];
} }
}, },
// /-- //
canSelectHandle(val){ changeFormItemShow(val){
// this.selectData.labelType = val
if(val == '0'){ let _poNumber_index = this.getFormPropIndex('poNumber')
this.canTypeShow = false let _supplierCode_index = this.getFormPropIndex('supplierCode')
this.canForm.canType = null //
if(this.selectData.labelType == 1){
this.selectForm[_poNumber_index].hide = false
this.selectForm[_supplierCode_index].hide = false
this.selectRules.poNumber[0].required = true
this.selectRules.supplierCode[0].required = true
} }
// //
else{ else{
this.$refs['form_canType'].validate(valid=>{ this.selectForm[_poNumber_index].hide = true
if(valid){ this.selectForm[_supplierCode_index].hide = true
this.canTypeShow = false this.selectRules.poNumber[0].required = false
document.getElementsByClassName("stepsAloneBtn-next")[0].click() this.selectRules.supplierCode[0].required = false
}
})
} }
}, },
// //
@ -275,58 +287,51 @@ export default {
return new Promise((resolve,reject) => { return new Promise((resolve,reject) => {
this.$refs['form_create'].getDom().validate(valid=>{ this.$refs['form_create'].getDom().validate(valid=>{
if(valid){ if(valid){
// / // this.consoleLog()
if(this.selectItemInfo.canBuy && this.selectItemInfo.canMake && this.canForm.canType == null){ let _data = {
this.canForm.canType = null // fullBarcodeString: undefined,//
this.canTypeShow = true itemCode: this.selectData.itemCode || null,
this.canTypeTitle = `${this.selectData.itemCode}】即是采购件,也是制造件,请选择生成标签的类型` itemName: this.selectItemInfo.name || null,
reject() itemDesc1: this.selectItemInfo.desc1 || null,
return itemDesc2: this.selectItemInfo.desc2 || null,
lot: this.selectData.lot || "",
// supplierBatch: undefined,//
arriveDate: initDataToHttpFormat(this.selectData.arriveDate),
produceDate: initDataToHttpFormat(this.selectData.produceDate),
// expireDate: undefined,//
stdPackQty: Number(this.selectItemInfo.stdPackQty) || 0,
uom: this.selectItemInfo.basicUom || "",
qty: Number(this.selectData.qty),
labelStatus: 1,//
// recommendLocationCode: undefined,//
// locationErpCode: undefined,//
// containerCode: undefined,//
supplierCode: this.selectData.supplierCode,
poNumber: this.selectData.poNumber,
rpNumber: this.selectPoNumberInfo.rpNumber,
asnNumber: this.selectPoNumberInfo.number,
// qLevel: this.selectItemInfo.qLevel || undefined,//
// qualityFile: undefined,//
// prodLine: undefined,//
// team: undefined,//
// shift: undefined,//
specifications: this.selectItemInfo.color || null,
supplierName: this.selectSupplierItemInfo.supplierName,
supplierSimpleName: this.selectSupplierItemInfo.supplierSimpleName,
supplierItemCode: this.selectSupplierItemInfo.supplierItemCode,
supplierItemName: this.selectSupplierItemInfo.itemName,
labelType: this.selectData.labelType,
planArriveDate: initDataToHttpFormat(this.selectPoNumberInfo.planArriveDate),
remark:this.selectData.remark,//
} }
// /
if(!this.selectItemInfo.canBuy && !this.selectItemInfo.canMake && this.canForm.canType == null){
this.canForm.canType = null
this.canTypeShow = true
this.canTypeTitle = `${this.selectData.itemCode}】即不是采购件,也不是制造件,请选择生成标签的类型`
reject()
return
}
// true
if((this.selectItemInfo.canBuy && !this.selectItemInfo.canMake) || (!this.selectItemInfo.canBuy && this.selectItemInfo.canMake)){
this.canForm.canType = this.selectItemInfo.canBuy ? "1" : "2";
}
let _data = this.selectItemInfo
_data.itemCode=this.selectData.itemCode,
_data.itemName= this.selectData.itemName,
_data.stdPackQty= Number(this.selectData.packQty) || 0,
_data.lot=this.selectData.lot || "",
_data.qty=Number(this.selectData.qty),
_data.remark=this.selectData.remark,
// _data.uom= this.selectItemInfo.packUom || "",
_data.uom= this.selectItemInfo.basicUom || "",
_data.itemDesc1= this.selectItemInfo.desc1 || "",
_data.itemDesc2= this.selectItemInfo.desc2 || "",
_data.labelType= Number(this.canForm.canType),
_data.company= localStorage.getItem("company"),
//
_data.supplierCode = this.selectData.supplierCode || "",
_data.supplierSimpleName = this.selectSupplierInfo.supplierSimpleName || "",
_data.supplierItemCode = this.selectSupplierInfo.supplierItemCode || "",
_data.supplierItemName = this.selectSupplierInfo.supplierItemName || this.selectSupplierInfo.itemName || "",
_data.supplierPackQty = this.selectSupplierInfo.supplierPackQty || "",
_data.supplierPackUom = this.selectSupplierInfo.supplierPackUom || "",
// //
this.pageLoading = true; this.pageLoading = true;
postInventoryLabelCode_count({count:this.selectData.labelQty}, _data) postInventoryLabelCode_count({count:this.selectData.labelQty}, _data)
.then(res => { .then(res => {
this.canForm.canType = null
this.pageLoading = false this.pageLoading = false
this.flexSelectTableData = res this.flexSelectTableData = res
this.flexSelectTableData.forEach(item=>{ this.flexSelectTableData.forEach(item=>{
item.packingCode=item.code item.packingCode=item.code
item.itemName=this.selectData.itemName
// item.packQty=this.selectData.packQty
item.packUom=this.selectItemInfo.basicUom
}) })
resolve() resolve()
}) })
@ -341,17 +346,13 @@ export default {
// //
sencondPre(){ sencondPre(){
return new Promise((resolve,reject) => { return new Promise((resolve,reject) => {
this.canForm.canType = null
resolve() resolve()
}) })
}, },
// //
printHandle(){ printHandle(){
let _printData = { let _printData = this.flexSelectTableData[0]
supplierCode:this.selectData.supplierCode || "", _printData.details = []
supplierSimpleName:this.selectSupplierInfo.supplierSimpleName || "",
details:[]
}
this.flexSelectTableData.forEach(item=>{ this.flexSelectTableData.forEach(item=>{
_printData.details.push(item) _printData.details.push(item)
}) })

297
fe/PC/src/views/labelManage/PartiallyPreparedProducts/__PartiallyPreparedProducts.vue

@ -0,0 +1,297 @@
<template>
<div class="appMainPage" v-loading="pageLoading">
<!-- 标签管理-业务标签-半成品上架标签 -->
<StepsFormAlone
:stepArray="stepArray"
ref="steps_bcpsj"
:hideLastBtsn="true"
>
<template v-slot:stepSlot1>
<curren-Form
ref="form_bcpsj"
size="medium"
:searchData="selectData"
:searchForm="selectForm"
:rules="selectRules"
:searchOptions="editOptions"
@push="detailsDataPush(arguments)"
></curren-Form>
</template>
<template v-slot:stepSlot2>
<currenTableFlex
:flexTableData="flexSelectTableData"
:flexSearchOptions="editOptions"
:flexTableColumns="flexTableColumns"
:showAddBtn="false"
:showAllDeleteButton="false"
:isShowIndex="true"
></currenTableFlex>
</template>
<template v-slot:stepSlot3>
<!-- 结果 -->
<resultStatus>
<template>
<el-button @click="rest()">返回</el-button>
<el-button type="primary" @click="printHandle()">打印</el-button>
</template>
</resultStatus>
</template>
</StepsFormAlone>
<!-- 搜索按钮窗体组件 -->
<searchPage
ref="searchTable"
:tableLoading="Loading.autoTableLoading"
:advancedFilter="advancedFilter()"
:filterPageListParams="filterPageListParams"
:formTitle="searchTitle"
:displayDialog="displayDialog.AddNewDialog"
:searchTableData="searchData"
:searchTableColumns="searchColumns"
:searchTotalCount="searchTotalCount"
:supplierItemPage="searchPageListParams"
@handleSelectionChange="prepareFormData"
@SizeChange="searchAlterResultCount($event, searchPageListParams)"
@CurrentChange="searchAlertoldSkipCount($event, searchPageListParams)"
@tableButtonClick="searchSubmit(arguments)"
></searchPage>
</div>
</template>
<script>
import { postInventoryLabelCode_count } from "@/api/wms-core"
import currenForm from "@/components/currenForm"
import StepsFormAlone from "@/components/StepsFormAlone"
import resultStatus from "@/components/resultStatus"
import currenTableFlex from "@/components/currenTableFlex"
import {initPrintPackingCodeManyData} from "@/mixins/printMixin"
import { getPageList,getDetailed} from "@/api/wms-api"
import _ from "lodash"
import { mixins } from "@/mixins/mixins"
import { LoadingMixins } from "@/mixins/LoadingMixins"
import { filterSelectMixins } from '@/mixins/filter-Select'
export default {
name: "PartiallyPreparedProductsLabel",
mixins: [
mixins,
LoadingMixins,
filterSelectMixins
],
components: {
currenForm,
StepsFormAlone,
currenTableFlex,
resultStatus,
},
data () {
let _this = this
return {
pageLoading:false,
// options
stepArray:[
{title:"信息筛选",next:()=>{return _this.firstNext()}},
{title:"预览信息"},
{title:"打印"},
],
itemPackInfo:{},//
selectItemInfo:{},//
//
selectData:{
itemCode:"",
itemName:"",
canMake:null,//
packQty:"",
qty:"",
lot:"",
labelQty:"",
},
//
selectForm:[
{ type: "filterSelect", label: "物品代码", prop: "itemCode", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/item-basic", [
{logic:"And",column:"canMake",action:"==",value:"true"},
{logic:"And",column:"type",action:"==",value:"半成品"}
])},
searchButton: (val) => { this.showSerarchPage(val, 'basedata/Item-Basic', 'ItemBasic', '物品代码', this.selectData,[
{logic:"And",column:"canMake",action:"==",value:"true"},
{logic:"And",column:"type",action:"==",value:"半成品"}
]) },
colSpan: 12,
},
{ type: "input",disabled:true,label: "物品名称", prop: "itemName", colSpan: 12 },
{ type: "select",disabled:true, label: "制造件", prop: "canMake", options: "whetherOrNot", colSpan: 12 },
{ type: "input",disabled:true,label: "标包数量", prop: "packQty", colSpan: 12 },
{ type: "inputNumber", label: "实际数量", prop: "qty",colSpan: 12},
{ type: "input", label: "批次", prop: "lot", colSpan: 12 },
{ type: "inputNumber", label: "标签个数", prop: "labelQty", min:1,colSpan: 12 },
],
// Rules
selectRules:{
itemCode: [{ required: true, trigger: "change", message: "物品代码不能为空" }],
lot: [{ required: true, trigger: "change", message: "批次不能为空" }],
qty: [{ required: true, trigger: "change", message: "实际数量不能为空" }],
labelQty: [{ required: true, trigger: "change", message: "标签个数不能为空" }],
},
//
flexTableColumns:[
{ width:"auto",label: "物品代码", prop: "itemCode", },
{ width:"auto",label: "物品名称", prop: "itemName", },
{ width:"auto",label: "批次", prop: "lot", },
{ width:"auto",label: "标包数量", prop: "packQty", },
{ width:"auto",label: "标包单位", prop: "packUom", },
{ width:"auto",label: "实际数量", prop: "qty", },
{ width:"auto",label: "生产日期", prop: "produceDate",type: "dateTime" },
{ width:"auto",label: "箱标签", prop: "packingCode",fixed:"right" },
],
//
flexSelectTableData:[]
};
},
methods: {
//
rest(){
this.itemPackInfo = {}
this.selectItemInfo={};
this.selectData={
itemCode:"",
itemName:"",
canMake:null,//
packQty:"",
qty:"",
lot:"",
labelQty:"",
};
this.flexSelectTableData = [];
this.$refs.steps_bcpsj.returnFirstActive()
this.$refs.form_bcpsj.getDom().resetFields();
},
//
detailsDataPush (val) {
if(val[1].prop == "itemCode"){
this.pageLoading = true
let params = {
condition: {
filters: []
}
}
params.condition.filters.push(...this.isFilter("itemCode", this.selectData.itemCode))
getPageList(params, "basedata/item-pack")
.then(res => {
if (res.items.length > 0) {
this.itemPackInfo = res.items[0]
this.selectData.packQty=res.items[0].qty
// this.selectItemInfo = res.items[0];
}
getDetailed(val[0].id, "basedata/item-basic").then(res => {
this.pageLoading = false
this.selectItemInfo = Object.assign(this.selectItemInfo,res);
this.selectData.itemName=this.selectItemInfo.name;
this.selectData.canMake=this.selectItemInfo.canMake;
})
.catch(err => {
this.pageLoading = false
})
})
.catch(err => {
this.pageLoading = false
})
}
},
//
firstNext(){
return new Promise((resolve,reject) => {
this.$refs['form_bcpsj'].getDom().validate(valid=>{
if(valid){
let _data = {
fullBarcodeString: undefined,//
itemCode: this.selectData.itemCode || null,
itemName: this.selectItemInfo.name || null,
itemDesc1: this.selectItemInfo.desc1 || null,
itemDesc2: this.selectItemInfo.desc2 || null,
lot: this.selectData.lot || "",
supplierBatch: undefined,//
arriveDate: undefined,//
produceDate: undefined,//
expireDate: undefined,//
stdPackQty: Number(this.selectItemInfo.stdPackQty) || 0,
uom: this.selectItemInfo.basicUom || "",
qty: Number(this.selectData.qty),
labelStatus: undefined,//
recommendLocationCode: undefined,//
locationErpCode: undefined,//
containerCode: undefined,//
poNumber: undefined,//
rpNumber: undefined,//
asnNumber: undefined,//
qLevel: undefined,//
qualityFile: undefined,//
prodLine: undefined,//
team: undefined,//
shift: undefined,//
specifications: this.selectItemInfo.color || null,
supplierCode: undefined,//
supplierName: undefined,//
supplierSimpleName: undefined,//
supplierItemCode: undefined,//
supplierItemName: undefined,//
labelType: 2,
planArriveDate: undefined,//
}
// let _data = this.selectItemInfo
// _data.itemCode=this.selectData.itemCode,
// _data.itemName= this.selectData.itemName,
// _data.stdPackQty= Number(this.selectData.packQty) || 0,
// _data.lot=this.selectData.lot,
// _data.qty=Number(this.selectData.qty),
// _data.uom= this.selectItemInfo.basicUom || "",
// _data.itemDesc1= this.selectItemInfo.desc1 || "",
// _data.itemDesc2= this.selectItemInfo.desc2 || "",
// _data.labelType= 2,
// _data.company= localStorage.getItem("company"),
//
this.pageLoading = true;
postInventoryLabelCode_count({count:this.selectData.labelQty}, _data)
.then(res => {
this.pageLoading = false
this.flexSelectTableData = res
this.flexSelectTableData.forEach(item=>{
item.packingCode=item.code
item.packQty=this.itemPackInfo.qty
item.packUom=this.itemPackInfo.basicUom
})
resolve()
})
.catch(err => {
this.pageLoading = false
reject()
})
}
})
})
},
//
printHandle(){
// let _printData = {details:[]}
let _printData = this.flexSelectTableData[0]
_printData.details = []
this.flexSelectTableData.forEach(item=>{
_printData.details.push(item)
})
_printData.title = "半成品上架标签"
this.Print(initPrintPackingCodeManyData(_printData))
},
//
isFilter (val, data) {
let filter = [
{
logic: "And",
column: val,
action: "==",
value: data
}
]
return filter
},
},
}
</script>

424
fe/PC/src/views/labelManage/PartiallyPreparedProducts/__RecycledMaterialsLabel.vue

@ -0,0 +1,424 @@
<template>
<div class="appMainPage" v-loading="pageLoading">
<!-- 标签管理-业务标签-创建标签(原回收料标签) -->
<StepsFormAlone
:stepArray="stepArray"
ref="steps_create"
:hideLastBtsn="true"
>
<template v-slot:stepSlot1>
<curren-Form
ref="form_create"
size="medium"
:searchData="selectData"
:searchForm="selectForm"
:rules="selectRules"
:searchOptions="editOptions"
@push="detailsDataPush(arguments)"
></curren-Form>
</template>
<template v-slot:stepSlot2>
<currenTableFlex
:flexTableData="flexSelectTableData"
:flexSearchOptions="editOptions"
:flexTableColumns="flexTableColumns"
:showAddBtn="false"
:showAllDeleteButton="false"
:isShowIndex="true"
></currenTableFlex>
</template>
<template v-slot:stepSlot3>
<!-- 结果 -->
<resultStatus>
<template>
<el-button @click="rest()">返回</el-button>
<el-button type="primary" @click="printHandle()">打印</el-button>
</template>
</resultStatus>
</template>
</StepsFormAlone>
<!-- 搜索按钮窗体组件 -->
<searchPage
ref="searchTable"
:tableLoading="Loading.autoTableLoading"
:advancedFilter="advancedFilter()"
:filterPageListParams="filterPageListParams"
:formTitle="searchTitle"
:displayDialog="displayDialog.AddNewDialog"
:searchTableData="searchData"
:searchTableColumns="searchColumns"
:searchTotalCount="searchTotalCount"
:supplierItemPage="searchPageListParams"
@handleSelectionChange="prepareFormData"
@SizeChange="searchAlterResultCount($event, searchPageListParams)"
@CurrentChange="searchAlertoldSkipCount($event, searchPageListParams)"
@tableButtonClick="searchSubmit(arguments)"
></searchPage>
<!-- 制造件/采购件选择 -->
<el-dialog
:title="canTypeTitle"
:visible.sync="canTypeShow"
>
<el-form :model="canForm" :rules="canRules" ref="form_canType" >
<el-form-item prop="canType">
<el-radio v-model="canForm.canType" label="1">采购标签</el-radio>
<el-radio v-model="canForm.canType" label="2">生产标签</el-radio>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="canSelectHandle('0')"> </el-button>
<el-button type="primary" @click="canSelectHandle('1')"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { postInventoryLabelCode_count } from "@/api/wms-core"
import currenForm from "@/components/currenForm"
import StepsFormAlone from "@/components/StepsFormAlone"
import resultStatus from "@/components/resultStatus"
import currenTableFlex from "@/components/currenTableFlex"
import {initPrintPackingCodeManyData} from "@/mixins/printMixin"
import _ from "lodash"
import { mixins } from "@/mixins/mixins"
import { LoadingMixins } from "@/mixins/LoadingMixins"
import { filterSelectMixins } from '@/mixins/filter-Select'
export default {
mixins: [
mixins,
LoadingMixins,
filterSelectMixins
],
components: {
currenForm,
StepsFormAlone,
currenTableFlex,
resultStatus,
},
name: "RecycledMaterialsLabel",
data () {
let _this = this
return {
pageLoading:false,
// options
stepArray:[
{title:"信息筛选",next:()=>{return _this.firstNext()}},
{title:"预览信息",cancle:()=>{return _this.sencondPre()}},
{title:"打印"},
],
selectItemInfo:{},//
selectSupplierInfo:{},//
//
defaultSelectData:{
itemCode:"",
itemName:"",
// packQty:"",
qty:"",
lot:"",
labelQty:"",
supplierCode:"",
remark:"",
canBuy:null,//
canMake:null,//
isRecycled:null,//
canOutsourcing:null,//
labelType:null,// /
},
//
selectData:{},
//
selectForm:[
{
type: "filterSelect", label: "物品代码", prop: "itemCode", optionsLabel: "name", optionsValue: "code", clearable:true,
focus: (type,val) => { return this.getFilterList(type, val, "basedata/item-basic",
// [{logic:"And",column:"canMake",action:"!=",value:"true"}] //
)},
searchButton: (val) => { this.showSerarchPage(val, 'basedata/Item-Basic', 'ItemBasic', '物品代码', this.selectData,
// [{logic:"And",column:"canMake",action:"!=",value:"true"}] //
)},
colSpan: 12,
},
{ type: "input",disabled:true,label: "物品名称", prop: "itemName", colSpan: 12 },
{ type: "select",disabled:true, label: "制造件", prop: "canMake", options: "whetherOrNot", colSpan: 12 },
{ type: "select", disabled:true,label: "采购件", prop: "canBuy", options: "whetherOrNot", colSpan: 12 },
{ type: "select", disabled:true,label: "回收件", prop: "isRecycled", options: "whetherOrNot", colSpan: 12 },
{ type: "select", disabled:true,label: "外包件", prop: "canOutsourcing", options: "whetherOrNot", colSpan: 12 },
// { type: "input",disabled:true,label: "", prop: "packQty", colSpan: 12 },
{ type: "inputNumber", label: "实际数量", prop: "qty",colSpan: 12 },
{ type: "input", label: "批次", prop: "lot", colSpan: 12 },
{ type: "inputNumber", label: "标签个数", prop: "labelQty", min:1,colSpan: 12 },
{ type: "filterSelect", label: "供应商代码", prop: "supplierCode", optionsLabel: "supplierSimpleName", optionsValue: "supplierCode", clearable:true,
beforeFocus:()=>{if(!this.selectData.itemCode || this.selectData.itemCode.length <= 0){this.$message.error('请输入物品代码'); return false}else{return true}},
focus: (type,val) => { return this.getFilterList(type, val, "basedata/supplier-item",this.isFilter("itemCode", this.selectData.itemCode))},
searchButton: (val) => { this.showSerarchPage(val, 'basedata/supplier-item', 'SupplierItem', '供应商代码', this.selectData,
this.isFilter("itemCode", this.selectData.itemCode)
) },
colSpan: 12,
},
{ type: "input", label: "备注", prop: "remark", colSpan: 12 },
],
// Rules
selectRules:{
itemCode: [{ required: true, trigger: "change", message: "物品代码不能为空" },],
// lot: [{ required: true, trigger: "change", message: "" }],
qty: [{ required: true, trigger: "change", message: "实际数量不能为空" }],
labelQty: [{ required: true, trigger: "change", message: "标签个数不能为空" }],
},
//
flexTableColumns:[
{ label: "物品代码", prop: "itemCode", },
{ label: "物品名称", prop: "itemName", },
{ label: "批次", prop: "lot", },
// { width:"auto",label: "", prop: "packQty", },
// { width:"auto",label: "", prop: "packUom", },
{ label: "实际数量", prop: "qty", },
{ label: "供应商代码", prop: "supplierCode", },
{ label: "供应商简称", prop: "supplierSimpleName", },
{ width:"auto",label: "供应商零件号", prop: "supplierItemCode", },
{ width:"auto",label: "供应商零件名", prop: "supplierItemName", },
{ width:"auto",label: "备注", prop: "remark", },
{ width:"auto",label: "生产日期", prop: "produceDate",type: "dateTime" },
{ width:"auto",label: "箱标签", prop: "packingCode",fixed:"right" },
],
//
flexSelectTableData:[],
canTypeShow:false,///
canTypeTitle:"",///
canForm:{
canType:null
},///
canRules:{
canType: [{ required: true, trigger: "change", message: "请选择类型" }],
},
};
},
created(){
this.selectData = this.defaultSelectData
},
methods: {
//
rest(){
this.selectItemInfo={};
this.selectSupplierInfo = {}
this.selectData = this.defaultSelectData
this.flexSelectTableData = [];
this.$refs.steps_create.returnFirstActive()
this.$refs.form_create.getDom().resetFields();
},
//
detailsDataPush (val) {
//
if(val[1].prop == "itemCode"){
this.canForm.canType = null
this.selectItemInfo = val[0];
this.selectData.itemName = this.selectItemInfo.name
this.selectData.canBuy=this.selectItemInfo.canBuy;
this.selectData.canMake=this.selectItemInfo.canMake;
this.selectData.isRecycled=this.selectItemInfo.isRecycled;
this.selectData.canOutsourcing=this.selectItemInfo.canOutsourcing;
this.selectData.supplierCode = ""
// this.pageLoading = true
// let params = {
// condition: {
// filters: []
// }
// }
// params.condition.filters.push(...this.isFilter("itemCode", this.selectData.itemCode))
// getPageList(params, "basedata/item-pack")
// .then(res => {
// if (res.items.length > 0) {
// this.selectItemInfo = res.items[0];
// // this.selectItemInfo.itemCode = selectData.itemCode
// // this.selectItemInfo.itemName = val[0].name
// }
// getDetailed(val[0].id, "basedata/item-basic").then(res => {
// this.pageLoading = false
// this.selectItemInfo = Object.assign(this.selectItemInfo,res);
// this.selectData.itemName=this.selectItemInfo.name;
// this.selectData.packQty=this.selectItemInfo.packQty || "";
// })
// .catch(err => {
// this.pageLoading = false
// })
// })
// .catch(err => {
// this.pageLoading = false
// })
}
//
if(val[1].prop == "supplierCode"){
this.selectSupplierInfo = val[0];
this.selectData.supplierCode = this.selectSupplierInfo.supplierCode
}
},
// /--
canSelectHandle(val){
//
if(val == '0'){
this.canTypeShow = false
this.canForm.canType = null
}
//
else{
this.$refs['form_canType'].validate(valid=>{
if(valid){
this.canTypeShow = false
document.getElementsByClassName("stepsAloneBtn-next")[0].click()
}
})
}
},
//
firstNext(){
return new Promise((resolve,reject) => {
this.$refs['form_create'].getDom().validate(valid=>{
if(valid){
// /
if(this.selectItemInfo.canBuy && this.selectItemInfo.canMake && this.canForm.canType == null){
this.canForm.canType = null
this.canTypeShow = true
this.canTypeTitle = `${this.selectData.itemCode}】即是采购件,也是制造件,请选择生成标签的类型`
reject()
return
}
// /
if(!this.selectItemInfo.canBuy && !this.selectItemInfo.canMake && this.canForm.canType == null){
this.canForm.canType = null
this.canTypeShow = true
this.canTypeTitle = `${this.selectData.itemCode}】即不是采购件,也不是制造件,请选择生成标签的类型`
reject()
return
}
// true
if((this.selectItemInfo.canBuy && !this.selectItemInfo.canMake) || (!this.selectItemInfo.canBuy && this.selectItemInfo.canMake)){
this.canForm.canType = this.selectItemInfo.canBuy ? "1" : "2";
}
// console.log(this.selectItemInfo)//basedata/item-basic/list
// console.log(this.selectData)
// console.log(this.selectSupplierInfo)//basedata/supplier-item/list
let _data = {
fullBarcodeString: undefined,//
itemCode: this.selectData.itemCode || null,
itemName: this.selectItemInfo.name || null,
itemDesc1: this.selectItemInfo.desc1 || null,
itemDesc2: this.selectItemInfo.desc2 || null,
lot: this.selectData.lot || "",
supplierBatch: undefined,//
arriveDate: undefined,//
produceDate: undefined,//
expireDate: undefined,//
stdPackQty: Number(this.selectItemInfo.stdPackQty) || 0,
uom: this.selectItemInfo.basicUom || "",
qty: Number(this.selectData.qty),
labelStatus: undefined,//
recommendLocationCode: undefined,//
locationErpCode: undefined,//
containerCode: undefined,//
supplierCode: this.selectData.supplierCode || null,
poNumber: undefined,//
rpNumber: undefined,//
asnNumber: undefined,//
qLevel: undefined,//
qualityFile: undefined,//
prodLine: undefined,//
team: undefined,//
shift: undefined,//
specifications: this.selectItemInfo.color || null,
supplierName: this.selectSupplierInfo.supplierName || undefined,//
supplierSimpleName: this.selectSupplierInfo.supplierSimpleName || null,
supplierItemCode: this.selectSupplierInfo.supplierItemCode || null,
supplierItemName: this.selectSupplierInfo.itemName || null,
labelType: Number(this.canForm.canType),
planArriveDate: undefined,//
remark:this.selectData.remark,//
}
// let _data = JSON.parse(JSON.stringify(this.selectItemInfo))
// delete _data.concurrencyStamp;
// delete _data.company;
// delete _data.id;
// delete _data.lastModificationTime;
// delete _data.lastModifierId;
// delete _data.creationTime;
// delete _data.creatorId;
// _data.itemCode=this.selectData.itemCode,
// _data.itemName= this.selectData.itemName,
// _data.stdPackQty= Number(this.selectData.packQty) || 0,
// _data.lot=this.selectData.lot || "",
// _data.qty=Number(this.selectData.qty),
// _data.remark=this.selectData.remark,
// // _data.uom= this.selectItemInfo.packUom || "",
// _data.uom= this.selectItemInfo.basicUom || "",
// _data.itemDesc1= this.selectItemInfo.desc1 || "",
// _data.itemDesc2= this.selectItemInfo.desc2 || "",
// _data.labelType= Number(this.canForm.canType),
// _data.company= localStorage.getItem("company"),
// //
// _data.supplierCode = this.selectData.supplierCode || "",
// _data.supplierName = this.selectSupplierInfo.supplierName || "",
// _data.supplierSimpleName = this.selectSupplierInfo.supplierSimpleName || "",
// _data.supplierItemCode = this.selectSupplierInfo.supplierItemCode || "",
// _data.supplierItemName = this.selectSupplierInfo.supplierItemName || this.selectSupplierInfo.itemName || "",
// _data.supplierPackQty = this.selectSupplierInfo.supplierPackQty || "",
// _data.supplierPackUom = this.selectSupplierInfo.supplierPackUom || "",
//
this.pageLoading = true;
postInventoryLabelCode_count({count:this.selectData.labelQty}, _data)
.then(res => {
this.canForm.canType = null
this.pageLoading = false
this.flexSelectTableData = res
this.flexSelectTableData.forEach(item=>{
item.packingCode=item.code
// item.itemName=this.selectData.itemName
// item.packQty=this.selectData.packQty
// item.packUom=this.selectItemInfo.basicUom
})
resolve()
})
.catch(err => {
this.pageLoading = false
reject()
})
}
})
})
},
//
sencondPre(){
return new Promise((resolve,reject) => {
this.canForm.canType = null
resolve()
})
},
//
printHandle(){
// let _printData = {
// // supplierCode:this.selectData.supplierCode || "",
// // supplierSimpleName:this.selectSupplierInfo.supplierSimpleName || "",
// details:[]
// }
let _printData = this.flexSelectTableData[0]
_printData.details = []
this.flexSelectTableData.forEach(item=>{
_printData.details.push(item)
})
_printData.title = "标签"
this.Print(initPrintPackingCodeManyData(_printData))
},
//
isFilter (val, data) {
let filter = [
{
logic: "And",
column: val,
action: "==",
value: data
}
]
return filter
},
},
}
</script>

352
fe/PC/src/views/labelManage/PartiallyPreparedProducts/__productionReturnLabel.vue

@ -0,0 +1,352 @@
<template>
<div class="appMainPage" v-loading="pageLoading">
<!-- 标签管理-业务标签-生产退库标签 -->
<StepsFormAlone
:stepArray="stepArray"
ref="steps_sctk"
:hideLastBtsn="true"
>
<template v-slot:stepSlot1>
<curren-Form
ref="form_sctk"
size="medium"
:searchData="selectData"
:searchForm="selectForm"
:rules="selectRules"
:searchOptions="editOptions"
@push="detailsDataPush(arguments)"
@clear="filterClearHandle(arguments)"
></curren-Form>
</template>
<template v-slot:stepSlot2>
<currenTableFlex
:flexTableData="flexSelectTableData"
:flexSearchOptions="editOptions"
:flexTableColumns="flexTableColumns"
:showAddBtn="false"
:showAllDeleteButton="false"
:isShowIndex="true"
></currenTableFlex>
</template>
<template v-slot:stepSlot3>
<!-- 结果 -->
<resultStatus>
<template>
<el-button @click="rest()">返回</el-button>
<el-button type="primary" @click="printHandle()">打印</el-button>
</template>
</resultStatus>
</template>
</StepsFormAlone>
<!-- 搜索按钮窗体组件 -->
<searchPage
ref="searchTable"
:tableLoading="Loading.autoTableLoading"
:advancedFilter="advancedFilter()"
:filterPageListParams="filterPageListParams"
:formTitle="searchTitle"
:displayDialog="displayDialog.AddNewDialog"
:searchTableData="searchData"
:searchTableColumns="searchColumns"
:searchTotalCount="searchTotalCount"
:supplierItemPage="searchPageListParams"
@handleSelectionChange="prepareFormData"
@SizeChange="searchAlterResultCount($event, searchPageListParams)"
@CurrentChange="searchAlertoldSkipCount($event, searchPageListParams)"
@tableButtonClick="searchSubmit(arguments)"
></searchPage>
</div>
</template>
<script>
import { postInventoryLabelCode_count } from "@/api/wms-core"
import currenForm from "@/components/currenForm"
import StepsFormAlone from "@/components/StepsFormAlone"
import resultStatus from "@/components/resultStatus"
import currenTableFlex from "@/components/currenTableFlex"
import {initPrintPackingCodeManyData} from "@/mixins/printMixin"
import { getPageList,getDetailed, getPage} from "@/api/wms-api"
import _ from "lodash"
import { mixins } from "@/mixins/mixins"
import { LoadingMixins } from "@/mixins/LoadingMixins"
import { filterSelectMixins } from '@/mixins/filter-Select'
export default {
mixins: [
mixins,
LoadingMixins,
filterSelectMixins
],
components: {
currenForm,
StepsFormAlone,
currenTableFlex,
resultStatus,
},
name: "productionReturnLabel",
data () {
let _this = this
return {
pageLoading:false,
// options
stepArray:[
{title:"信息筛选",next:()=>{return _this.firstNext()}},
{title:"预览信息"},
{title:"打印"},
],
itemPackInfo:{},//
poNumberInfo:{},//
selectItemInfo:{},//
selectSupplierInfo:{},//
//
selectData:{
itemCode:"",
itemName:"",
packQty:"",
qty:"",
lot:"",
labelQty:"",
supplierCode:"",
supplierName:"",
poNumber:"",
},
//
selectForm:[
{ type: "filterSelect", label: "物品代码", prop: "itemCode", optionsLabel: "name", optionsValue: "code", clearable:true,
focus: (type,val) => { return this.getFilterList(type, val, "basedata/item-basic",[
{logic:"And",column:"canMake",action:"!=",value:"true"},
{logic:"And",column:"isRecycled",action:"!=",value:"true"},
])},
searchButton: (val) => { this.showSerarchPage(val, 'basedata/Item-Basic', 'ItemBasic', '物品代码', this.selectData,[
{logic:"And",column:"canMake",action:"!=",value:"true"},
{logic:"And",column:"isRecycled",action:"!=",value:"true"},
]) },
colSpan: 12,
},
{ type: "input",disabled:true,label: "物品名称", prop: "itemName", colSpan: 12 },
{ type: "filterSelect", label: "供应商代码", prop: "supplierCode", optionsLabel: "supplierSimpleName", optionsValue: "supplierCode", clearable:true,
beforeFocus:()=>{if(!this.selectData.itemCode || this.selectData.itemCode.length <= 0){this.$message.error('请输入物品代码'); return false}else{return true}},
focus: (type,val) => { return this.getFilterList(type, val, "basedata/supplier-item",this.isFilter("itemCode", this.selectData.itemCode))},
searchButton: (val) => { this.showSerarchPage(val, 'basedata/supplier-item', 'SupplierItem', '供应商代码', this.selectData,
this.isFilter("itemCode", this.selectData.itemCode)
) },
colSpan: 12,
},
{
type: "filterSelect", label: "采购订单号", prop: "poNumber",optionsValue: "poNumber", clearable:true,getType:"getPage",
beforeFocus:()=>{if(!this.selectData.itemCode || this.selectData.itemCode.length <= 0){this.$message.error('请输入物品代码'); return false}else{return true}},
focus: (type,val) => { return this.getFilterList(type, {itemCode:this.selectData.itemCode}, "wms/store/supplier-asn/get-list-by-item-code")},
colSpan: 12,
},
{ type: "input",disabled:true,label: "标包数量", prop: "packQty", colSpan: 12 },
{ type: "inputNumber", label: "实际数量", prop: "qty",colSpan: 12 },
{ type: "input", label: "批次", prop: "lot", colSpan: 12 },
{ type: "inputNumber", label: "标签个数", prop: "labelQty", min:1,colSpan: 12 },
],
// Rules
selectRules:{
itemCode: [{ required: true, trigger: "change", message: "物品代码不能为空" }],
supplierCode: [{ required: true, trigger: "change", message: "供应商代码不能为空" }],
poNumber: [{ required: true, trigger: "change", message: "采购订单号不能为空" }],
lot: [{ required: true, trigger: "change", message: "批次不能为空" }],
qty: [{ required: true, trigger: "change", message: "实际数量不能为空" }],
labelQty: [{ required: true, trigger: "change", message: "标签个数不能为空" }],
},
//
flexTableColumns:[
{ width:"auto",label: "物品代码", prop: "itemCode", },
{ width:"auto",label: "物品名称", prop: "itemName", },
{ width:"auto",label: "批次", prop: "lot", },
{ width:"auto",label: "订单号", prop: "poNumber", },
{ width:"auto",label: "供应商代码", prop: "supplierCode", },
{ width:"auto",label: "供应商名称", prop: "supplierSimpleName", },
{ width:"auto",label: "标包数量", prop: "packQty", },
{ width:"auto",label: "标包单位", prop: "packUom", },
{ width:"auto",label: "实际数量", prop: "qty", },
{ width:"auto",label: "生产日期", prop: "produceDate",type: "dateTime" },
{ width:"auto",label: "箱标签", prop: "packingCode",fixed:"right" },
],
//
flexSelectTableData:[]
};
},
methods: {
//
rest(){
this.selectSupplierInfo = {}
this.selectItemInfo={};
this.itemPackInfo = {}
this.poNumberInfo = {}
this.selectData={
itemCode:"",
itemName:"",
packQty:"",
qty:"",
lot:"",
labelQty:"",
};
this.flexSelectTableData = [];
this.$refs.steps_sctk.returnFirstActive()
this.$refs.form_sctk.getDom().resetFields();
},
//
detailsDataPush (val) {
if(val[1].prop == "itemCode"){
this.pageLoading = true
let params = {
condition: {
filters: []
}
}
params.condition.filters.push(...this.isFilter("itemCode", this.selectData.itemCode))
getPageList(params, "basedata/item-pack")
.then(res => {
if (res.items.length > 0) {
this.itemPackInfo = res.items[0]
this.selectData.packQty=res.items[0].qty
// this.selectItemInfo = res.items[0];
}
getDetailed(val[0].id, "basedata/item-basic").then(res => {
this.pageLoading = false
this.selectItemInfo = Object.assign(this.selectItemInfo,res);
this.selectData.itemName=this.selectItemInfo.name;
// this.selectData.packQty=this.selectItemInfo.packQty || "";
})
.catch(err => {
this.pageLoading = false
})
})
.catch(err => {
this.pageLoading = false
})
}
else if (val[1].prop == "supplierCode"){
this.selectSupplierInfo = val[0]
// this.selectData.supplierName = val[0].supplierName
// this.selectData.supplierSimpleName = val[0].supplierSimpleName
}
//
else if(val[1].prop == "poNumber"){
this.poNumberInfo = val[0]
// this.selectData.poNumber = val[0].poNumber
}
},
//
filterClearHandle(val){
if(val[0].prop == "itemCode"){
this.selectData.supplierCode = ""
this.selectData.poNumber = ""
this.$refs.form_sctk.getDom().resetFields();
}
},
//
firstNext(){
return new Promise((resolve,reject) => {
this.$refs['form_sctk'].getDom().validate(valid=>{
if(valid){
let _data = {
fullBarcodeString: undefined,//
itemCode: this.selectData.itemCode || null,
itemName: this.selectItemInfo.name || null,
itemDesc1: this.selectItemInfo.desc1 || null,
itemDesc2: this.selectItemInfo.desc2 || null,
lot: this.selectData.lot || "",
supplierBatch: undefined,//
arriveDate: undefined,//
produceDate: undefined,//
expireDate: undefined,//
stdPackQty: Number(this.selectItemInfo.stdPackQty) || 0,
uom: this.selectItemInfo.basicUom || "",
qty: Number(this.selectData.qty),
labelStatus: undefined,//
recommendLocationCode: undefined,//
locationErpCode: undefined,//
containerCode: undefined,//
supplierCode: this.selectData.supplierCode || null,
poNumber: this.selectData.poNumber,
rpNumber: undefined,//
asnNumber: undefined,//
qLevel: undefined,//
qualityFile: undefined,//
prodLine: undefined,//
team: undefined,//
shift: undefined,//
specifications: this.selectItemInfo.color || null,
supplierName: this.selectSupplierInfo.supplierName || undefined,//
supplierSimpleName: this.selectSupplierInfo.supplierSimpleName || null,
supplierItemCode: this.selectSupplierInfo.supplierItemCode || null,
supplierItemName: this.selectSupplierInfo.itemName || null,
labelType: 1,
planArriveDate: undefined,//
}
// let _data = this.selectItemInfo
// _data.itemCode=this.selectData.itemCode,
// _data.itemName= this.selectData.itemName,
// _data.stdPackQty= Number(this.selectData.packQty) || 0,
// _data.lot=this.selectData.lot,
// _data.qty=Number(this.selectData.qty),
// _data.uom= this.selectItemInfo.packUom || "",
// _data.itemDesc1= this.selectItemInfo.desc1 || "",
// _data.itemDesc2= this.selectItemInfo.desc2 || "",
// _data.poNumber= this.selectData.poNumber,
// _data.labelType= 1,
// _data.company= localStorage.getItem("company"),
//
this.pageLoading = true;
postInventoryLabelCode_count({count:this.selectData.labelQty}, _data)
.then(res => {
this.pageLoading = false
this.flexSelectTableData = res
this.flexSelectTableData.forEach(item=>{
item.packingCode=item.code
// item.itemName=this.selectData.itemName
item.packQty=this.itemPackInfo.qty
item.packUom=this.itemPackInfo.basicUom
// item.packQty=this.selectData.packQty
// item.packUom=this.selectItemInfo.packUom
// item.supplierName=this.selectData.supplierName
// item.supplierCode=this.selectData.supplierCode
// item.poNumber=this.selectData.poNumber
})
resolve()
})
.catch(err => {
this.pageLoading = false
reject()
})
}
})
})
},
//
printHandle(){
// let _printData = {
// poNumber:this.selectData.poNumber,
// asnNumber:this.flexSelectTableData[0].asnNumber,
// supplierCode:this.flexSelectTableData[0].supplierCode,
// supplierName:this.flexSelectTableData[0].supplierName,
// supplierSimpleName:this.flexSelectTableData[0].supplierName,
// details:[]
// }
let _printData = this.flexSelectTableData[0]
_printData.details = []
this.flexSelectTableData.forEach(item=>{
_printData.details.push(JSON.parse(JSON.stringify(item)))
})
_printData.title = "生产退库标签"
this.Print(initPrintPackingCodeManyData(_printData))
},
//
isFilter (val, data) {
let filter = [
{
logic: "And",
column: val,
action: "==",
value: data
}
]
return filter
},
},
}
</script>

90
fe/PC/src/views/labelManage/PartiallyPreparedProducts/productionReturnLabel.vue

@ -58,13 +58,14 @@
</div> </div>
</template> </template>
<script> <script>
import { initDataToHttpFormat } from "@/utils/index"
import { postInventoryLabelCode_count } from "@/api/wms-core" import { postInventoryLabelCode_count } from "@/api/wms-core"
import currenForm from "@/components/currenForm" import currenForm from "@/components/currenForm"
import StepsFormAlone from "@/components/StepsFormAlone" import StepsFormAlone from "@/components/StepsFormAlone"
import resultStatus from "@/components/resultStatus" import resultStatus from "@/components/resultStatus"
import currenTableFlex from "@/components/currenTableFlex" import currenTableFlex from "@/components/currenTableFlex"
import {initPrintPackingCodeManyData} from "@/mixins/printMixin" import {initPrintPackingCodeManyData} from "@/mixins/printMixin"
import { getPageList,getDetailed, getPage} from "@/api/wms-api" import { getPageList,getDetailed } from "@/api/wms-api"
import _ from "lodash" import _ from "lodash"
import { mixins } from "@/mixins/mixins" import { mixins } from "@/mixins/mixins"
import { LoadingMixins } from "@/mixins/LoadingMixins" import { LoadingMixins } from "@/mixins/LoadingMixins"
@ -92,7 +93,10 @@ export default {
{title:"预览信息"}, {title:"预览信息"},
{title:"打印"}, {title:"打印"},
], ],
itemPackInfo:{},//
poNumberInfo:{},//
selectItemInfo:{},// selectItemInfo:{},//
selectSupplierInfo:{},//
// //
selectData:{ selectData:{
itemCode:"", itemCode:"",
@ -104,6 +108,8 @@ export default {
supplierCode:"", supplierCode:"",
supplierName:"", supplierName:"",
poNumber:"", poNumber:"",
arriveDate:undefined,
produceDate:undefined,
}, },
// //
selectForm:[ selectForm:[
@ -137,6 +143,8 @@ export default {
{ type: "inputNumber", label: "实际数量", prop: "qty",colSpan: 12 }, { type: "inputNumber", label: "实际数量", prop: "qty",colSpan: 12 },
{ type: "input", label: "批次", prop: "lot", colSpan: 12 }, { type: "input", label: "批次", prop: "lot", colSpan: 12 },
{ type: "inputNumber", label: "标签个数", prop: "labelQty", min:1,colSpan: 12 }, { type: "inputNumber", label: "标签个数", prop: "labelQty", min:1,colSpan: 12 },
{ type: "dateTime", label: "生产时间", prop: "produceDate", colSpan: 12 },
{ type: "dateTime", label: "到货时间", prop: "arriveDate", colSpan: 12 },
], ],
// Rules // Rules
selectRules:{ selectRules:{
@ -154,7 +162,7 @@ export default {
{ width:"auto",label: "批次", prop: "lot", }, { width:"auto",label: "批次", prop: "lot", },
{ width:"auto",label: "订单号", prop: "poNumber", }, { width:"auto",label: "订单号", prop: "poNumber", },
{ width:"auto",label: "供应商代码", prop: "supplierCode", }, { width:"auto",label: "供应商代码", prop: "supplierCode", },
{ width:"auto",label: "供应商名称", prop: "supplierName", }, { width:"auto",label: "供应商名称", prop: "supplierSimpleName", },
{ width:"auto",label: "标包数量", prop: "packQty", }, { width:"auto",label: "标包数量", prop: "packQty", },
{ width:"auto",label: "标包单位", prop: "packUom", }, { width:"auto",label: "标包单位", prop: "packUom", },
{ width:"auto",label: "实际数量", prop: "qty", }, { width:"auto",label: "实际数量", prop: "qty", },
@ -168,7 +176,10 @@ export default {
methods: { methods: {
// //
rest(){ rest(){
this.selectSupplierInfo = {}
this.selectItemInfo={}; this.selectItemInfo={};
this.itemPackInfo = {}
this.poNumberInfo = {}
this.selectData={ this.selectData={
itemCode:"", itemCode:"",
itemName:"", itemName:"",
@ -194,13 +205,13 @@ export default {
getPageList(params, "basedata/item-pack") getPageList(params, "basedata/item-pack")
.then(res => { .then(res => {
if (res.items.length > 0) { if (res.items.length > 0) {
this.selectItemInfo = res.items[0]; this.itemPackInfo = res.items[0]
this.selectData.packQty=res.items[0].qty
} }
getDetailed(val[0].id, "basedata/item-basic").then(res => { getDetailed(val[0].id, "basedata/item-basic").then(res => {
this.pageLoading = false this.pageLoading = false
this.selectItemInfo = Object.assign(this.selectItemInfo,res); this.selectItemInfo = Object.assign(this.selectItemInfo,res);
this.selectData.itemName=this.selectItemInfo.name; this.selectData.itemName=this.selectItemInfo.name;
this.selectData.packQty=this.selectItemInfo.packQty || "";
}) })
.catch(err => { .catch(err => {
this.pageLoading = false this.pageLoading = false
@ -211,11 +222,11 @@ export default {
}) })
} }
else if (val[1].prop == "supplierCode"){ else if (val[1].prop == "supplierCode"){
this.selectData.supplierName = val[0].supplierSimpleName this.selectSupplierInfo = val[0]
} }
// //
else if(val[1].prop == "poNumber"){ else if(val[1].prop == "poNumber"){
this.selectData.poNumberInfo = val[0] this.poNumberInfo = val[0]
} }
}, },
// //
@ -231,18 +242,42 @@ export default {
return new Promise((resolve,reject) => { return new Promise((resolve,reject) => {
this.$refs['form_sctk'].getDom().validate(valid=>{ this.$refs['form_sctk'].getDom().validate(valid=>{
if(valid){ if(valid){
let _data = this.selectItemInfo let _data = {
_data.itemCode=this.selectData.itemCode, // fullBarcodeString: undefined,//
_data.itemName= this.selectData.itemName, itemCode: this.selectData.itemCode || null,
_data.stdPackQty= Number(this.selectData.packQty) || 0, itemName: this.selectItemInfo.name || null,
_data.lot=this.selectData.lot, itemDesc1: this.selectItemInfo.desc1 || null,
_data.qty=Number(this.selectData.qty), itemDesc2: this.selectItemInfo.desc2 || null,
_data.uom= this.selectItemInfo.packUom || "", lot: this.selectData.lot || "",
_data.itemDesc1= this.selectItemInfo.desc1 || "", // supplierBatch: undefined,//
_data.itemDesc2= this.selectItemInfo.desc2 || "", arriveDate: initDataToHttpFormat(this.selectData.arriveDate),
_data.poNumber= this.selectData.poNumber, produceDate: initDataToHttpFormat(this.selectData.produceDate),
_data.labelType= 1, // expireDate: undefined,//
_data.company= localStorage.getItem("company"), stdPackQty: Number(this.selectItemInfo.stdPackQty) || 0,
uom: this.selectItemInfo.basicUom || "",
qty: Number(this.selectData.qty),
labelStatus: 1,//
// recommendLocationCode: undefined,//
// locationErpCode: undefined,//
// containerCode: undefined,//
supplierCode: this.selectData.supplierCode,
poNumber: this.selectData.poNumber,
rpNumber: this.poNumberInfo.rpNumber,
asnNumber: this.poNumberInfo.number,
// qLevel: this.selectItemInfo.qLevel || undefined,//
// qualityFile: undefined,//
// prodLine: undefined,//
// team: undefined,//
// shift: undefined,//
specifications: this.selectItemInfo.color || null,
supplierName: this.selectSupplierInfo.supplierName,
supplierSimpleName: this.selectSupplierInfo.supplierSimpleName,
supplierItemCode: this.selectSupplierInfo.supplierItemCode,
supplierItemName: this.selectSupplierInfo.itemName,
labelType: 1,
planArriveDate: initDataToHttpFormat(this.poNumberInfo.planArriveDate),
remark:this.selectData.remark,//
}
// //
this.pageLoading = true; this.pageLoading = true;
postInventoryLabelCode_count({count:this.selectData.labelQty}, _data) postInventoryLabelCode_count({count:this.selectData.labelQty}, _data)
@ -251,12 +286,9 @@ export default {
this.flexSelectTableData = res this.flexSelectTableData = res
this.flexSelectTableData.forEach(item=>{ this.flexSelectTableData.forEach(item=>{
item.packingCode=item.code item.packingCode=item.code
item.itemName=this.selectData.itemName item.packQty=this.itemPackInfo.qty
item.packQty=this.selectData.packQty item.packUom=this.itemPackInfo.basicUom
item.packUom=this.selectItemInfo.packUom
item.supplierName=this.selectData.supplierName
item.supplierCode=this.selectData.supplierCode
item.poNumber=this.selectData.poNumber
}) })
resolve() resolve()
}) })
@ -270,14 +302,8 @@ export default {
}, },
// //
printHandle(){ printHandle(){
let _printData = { let _printData = this.flexSelectTableData[0]
poNumber:this.selectData.poNumber, _printData.details = []
asnNumber:this.flexSelectTableData[0].asnNumber,
supplierCode:this.flexSelectTableData[0].supplierCode,
supplierName:this.flexSelectTableData[0].supplierName,
supplierSimpleName:this.flexSelectTableData[0].supplierName,
details:[]
}
this.flexSelectTableData.forEach(item=>{ this.flexSelectTableData.forEach(item=>{
_printData.details.push(JSON.parse(JSON.stringify(item))) _printData.details.push(JSON.parse(JSON.stringify(item)))
}) })

6
fe/PC/src/views/labelManage/RepairLabels.vue

@ -62,6 +62,7 @@ import resultStatus from "@/components/resultStatus"
import currenTableFlex from "@/components/currenTableFlex" import currenTableFlex from "@/components/currenTableFlex"
import {initPrintPackingCodeData} from "@/mixins/printMixin" import {initPrintPackingCodeData} from "@/mixins/printMixin"
import { getDetailed} from "@/api/wms-api" import { getDetailed} from "@/api/wms-api"
import { getOneInventoryLabelByCode} from "@/api/wms-core"
import _ from "lodash" import _ from "lodash"
import { mixins } from "@/mixins/mixins" import { mixins } from "@/mixins/mixins"
import { LoadingMixins } from "@/mixins/LoadingMixins" import { LoadingMixins } from "@/mixins/LoadingMixins"
@ -163,7 +164,8 @@ export default {
// params.condition.filters.push(...this.isFilter("packingCode", this.selectData.packingCode)) // params.condition.filters.push(...this.isFilter("packingCode", this.selectData.packingCode))
this.pageLoading = true this.pageLoading = true
// getDetailed(this.selectData.packingCode, "label/purchase-label/by-code") // getDetailed(this.selectData.packingCode, "label/purchase-label/by-code")
getDetailed(this.selectData.packingCode, "label/inventory-label/by-code") // getDetailed(this.selectData.packingCode, "label/inventory-label/by-code")
getOneInventoryLabelByCode(this.selectData.packingCode)
.then(res => { .then(res => {
this.pageLoading = false this.pageLoading = false
this.flexTableData = [] this.flexTableData = []
@ -194,7 +196,7 @@ export default {
// //
printHandle(){ printHandle(){
let _printData = { let _printData = {
supplierSimpleName:this.flexTableData[0].supplierSimpleName || "", supplierSimpleName:this.flexTableData[0].supplierSimpleName || this.flexTableData[0].supplierName || "",
supplierCode:this.flexTableData[0].supplierCode || "", supplierCode:this.flexTableData[0].supplierCode || "",
title:"补打标签", title:"补打标签",
contacts:this.flexTableData[0].contacts || "", contacts:this.flexTableData[0].contacts || "",

2
fe/PC/src/views/rawMaterialManage/automaticMaterialCall/automaticCallApply.vue

@ -137,7 +137,7 @@ export default {
.then(res => { .then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.getSupplierByCodesHandle_table() this.pagingCallback()
}).catch(err => { }).catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
}) })

6
fe/PC/src/views/rawMaterialManage/automaticMaterialCall/automaticCallJob-msQuery.vue

@ -98,7 +98,7 @@ export default {
}, },
data () { data () {
return { return {
URL: 'wms/job/issue-job', URL: 'wms/store/issue-job',
tableLoading: false, tableLoading: false,
handleMultipleSelection: [], handleMultipleSelection: [],
// //
@ -246,13 +246,13 @@ export default {
this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount
// : :Issue_Manual; 线:Issue_WIP; :Direct_Issue // : :Issue_Manual; 线:Issue_WIP; :Direct_Issue
let params = { let params = {
type: 'Issue_WIP' requestType: 'Issue_WIP'
} }
materialRequestByType(this.PageListParams, this.URL + '/by-type', params) materialRequestByType(this.PageListParams, this.URL + '/by-type', params)
.then(res => { .then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.getSupplierByCodesHandle_table() this.pagingCallback()
}) })
.catch(err => { .catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false

35
fe/PC/src/views/rawMaterialManage/automaticMaterialCall/automaticCallNote.vue

@ -45,7 +45,7 @@
</div> </div>
</template> </template>
<script> <script>
import { materialRequestByType } from "@/api/wms-api" import { materialRequestByType, confirm, getDetailed } from "@/api/wms-api"
import { tableMixins } from "@/mixins/TableMixins" import { tableMixins } from "@/mixins/TableMixins"
import { LoadingMixins } from "@/mixins/LoadingMixins" import { LoadingMixins } from "@/mixins/LoadingMixins"
import { drawerMixins } from "@/mixins/drawerMixins" import { drawerMixins } from "@/mixins/drawerMixins"
@ -61,6 +61,15 @@ export default {
TableHeaderMixins, TableHeaderMixins,
mixins, mixins,
], ],
computed: {
hideButton: function () {
return function (val) {
let data = true
if(this.propsData.confirmed == val){data = false}
return data
}
},
},
data () { data () {
return { return {
URL: 'wms/store/issue-note', URL: 'wms/store/issue-note',
@ -80,6 +89,14 @@ export default {
name: "print", name: "print",
size: 'mini' size: 'mini'
}, },
{
type: 'primary',
icon: 'el-icon-circle-check',
label: '确认',
hide: () => { return this.hideButton(false) },
name: "confirm",
size: 'mini'
},
] ]
}; };
}, },
@ -93,13 +110,13 @@ export default {
this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount
// : :Issue_Manual; 线:Issue_WIP; :Direct_Issue // : :Issue_Manual; 线:Issue_WIP; :Direct_Issue
let params = { let params = {
type: 'Issue_WIP' requestType: 'Issue_WIP'
} }
materialRequestByType(this.PageListParams, this.URL + '/by-type', params) materialRequestByType(this.PageListParams, this.URL + '/by-type', params)
.then(res => { .then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.getSupplierByCodesHandle_table() this.pagingCallback()
}) })
.catch(err => { .catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
@ -118,6 +135,18 @@ export default {
} }
let data = initPrintAllData(_propsData,'xbcll.rdlx',false,_option); let data = initPrintAllData(_propsData,'xbcll.rdlx',false,_option);
this.Print(data) this.Print(data)
} else if(val == 'confirm') {
this.Loading.appMainLoading = true
confirm(this.propsData.id, this.URL).then(rs => {
this.$successMsg('已确认')
getDetailed(this.propsData.id, this.URL).then(res => {
this.propsData = res
})
this.paging()
this.Loading.appMainLoading = false
}).catch(err => {
console.log(err)
})
}else { }else {
drawerMixins.methods.drawerbutton(val, this) drawerMixins.methods.drawerbutton(val, this)
} }

13
fe/PC/src/views/rawMaterialManage/beforeGroundingReturn/beforeGroundingReturnNote.vue

@ -44,7 +44,7 @@
</div> </div>
</template> </template>
<script> <script>
import { getPageListWip,allSupplierByCodes } from "@/api/wms-api" import { getPageListWip,getOneSupplierInfoByCode } from "@/api/wms-api"
import { tableMixins } from "@/mixins/TableMixins" import { tableMixins } from "@/mixins/TableMixins"
import { LoadingMixins } from "@/mixins/LoadingMixins" import { LoadingMixins } from "@/mixins/LoadingMixins"
import { drawerMixins } from "@/mixins/drawerMixins" import { drawerMixins } from "@/mixins/drawerMixins"
@ -97,7 +97,7 @@ export default {
.then(res => { .then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.getSupplierByCodesHandle_table() this.pagingCallback()
}) })
.catch(err => { .catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
@ -107,12 +107,9 @@ export default {
drawerbutton (val) { drawerbutton (val) {
// //
if(val == 'print'){ if(val == 'print'){
if((this.propsData.supplierCode) && (!this.propsData.supplierName || !this.propsData.supplierShortName)){ if((this.propsData.supplierCode) && (!this.propsData.supplierShortName)){
allSupplierByCodes([this.propsData.supplierCode]).then(res => { getOneSupplierInfoByCode(this.propsData.supplierCode).then(res => {
if(res.length > 0){ this.propsData.supplierShortName = res.shortName || res.name
this.propsData.supplierName = res[0].name
this.propsData.supplierShortName = res[0].shortName
}
let data = initPrintAllData(this.propsData,'thd.rdlx','UnqualifiedReason'); let data = initPrintAllData(this.propsData,'thd.rdlx','UnqualifiedReason');
this.Print(data) this.Print(data)
}).catch(err => { }).catch(err => {

6
fe/PC/src/views/rawMaterialManage/directIssue/directIssueNote.vue

@ -90,14 +90,14 @@ export default {
paging() { paging() {
this.Loading.tableLoading = true; this.Loading.tableLoading = true;
this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount
// : :Issue_Manual; 线:Issue_WIP; :Direct_Issue // : :Issue_Manual; 线:Issue_WIP; :Issue_Direct
let params = { let params = {
type: 'Direct_Issue' type: 'Issue_Direct'
} }
materialRequestByType(this.PageListParams, this.URL + '/by-type', params).then(res => { materialRequestByType(this.PageListParams, this.URL + '/by-type', params).then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.getSupplierByCodesHandle_table() this.pagingCallback()
}).catch(err => { }).catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
}) })

12
fe/PC/src/views/rawMaterialManage/manualMaterialRequest/IssueJob.vue

@ -98,7 +98,7 @@ export default {
}, },
data () { data () {
return { return {
URL: 'wms/job/issue-job', URL: 'wms/store/issue-job',
tableLoading: false, tableLoading: false,
handleMultipleSelection: [], handleMultipleSelection: [],
// //
@ -248,13 +248,13 @@ export default {
this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount
// : :Issue_Manual; 线:Issue_WIP; :Direct_Issue // : :Issue_Manual; 线:Issue_WIP; :Direct_Issue
let params = { let params = {
type: 'Issue_Manual' requestType: 'Issue_Manual'
} }
materialRequestByType(this.PageListParams, this.URL + '/by-type', params) materialRequestByType(this.PageListParams, this.URL + '/by-type', params)
.then(res => { .then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.getSupplierByCodesHandle_table() this.pagingCallback()
}).catch(err => { }).catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
}) })
@ -471,12 +471,10 @@ export default {
}) })
let _option = { let _option = {
details:{ details:{
fromLocationCode:"recommendLocationCode", fromLocationCode:"recommendFromLocationCode",
qty:"recommendQty", qty:"recommendQty",
uom:"recommendUom",
fromLot:"recommendLot", fromLot:"recommendLot",
toLocationErpCode:"locationErpCode", fromLocationErpCode:"recommendFromLocationErpCode",
fromLocationErpCode:"recommendLocationErpCode",
} }
} }
let data = initPrintAllData(_propsData,'xbcll.rdlx',false,_option); let data = initPrintAllData(_propsData,'xbcll.rdlx',false,_option);

4
fe/PC/src/views/rawMaterialManage/manualMaterialRequest/IssueNote.vue

@ -93,12 +93,12 @@ export default {
this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount
// : :Issue_Manual; 线:Issue_WIP; :Direct_Issue // : :Issue_Manual; 线:Issue_WIP; :Direct_Issue
let params = { let params = {
type: 'Issue_Manual' requestType: 'Issue_Manual'
} }
materialRequestByType(this.PageListParams, this.URL + '/by-type', params).then(res => { materialRequestByType(this.PageListParams, this.URL + '/by-type', params).then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.getSupplierByCodesHandle_table() this.pagingCallback()
}).catch(err => { }).catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
}) })

2
fe/PC/src/views/rawMaterialManage/manualMaterialRequest/IssueRequest.vue

@ -113,7 +113,7 @@ export default {
materialRequestByType(this.PageListParams, this.URL + '/by-type', params).then(res => { materialRequestByType(this.PageListParams, this.URL + '/by-type', params).then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.getSupplierByCodesHandle_table() this.pagingCallback()
}).catch(err => { }).catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
}) })

19
fe/PC/src/views/rawMaterialManage/materialDirectSend/materialDirectSendNote.vue

@ -45,7 +45,7 @@
</div> </div>
</template> </template>
<script> <script>
import { getPageListWip , sumPrint} from '@/api/wms-api' import { getPageListWip , sumPrint,getOneCustomerInfoByCode} from '@/api/wms-api'
import { tableMixins } from "@/mixins/TableMixins" import { tableMixins } from "@/mixins/TableMixins"
import { LoadingMixins } from "@/mixins/LoadingMixins" import { LoadingMixins } from "@/mixins/LoadingMixins"
import { drawerMixins } from "@/mixins/drawerMixins" import { drawerMixins } from "@/mixins/drawerMixins"
@ -96,15 +96,29 @@
getPageListWip(this.PageListParams, 'wms/store/deliver-note/list-for-raw').then(res => { getPageListWip(this.PageListParams, 'wms/store/deliver-note/list-for-raw').then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.getSupplierByCodesHandle_table() this.pagingCallback()
}).catch(err => { }).catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
}) })
}, },
beforePrintHandle(callback){
if((this.propsData.customerCode)){
getOneCustomerInfoByCode(this.propsData.customerCode).then(res => {
this.propsData.customerAddressCode = res.address
callback()
}).catch(err => {
console.log(err)
})
}else{
callback()
}
},
// //
drawerbutton (val) { drawerbutton (val) {
// //
if(val == 'print'){ if(val == 'print'){
this.beforePrintHandle(()=>{
let _option = { let _option = {
details:{ details:{
packingCode:"toPackingCode", packingCode:"toPackingCode",
@ -117,6 +131,7 @@
}).catch(err => { }).catch(err => {
console.log(err) console.log(err)
}) })
})
} }
}, },
}, },

36
fe/PC/src/views/rawMaterialManage/purchaseOnShelves/PutawayNote.vue

@ -45,13 +45,14 @@
</div> </div>
</template> </template>
<script> <script>
import { getPageListWip,allSupplierByCodes } from "@/api/wms-api" import { getPageListWip } from "@/api/wms-api"
import { tableMixins } from "@/mixins/TableMixins" import { tableMixins } from "@/mixins/TableMixins"
import { LoadingMixins } from "@/mixins/LoadingMixins" import { LoadingMixins } from "@/mixins/LoadingMixins"
import { drawerMixins } from "@/mixins/drawerMixins" import { drawerMixins } from "@/mixins/drawerMixins"
import { TableHeaderMixins } from "@/mixins/TableHeaderMixins" import { TableHeaderMixins } from "@/mixins/TableHeaderMixins"
import { mixins } from "@/mixins/mixins" import { mixins } from "@/mixins/mixins"
import { initPrintAllData } from '@/mixins/printMixin' import { initPrintAllData } from '@/mixins/printMixin'
import { getInventoryLabelByCodes} from "@/api/wms-core"
export default { export default {
name: "PutawayNote", name: "PutawayNote",
mixins: [ mixins: [
@ -94,7 +95,7 @@ export default {
getPageListWip(this.PageListParams, 'wms/store/putaway-note/get-list-by-purchase').then(res => { getPageListWip(this.PageListParams, 'wms/store/putaway-note/get-list-by-purchase').then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.getSupplierByCodesHandle_table() this.pagingCallback()
}).catch(err => { }).catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
}) })
@ -103,24 +104,27 @@ export default {
drawerbutton (val) { drawerbutton (val) {
// //
if(val == 'print'){ if(val == 'print'){
if((this.propsData.supplierCode) && (!this.propsData.supplierName || !this.propsData.supplierShortName)){ let _ids = []
this.Loading.tableLoading = true this.propsData.details.forEach(item => {
allSupplierByCodes([this.propsData.supplierCode]).then(res => { _ids.push(item.handledPackingCode)
this.Loading.tableLoading = false });
if(res.length > 0){ getInventoryLabelByCodes(_ids).then(res => {
this.propsData.supplierName = res[0].name this.Loading.appMainLoading = false;
this.propsData.supplierShortName = res[0].shortName let _printData = JSON.parse(JSON.stringify(this.propsData))
_printData.supplierCode = res[0].supplierCode;
_printData.supplierSimpleName = res[0].supplierSimpleName;
res.forEach((item)=>{
_printData.details.forEach((item2)=>{
if(item.itemCode == item2.itemCode){
item2.supplierItemCode = item.supplierItemCode
} }
let data = initPrintAllData(this.propsData,'ysd.rdlx'); })
})
let data = initPrintAllData(_printData,'ysd.rdlx');
this.Print(data) this.Print(data)
}).catch(err => { }).catch(err => {
this.Loading.tableLoading = false this.Loading.appMainLoading = false;
console.log(err)
}) })
}else{
let data = initPrintAllData(this.propsData,'ysd.rdlx');
this.Print(data)
}
} }
}, },
}, },

40
fe/PC/src/views/rawMaterialManage/purchaseReceipt/PurchaseOrder-ms.vue

@ -30,9 +30,9 @@
:loading="Loading.importLoading" :loading="Loading.importLoading"
:show="displayDialog.importDialog" :show="displayDialog.importDialog"
:URL="URL" :URL="URL"
:disabledMethod = {method1:false,method2:false,method3:false} :disabledMethod = {method1:true,method2:false,method3:true}
:disabledIsAllowPartImport = {isAllowPartImport1:false,isAllowPartImport2:false} :disabledIsAllowPartImport = {isAllowPartImport1:true,isAllowPartImport2:false}
methodValue="0" methodValue="1"
isAllowPartImportValue="1" isAllowPartImportValue="1"
@importClick="postImportMergeClick(arguments)" @importClick="postImportMergeClick(arguments)"
@postImportDown="importDown" @postImportDown="importDown"
@ -43,7 +43,7 @@
:drawer="displayDialog.detailsDialog" :drawer="displayDialog.detailsDialog"
:propsData="propsData" :propsData="propsData"
:tabsDesTions="tabsDesTions" :tabsDesTions="tabsDesTions"
:Butttondata="[]" :Butttondata="DrawerButtonData"
@drawerShut="(val) => (displayDialog.detailsDialog = val)" @drawerShut="(val) => (displayDialog.detailsDialog = val)"
@drawerbutton="drawerbutton" @drawerbutton="drawerbutton"
@handleCommand="drawerHandle" @handleCommand="drawerHandle"
@ -65,6 +65,7 @@ import { LoadingMixins } from "@/mixins/LoadingMixins"
import { drawerMixins } from "@/mixins/drawerMixins" import { drawerMixins } from "@/mixins/drawerMixins"
import { TableHeaderMixins } from "@/mixins/TableHeaderMixins" import { TableHeaderMixins } from "@/mixins/TableHeaderMixins"
import { mixins } from "@/mixins/mixins" import { mixins } from "@/mixins/mixins"
import { processRequest, getDetailed } from '@/api/wms-api'
export default { export default {
name: "PurchaseOrder", name: "PurchaseOrder",
mixins: [ mixins: [
@ -77,6 +78,16 @@ export default {
data () { data () {
return { return {
URL: 'wms/store/purchase-order', URL: 'wms/store/purchase-order',
DrawerButtonData: [
{
type: 'danger',
icon: 'el-icon-delete-solid',
label: '作废',
hide: false,
name: "delete",
size: 'mini'
},
],
// //
currenButtonData: [ currenButtonData: [
this.defaultImportBtn(),// this.defaultImportBtn(),//
@ -90,6 +101,27 @@ export default {
mounted () { mounted () {
this.paging(); this.paging();
}, },
methods: {
//
drawerbutton (val) {
//
if (val == 'delete') {
let that = this
that.Loading.appMainLoading = true
processRequest(that.propsData.id, that.URL + '/cancel/').then(res => {
that.$successMsg('已作废')
getDetailed(that.propsData.id, that.URL).then(res => {
that.propsData = res
})
that.paging()
that.Loading.appMainLoading = false
}).catch(err => {
console.log(err)
that.Loading.appMainLoading = false
})
}
},
},
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>

70
fe/PC/src/views/rawMaterialManage/purchaseReceipt/PurchaseReceiptNote-msQuery.vue

@ -53,7 +53,7 @@
</div> </div>
</template> </template>
<script> <script>
import { getDetailed,purRecNoteCustomInfo } from '@/api/wms-api' import { getDetailed,purRecNoteCustomInfo,getOneSupplierInfoByCode } from '@/api/wms-api'
import { getImgsDetailPopData,Enum } from "@/utils/index" import { getImgsDetailPopData,Enum } from "@/utils/index"
import { tableMixins } from "@/mixins/TableMixins" import { tableMixins } from "@/mixins/TableMixins"
import { LoadingMixins } from "@/mixins/LoadingMixins" import { LoadingMixins } from "@/mixins/LoadingMixins"
@ -70,6 +70,15 @@ export default {
TableHeaderMixins, TableHeaderMixins,
mixins, mixins,
], ],
computed: {
hideButton: function () {
return function (val) {
let data = true
if(this.firstTabs == val){data = false}
return data
}
},
},
data () { data () {
return { return {
URL: 'wms/store/purchase-receipt-note', URL: 'wms/store/purchase-receipt-note',
@ -90,7 +99,16 @@ export default {
icon: 'el-icon-printer', icon: 'el-icon-printer',
label: '打印收货单', label: '打印收货单',
hide: false, hide: false,
name: "print", hide: () => { return this.hideButton('hgpshmx') },
name: "print-shd",
size: 'mini'
},
{
type: 'info',
icon: 'el-icon-printer',
label: '打印退货单',
name: "print-thd",
hide: () => { return this.hideButton('bhgpshmx') },
size: 'mini' size: 'mini'
}, },
], ],
@ -169,15 +187,28 @@ export default {
} else { } else {
this.propsData = res this.propsData = res
} }
this.getSupplierByCodesHandle_props() this.inlineDialogCallback()
}).catch(err => { }).catch(err => {
this.Loading.DrawerLoading = false this.Loading.DrawerLoading = false
}) })
}) })
}, },
toPrintHttp(callback){
if((this.propsData.supplierCode) && (!this.propsData.supplierShortName)){
getOneSupplierInfoByCode(this.propsData.supplierCode).then(res => {
this.propsData.supplierShortName = res.shortName || res.name
callback()
}).catch(err => {
console.log(err)
})
}else{
callback()
}
},
drawerbutton (val) { drawerbutton (val) {
// //
if(val == 'print'){ if(val == 'print-shd'){
this.toPrintHttp(()=>{
let _printData = JSON.parse(JSON.stringify(this.propsData)) let _printData = JSON.parse(JSON.stringify(this.propsData))
_printData.details = [] _printData.details = []
let _hg=[],_no=[] let _hg=[],_no=[]
@ -186,15 +217,36 @@ export default {
item.statusStr = "合格" item.statusStr = "合格"
item.reasonStr = "" item.reasonStr = ""
_hg.push(item) _hg.push(item)
}else if(item.purchaseReceiptInspectStatus == 3){
item.statusStr = "不合格"
item.reasonStr = Enum(this.$store.getters.dictionaries.UnqualifiedReason, item.failedReason , 'label')
_no.push(item)
} }
// else if(item.purchaseReceiptInspectStatus == 3){
// item.statusStr = ""
// item.reasonStr = Enum(this.$store.getters.dictionaries.UnqualifiedReason, item.failedReason , 'label')
// _no.push(item)
// }
}); });
_printData.details = _hg.concat(_no); _printData.details = _hg.concat(_no);
let data = initPrintAllData(_printData,'cgshd.rdlx'); let data = initPrintAllData(_printData,'cgshd.rdlx');
this.Print(data) this.Print(data)
})
}
// 退
if(val == 'print-thd'){
this.toPrintHttp(()=>{
let _printData = JSON.parse(JSON.stringify(this.propsData))
_printData.details = []
this.propsData.details.forEach(item => {
if(item.purchaseReceiptInspectStatus == 3){
_printData.details.push(item)
}
});
let _option = {
details:{
reason:"failedReason"
}
}
let data = initPrintAllData(_printData,'thd.rdlx','UnqualifiedReason',_option);
this.Print(data)
})
} }
}, },
// table // table

2
fe/PC/src/views/rawMaterialManage/purchaseReturn/returnJob.vue

@ -91,7 +91,7 @@ export default {
}, },
data () { data () {
return { return {
URL: 'wms/job/purchase-return-job', URL: 'wms/store/purchase-return-job',
// //
currenButtonData: [ currenButtonData: [
this.defaultFieldSettingBtn(),// this.defaultFieldSettingBtn(),//

16
fe/PC/src/views/rawMaterialManage/purchaseReturn/returnNote.vue

@ -44,7 +44,7 @@
</div> </div>
</template> </template>
<script> <script>
import { getPageListWip,allSupplierByCodes } from "@/api/wms-api" import { getPageListWip,getOneSupplierInfoByCode } from "@/api/wms-api"
import { tableMixins } from "@/mixins/TableMixins" import { tableMixins } from "@/mixins/TableMixins"
import { LoadingMixins } from "@/mixins/LoadingMixins" import { LoadingMixins } from "@/mixins/LoadingMixins"
import { drawerMixins } from "@/mixins/drawerMixins" import { drawerMixins } from "@/mixins/drawerMixins"
@ -97,7 +97,7 @@ export default {
.then(res => { .then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.getSupplierByCodesHandle_table() this.pagingCallback()
}) })
.catch(err => { .catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
@ -107,18 +107,12 @@ export default {
drawerbutton (val) { drawerbutton (val) {
// //
if(val == 'print'){ if(val == 'print'){
if((this.propsData.supplierCode) && (!this.propsData.supplierName || !this.propsData.supplierShortName)){ if((this.propsData.supplierCode) && (!this.propsData.supplierShortName)){
this.Loading.appMainLoading = true getOneSupplierInfoByCode(this.propsData.supplierCode).then(res => {
allSupplierByCodes([this.propsData.supplierCode]).then(res => { this.propsData.supplierShortName = res.shortName || res.name
this.Loading.appMainLoading = false
if(res.length > 0){
this.propsData.supplierName = res[0].name
this.propsData.supplierShortName = res[0].shortName
}
let data = initPrintAllData(this.propsData,'thd.rdlx','PurReturnReason'); let data = initPrintAllData(this.propsData,'thd.rdlx','PurReturnReason');
this.Print(data) this.Print(data)
}).catch(err => { }).catch(err => {
this.Loading.appMainLoading = false
console.log(err) console.log(err)
}) })
}else{ }else{

106
fe/PC/src/views/rawMaterialManage/quality/InspectNotice.vue → fe/PC/src/views/rawMaterialManage/quality/InspectRequest.vue

@ -32,7 +32,6 @@
:DrawerLoading="Loading.DrawerLoading" :DrawerLoading="Loading.DrawerLoading"
:drawer="displayDialog.detailsDialog" :drawer="displayDialog.detailsDialog"
:Butttondata="[]" :Butttondata="[]"
:dropdownData="dropdownData"
:propsData.sync="propsData" :propsData.sync="propsData"
:tabsDesTions="tabsDesTions" :tabsDesTions="tabsDesTions"
:dropdownTabsData="dropdownTabsData" :dropdownTabsData="dropdownTabsData"
@ -232,7 +231,7 @@ import { mixins } from "@/mixins/mixins"
import currenDescriptions from "@/components/currenDescriptions" import currenDescriptions from "@/components/currenDescriptions"
import pdf from "@/components/pdf" import pdf from "@/components/pdf"
export default { export default {
name: "InspectNotice", name: "InspectRequest",
mixins: [ mixins: [
tableMixins, tableMixins,
LoadingMixins, LoadingMixins,
@ -246,7 +245,7 @@ export default {
}, },
data () { data () {
return { return {
URL: 'wms/job/inspect-job', URL: 'wms/store/inspect-job',
// tab // tab
currentTagName:'hz', currentTagName:'hz',
uploadShow: false, uploadShow: false,
@ -277,6 +276,8 @@ export default {
inspectNoticeDetailsTableLoading: false, inspectNoticeDetailsTableLoading: false,
// //
inspectFormData: { inspectFormData: {
inspectUser: null,
uom: null,
samplePercent: 0, samplePercent: 0,
number: null, number: null,
otherPropertyJson: null, otherPropertyJson: null,
@ -286,55 +287,54 @@ export default {
lot: null, lot: null,
locationErpCode: null, locationErpCode: null,
failedQty: 0, failedQty: 0,
inspectUserEmail: null,
supplierBatch: null, supplierBatch: null,
produceDate: null, produceDate: null,
lastModificationTime: null, lastModificationTime: null,
creationTime: null, creationTime: null,
lastModifierId: null, lastModifierId: null,
tenantId: null,
supplierPackUom: null,
receiveQty: 0, receiveQty: 0,
remark: null, remark: null,
expireDate: null, expireDate: null,
poNumber: null, poNumber: null,
inspectType: 0, inspectType: 0,
notPassedQty: 0, notPassedQty: 0,
inspectUserName: null,
receiveUom: null,
locationCode: null, locationCode: null,
abcClass: null, abcClass: null,
locationGroup: null, locationGroup: null,
containerCode: null, containerCode: null,
id: null, id: null,
supplierPackQty: 0,
warehouseCode: null, warehouseCode: null,
creatorId: null, creatorId: null,
poLine: null, poLine: null,
masterID: null, masterID: null,
inspectUserPhone: "18182874811",
status: 0, status: 0,
goodQty: 0, goodQty: 0,
locationArea: null, locationArea: null,
failedReason: null, failedReason: null,
itemCode: null, itemCode: null,
itemName: null, itemName: null,
itemDesc1: null, itemDesc1: null,
itemDesc2: null, itemDesc2: null,
stdPackQty: 0, stdPackQty: 0,
stdPackUom: null,
packingCode:null, packingCode:null,
inspectQty: 0, inspectQty: 0,
appearance: null, appearance: null,
volume: null, volume: null,
weight: null, weight: null,
// otherPropertyJson json,
otherPropertyJson: null, otherPropertyJson: null,
details: [{ details: [{
name: '', name: '',
value: '' value: ''
}], }],
// supplierPackQty: 0,
// inspectUserPhone: "18182874811",
// stdPackUom: null,
// otherPropertyJson json,
// inspectUserEmail: null,
// tenantId: null,
// supplierPackUom: null,
// inspectUserName: null,
// receiveUom: null,
}, },
inspectForm: [ inspectForm: [
{ type: "input", label: "物品代码", prop: "itemCode", disabled: true, colSpan: 12 }, { type: "input", label: "物品代码", prop: "itemCode", disabled: true, colSpan: 12 },
@ -402,28 +402,25 @@ export default {
], ],
// -form // -form
inspectNoticeDetailsFormData: { inspectNoticeDetailsFormData: {
warehouseCode: localStorage.getItem('warehouseCode'),
supplierBatch: null, supplierBatch: null,
inspectUserPhone: null,
creationTime: null, creationTime: null,
summaryInspectStatus: 0, summaryInspectStatus: 0,
supplierPackUom: null, inspectUser: null,
uom: null,
receiveQty: 0, receiveQty: 0,
lot: null, lot: null,
notPassedQty: 0, notPassedQty: 0,
remark: null, remark: null,
itemDesc1: null, itemDesc1: null,
stdPackUom: null,
itemDesc2: null, itemDesc2: null,
receiveUom: null,
poLine: null, poLine: null,
stdPackQty: 0, stdPackQty: 0,
arriveDate: null, arriveDate: null,
goodQty: 0, goodQty: 0,
inspectUserName: null,
itemCode: null, itemCode: null,
samplePercent: 0, samplePercent: 0,
masterID: null, masterID: null,
tenantId: null,
crackQty: 0, crackQty: 0,
inspectType: 0, inspectType: 0,
lastModifierId: null, lastModifierId: null,
@ -431,8 +428,6 @@ export default {
expireDate: null, expireDate: null,
number: null, number: null,
itemName: null, itemName: null,
inspectUserEmail: null,
supplierPackQty: 0,
abcClass: null, abcClass: null,
failedReason: null, failedReason: null,
failedQty: 0, failedQty: 0,
@ -442,11 +437,20 @@ export default {
id: null, id: null,
inspectReport: null, inspectReport: null,
lastModificationTime: null, lastModificationTime: null,
filesList:[],
sampleQty: 0, // sampleQty: 0, //
goodQty: 0, filesList:[],
formFile: [], formFile: [],
details: [] details: [],
// inspectUserEmail: null,
// supplierPackQty: 0,
// tenantId: null,
// inspectUserName: null,
// receiveUom: null,
// goodQty: 0,
// supplierPackUom: null,
// inspectUserPhone: null,
// stdPackUom: null,
}, },
// -form // -form
inspectNoticeDetailsForm: [ inspectNoticeDetailsForm: [
@ -475,7 +479,7 @@ export default {
{ label: "箱码", prop: "packingCode", width:'100%' }, { label: "箱码", prop: "packingCode", width:'100%' },
{ label: "物品代码", prop: "itemCode", width:'100%' }, { label: "物品代码", prop: "itemCode", width:'100%' },
{ label: "物品名称", prop: "itemName", width:'100%' }, { label: "物品名称", prop: "itemName", width:'100%' },
{ label: "单位", prop: "receiveUom", width:'100%' }, // { label: "", prop: "receiveUom", width:'100%' },
{ label: "收货数量", prop: "receiveQty", width:'100%' }, { label: "收货数量", prop: "receiveQty", width:'100%' },
{ label: "状态", prop: "detailInspectStatus", type: "filter", filters: "detailInspectStatus", width:'100%' }, { label: "状态", prop: "detailInspectStatus", type: "filter", filters: "detailInspectStatus", width:'100%' },
{ type: "button", label: "检验", prop: "buttonHide", width:'100%' }, { type: "button", label: "检验", prop: "buttonHide", width:'100%' },
@ -580,28 +584,25 @@ export default {
} }
this.inspectNoticeDetailsFormData.formFile = [] this.inspectNoticeDetailsFormData.formFile = []
this.inspectNoticeDetailsFormData = { this.inspectNoticeDetailsFormData = {
warehouseCode: localStorage.getItem('warehouseCode'),
supplierBatch: null, supplierBatch: null,
inspectUserPhone: null,
creationTime: null, creationTime: null,
summaryInspectStatus: 0, summaryInspectStatus: 0,
supplierPackUom: null, inspectUser: null,
uom: null,
receiveQty: 0, receiveQty: 0,
lot: null, lot: null,
notPassedQty: 0, notPassedQty: 0,
remark: null, remark: null,
itemDesc1: null, itemDesc1: null,
stdPackUom: null,
itemDesc2: null, itemDesc2: null,
receiveUom: null,
poLine: null, poLine: null,
stdPackQty: 0, stdPackQty: 0,
arriveDate: null, arriveDate: null,
goodQty: 0, goodQty: 0,
inspectUserName: null,
itemCode: null, itemCode: null,
samplePercent: 0, samplePercent: 0,
masterID: null, masterID: null,
tenantId: null,
crackQty: 0, crackQty: 0,
inspectType: 0, inspectType: 0,
lastModifierId: null, lastModifierId: null,
@ -609,8 +610,6 @@ export default {
expireDate: null, expireDate: null,
number: null, number: null,
itemName: null, itemName: null,
inspectUserEmail: null,
supplierPackQty: 0,
abcClass: null, abcClass: null,
failedReason: null, failedReason: null,
failedQty: 0, failedQty: 0,
@ -620,11 +619,19 @@ export default {
id: null, id: null,
inspectReport: null, inspectReport: null,
lastModificationTime: null, lastModificationTime: null,
filesList:[],
sampleQty: 0, // sampleQty: 0, //
goodQty: 0, filesList:[],
formFile: [], formFile: [],
details: [] details: []
// inspectUserEmail: null,
// supplierPackQty: 0,
// tenantId: null,
// inspectUserName: null,
// receiveUom: null,
// goodQty: 0,
// supplierPackUom: null,
// inspectUserPhone: null,
// stdPackUom: null,
} }
this.$listAssign(this.inspectNoticeDetailsFormData, row) this.$listAssign(this.inspectNoticeDetailsFormData, row)
let findRs = this.tableDataDetails.details.filter(item => ( let findRs = this.tableDataDetails.details.filter(item => (
@ -729,6 +736,13 @@ export default {
delete item.buttonHide delete item.buttonHide
} }
}) })
// ,
this.loading = false
getDetailed(this.propsData.id, this.URL).then(res => {
this.propsData = res
})
this.paging()
this.loading = false
this.inspectNoticeDetailsTableLoading = false this.inspectNoticeDetailsTableLoading = false
}).catch(err => { }).catch(err => {
console.log(err) console.log(err)
@ -856,6 +870,13 @@ export default {
item.buttonHide = false item.buttonHide = false
} }
}) })
// ,
this.loading = false
getDetailed(this.propsData.id, this.URL).then(res => {
this.propsData = res
})
this.paging()
this.loading = false
}).catch(err => { }).catch(err => {
console.log(err) console.log(err)
}) })
@ -892,6 +913,13 @@ export default {
item.buttonHide = false item.buttonHide = false
} }
}) })
// ,
this.loading = false
getDetailed(this.propsData.id, this.URL).then(res => {
this.propsData = res
})
this.paging()
this.loading = false
}).catch(err => { }).catch(err => {
console.log(err) console.log(err)
}) })
@ -903,6 +931,7 @@ export default {
} else if (val[0] == 2) { } else if (val[0] == 2) {
this.inspectShow = false this.inspectShow = false
} }
}, },
// table // table
inspectAddTable(val) { inspectAddTable(val) {
@ -962,11 +991,11 @@ export default {
}, },
// //
cellStyle({row, column, rowIndex, columnIndex}){ cellStyle({row, column, rowIndex, columnIndex}){
if (row.detailInspectStatus == 1 && columnIndex === 6) { if (row.detailInspectStatus == 1 && columnIndex === 5) {
return 'background:#42a9b9;color:#fff' // return 'background:#42a9b9;color:#fff' //
} else if (row.detailInspectStatus == 2 && columnIndex === 6) { } else if (row.detailInspectStatus == 2 && columnIndex === 5) {
return 'background:#42b983;color:#fff'// return 'background:#42b983;color:#fff'//
} else if (row.detailInspectStatus == 3 && columnIndex === 6) { } else if (row.detailInspectStatus == 3 && columnIndex === 5) {
return 'background:#c3503e;color:#fff'// return 'background:#c3503e;color:#fff'//
} }
return '' return ''
@ -1000,6 +1029,7 @@ export default {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: flex-end; justify-content: flex-end;
padding-bottom: 15px;
} }
} }
::v-deep .jyTable{ ::v-deep .jyTable{

16
fe/PC/src/views/rawMaterialManage/quality/unqualifiedToQualified.vue

@ -97,7 +97,7 @@ export default {
.then(res => { .then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.getSupplierByCodesHandle_table() this.pagingCallback()
}).catch(err => { }).catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
}) })
@ -110,22 +110,23 @@ export default {
if (this.selectionData != undefined ) { if (this.selectionData != undefined ) {
if (this.selectionData.length > 0) { if (this.selectionData.length > 0) {
this.Loading.appMainLoading = true this.Loading.appMainLoading = true
// 20230407
let params = { let params = {
tenantId: null, tenantId: null,
remark: null, remark: null,
extraProperties: null, extraProperties: null,
worker: store.getters.name.userName, worker: store.getters.name.userName,
warehouseCode: null,
activeDate: new Date(), activeDate: new Date(),
autoSubmit: false, autoSubmit: false,
autoAgree: false, autoAgree: false,
autoHandle: false, autoHandle: false,
autoCompleteJob: false, autoCompleteJob: false,
directCreateNote: false, directCreateNote: false,
requestStatus: 0,
company: localStorage.getItem('company'),
number: null, number: null,
details: [] details: []
// warehouseCode: null,
// requestStatus: 0,
// company: localStorage.getItem('company'),
} }
// company "DongYang" // company "DongYang"
// concurrencyStamp "187ecf6d642e48f68a86f05ceddcbaea" // concurrencyStamp "187ecf6d642e48f68a86f05ceddcbaea"
@ -147,12 +148,10 @@ export default {
// status 3 // status 3
// tenantId null // tenantId null
this.selectionData.forEach(item => { this.selectionData.forEach(item => {
item.stdPackUom = null // 20230407
item.stdPackQty = 0 item.stdPackQty = 0
item.fromPackingCode = item.packingCode item.fromPackingCode = item.packingCode
item.toPackingCode = item.packingCode item.toPackingCode = item.packingCode
item.fromContainerCode = item.containerCode
item.toContainerCode = item.containerCode
item.fromLot = item.lot item.fromLot = item.lot
item.toLot = item.lot item.toLot = item.lot
item.fromLocationCode = item.locationCode item.fromLocationCode = item.locationCode
@ -173,6 +172,9 @@ export default {
item.poNumber = null item.poNumber = null
item.supplierCode = null item.supplierCode = null
params.details.push(item) params.details.push(item)
// item.fromContainerCode = item.containerCode
// item.toContainerCode = item.containerCode
// item.stdPackUom = null
}) })
convertOk(params).then(res => { convertOk(params).then(res => {
this.$message.success('已成功转为合格') this.$message.success('已成功转为合格')

4
fe/PC/src/views/rawMaterialManage/scrap/ScrapNote.vue

@ -82,14 +82,14 @@ export default {
paging() { paging() {
this.Loading.tableLoading = true; this.Loading.tableLoading = true;
this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount
// : :Scrap_Manual; 线:Scrap_WIP; // : :Scrap_Manual; 线:Scrap_WIP; :Scrap_Product
let params = { let params = {
type: 'Scrap_Manual' type: 'Scrap_Manual'
} }
materialRequestByType(this.PageListParams, this.URL + '/by-type', params).then(res => { materialRequestByType(this.PageListParams, this.URL + '/by-type', params).then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.getSupplierByCodesHandle_table() this.pagingCallback()
}).catch(err => { }).catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
}) })

4
fe/PC/src/views/systemManage/Department.vue

@ -140,7 +140,7 @@ export default {
departmentList(this.PageListParams, this.URL).then(res => { departmentList(this.PageListParams, this.URL).then(res => {
this.tableData = res.items this.tableData = res.items
this.totalCount = res.totalCount this.totalCount = res.totalCount
this.getSupplierByCodesHandle_table() this.pagingCallback()
}).catch(err => { }).catch(err => {
this.Loading.tableLoading = false this.Loading.tableLoading = false
}) })
@ -163,7 +163,7 @@ export default {
} else { } else {
this.propsData = res this.propsData = res
} }
this.getSupplierByCodesHandle_props() this.inlineDialogCallback()
}) })
.catch(err => { .catch(err => {
this.Loading.DrawerLoading = false this.Loading.DrawerLoading = false

4
fe/PC/vue.config.js

@ -38,7 +38,7 @@ module.exports = {
}, },
proxy: { proxy: {
'/base': { '/base': {
target: 'http://dev.ccwin-in.com:59099', target: 'http://dev.ccwin-in.com:60099',
changeOrigin: true, changeOrigin: true,
// logLevel: 'debug', // logLevel: 'debug',
pathRewrite: { pathRewrite: {
@ -46,7 +46,7 @@ module.exports = {
} }
}, },
'/user': { '/user': {
target: 'http://dev.ccwin-in.com:59093', target: 'http://dev.ccwin-in.com:60099/api/auth',
changeOrigin: true, changeOrigin: true,
// logLevel: 'debug', // logLevel: 'debug',
pathRewrite: { pathRewrite: {

Loading…
Cancel
Save