Browse Source

【埃驰pc】nev暂存

ag_report_nev
安虹睿 1 year ago
parent
commit
908cfb8129
  1. 3
      fe/PC/src/api/wms-api.js
  2. 12
      fe/PC/src/api/wms-core.js
  3. 43
      fe/PC/src/components/currenTable/index.vue
  4. 20
      fe/PC/src/components/currenTableFlex/index.vue
  5. 12
      fe/PC/src/filters/status.js
  6. 2
      fe/PC/src/mixins/TableMixins.js
  7. 8
      fe/PC/src/router/index.js
  8. 26
      fe/PC/src/utils/tableColumns/index.js
  9. 27
      fe/PC/src/utils/tabsDesTions/index.js
  10. 107
      fe/PC/src/views/basicData/ItemsManage/PositionCode.vue
  11. 197
      fe/PC/src/views/finishedProductManage/dismantle/customerDismantleJob.vue
  12. 28
      fe/PC/src/views/inventoryManage/InventoryQuery/splitPackingList.vue
  13. 190
      fe/PC/src/views/inventoryManage/recycledMaterials/materialsAdjustmentFunc.vue
  14. 13
      fe/PC/src/views/rawMaterialManage/quality/InspectRequest.vue

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

@ -61,8 +61,9 @@ export function postDelete(id, url) {
// })
// }
//分页+筛选
export function getPageList(data, url, includeDetails) {
export function getPageList(data, url, includeDetails,specialUrl) {
let _url = includeDetails ? baseURL + url + '/list?includeDetails='+ includeDetails : baseURL + url + '/list'
if(specialUrl) _url = baseURL + specialUrl
return request({
url: _url,
method: 'post',

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

@ -40,12 +40,22 @@ export function postInventoryLabelCode_count(params,data) {
// 拆箱 | 标签管理-拆分箱标签
export function postSplitPacking(data) {
return request({
url: baseURL + 'wms/store/transfer-note/split-packing',
url: baseURL + 'wms/store/transfer-note/split-packing-inspect',
method: 'post',
data
})
}
// 报检单-质检-拆箱
export function postSplitPackingInspect(params,data) {
return request({
url: baseURL + 'wms/store/transfer-note/split-packing-inspect',
method: 'post',
params:params,
data
})
}
// 拆箱记录列表
export function splitPackingList(data) {
return request({

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

@ -15,10 +15,12 @@
style="width: 100%"
:tree-props="treeProps"
:cell-style="cellStyle"
:key="isUpdate"
>
<el-table-column v-if="selectionTable" fixed="left" type="selection" />
<el-table-column v-if="isShowIndex" type="index" fixed="left" label="序号" width="50" />
<el-table-column
v-if="item.istrue==null?true:item.istrue"
v-for="(item, index) in TableSize"
:key="index"
:prop="item.showProp ? item.prop + '.' + item.showProp : item.prop"
@ -33,6 +35,8 @@
<i style="color: #f56c6c" v-if="item.rules && requiredRules">*</i>
</template>
<template slot-scope="scope">
<!-- 目的更新数据 -->
<div style="display:none">{{ TableSize }}</div>
<el-form>
<el-form-item
v-if="item.type == 'input'"
@ -94,10 +98,12 @@
</el-input>
</el-form-item>
<!-- 下拉框 -->
<!-- {{item.loading}} -->
<el-select
@visible-change='(data)=>{updateSelectListTable(data,item,scope)}'
v-if="item.type === 'select'"
v-model="scope.row[item.prop]"
:loading="selectLoading"
:loading="item.loading || selectLoading"
:clearable="item.clearable"
:multiple="item.multiple"
:disabled="Boolean(item.disabled) || Boolean(scope.row['disabled'])"
@ -105,9 +111,11 @@
:allow-create="item.allowCreate"
style="width: 100%"
:placeholder="'请输入' + item.label"
>
@change="changeSelect(item.prop,$event,item,scope.row,scope)"
@clear="filterClearHandle(item,scope)"
>
<el-option
v-for="(op, index) in selectOptions(item.options) ||
v-for="(op, index) in item.userOptions || selectOptions(item.options) ||
searchOptions['options']"
:label="op[item.optionsLabel] || op.label"
:value="op[item.optionsValue] || op.value"
@ -334,6 +342,13 @@ export default {
},
},
props: {
// table key
isUpdate: {
type: Boolean,
default: () => {
return false
}
},
propsData: {
type: Object,
default: () => {
@ -411,7 +426,9 @@ export default {
};
},
TableSize(){
return this.tableColumnsFilter()
console.log('computed',this.tableColumnsFilter())
this.$forceUpdate()
return this.tableColumnsFilter()
}
},
watch: {
@ -423,6 +440,18 @@ export default {
});
},
immediate: false,
},
//
tableColumns:{
handler(val, oldVal) {
this.$nextTick(()=>{
console.log('watch',val)
this.$forceUpdate()
this.$refs.multipleTable.doLayout();
})
},
deep: true,
immediate: false,
}
},
activated() {
@ -691,6 +720,12 @@ export default {
arr.push(label);
return this.getMaxLength(arr) + 60 + "px";
},
changeSelect(prop, val,item,searchData,scope) {
this.$emit("changeSelect", prop, val,item,searchData,scope)
},
updateSelectListTable(data,item,scope){
this.$emit("updateSelectListTable", data, item,scope,this.tableData)
},
//
sortChange(data) {
this.$emit("sortChange", data);

20
fe/PC/src/components/currenTableFlex/index.vue

@ -19,6 +19,10 @@
:selectionTable="selectionTable"
:isShowIndex="isShowIndex"
@push="detailsDataPush(arguments)"
@updateSelectListTable='updateSelectListTable'
:isUpdate="isUpdate"
@changeSelect="changeSelect"
@clear="clearHandle"
>
<template v-if="showAllDeleteButton">
<el-table-column
@ -85,6 +89,13 @@ export default {
// }
},
props: {
// table key
isUpdate: {
type: Boolean,
default: () => {
return false
}
},
//
showAddBtn:{
type: Boolean,
@ -301,6 +312,15 @@ export default {
detailsDataPush (val) {
this.$emit("detailsDataPush", val)
},
updateSelectListTable(data,item,scope,tableData){
this.$emit("updateSelectListTable", data,item,scope,tableData)
},
changeSelect(prop, val,item,searchData,scope) {
this.$emit("changeSelect", prop, val,item,searchData,scope)
},
clearHandle(item,scope){
this.$emit("clearHandle",item,scope)
},
}
}
</script>

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

@ -2426,16 +2426,16 @@ export function unplannedReceiptType(index, prop) {
// 位置码类型--判断前缀
export function positionCodeType(index, prop) {
let type = {
"W": {
value: "W",
1: {
value: 1,
label: "原料"
},
"Q": {
value: "Q",
2: {
value: 2,
label: "器具"
},
"K": {
value: "K",
3: {
value: 3,
label: "Kitting区"
}
}

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

@ -76,7 +76,7 @@ export const tableMixins = {
this.initPagingHeaderBtn()
this.Loading.tableLoading = true;
this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount,
getPageList(this.PageListParams, this.URL).then(res => {
getPageList(this.PageListParams, this.URL,false,this.listURL).then(res => {
this.tableData = res.items
this.totalCount = res.totalCount
this.pagingCallback(callback)

8
fe/PC/src/router/index.js

@ -164,12 +164,12 @@ export const constantRoutes = [
redirect: '/gridlayout',
hidden: true,
children: [{
path: 'materialsAdjustmentFunc',
component: () => import('@/views/inventoryManage/recycledMaterials/materialsAdjustmentFunc.vue'),
name: 'materialsAdjustmentFunc',
path: 'customerDismantleJob',
component: () => import('@/views/finishedProductManage/dismantle/customerDismantleJob.vue'),
name: 'customerDismantleJob',
meta: {
keepAlive : true,
title: '回收料功能页面',
title: '客户退拆任务',
icon: '系统首页',
}
}]

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

@ -2284,6 +2284,30 @@ export const customerDismantle = [
// { label: "直接生成记录", prop: 'directCreateNote', type: "filter", filters: "whetherOrNot" },
// ************** 确认隐藏 ************************
]
// 客户退拆任务 20230415
export const customerDismantleJob = [
{
label: "退拆记录单号",
prop: "number",
fixed: "left",
type: "name",
width: orderWidth
},
{ label: "班次", prop: 'shift' },
{ label: "车间", prop: 'workshop' },
{ label: "回收时间", prop: "recycleTime",type: "dateTime" },
{ label: "生效时间", prop: "activeDate",type: "dateTime" },
{ label: "操作员", prop: "worker" },
{ label: "创建时间", prop: "creationTime",type: "dateTime" },
{ label: "上次修改时间", prop: 'lastModificationTime', type: "dateTime" },
{ label: "备注", prop: 'remark' },
{ label: "申请编号", prop: 'requestNumber', width:orderWidth },
// ************** 确认隐藏 ************************
// { label: "创建者ID", prop: 'creatorId' },
// { label: "上次修改者ID", prop: "lastModifierId" },
// { label: "事务ID", prop: "tenantId" },
// ************** 确认隐藏 ************************
]
// 客户退拆记录 20230415
export const customerDismantleNote = [
{
@ -3958,7 +3982,7 @@ export const PositionCode = [
// 器具
export const Utensil = [
{
label: '器具',
label: '器具代码',
prop: "code",
fixed: "left",
type: "name"

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

@ -1637,6 +1637,29 @@ export const customerDismantle = [
// { label: "ID", prop: 'id' },
// ************** 确认隐藏 ************************
]
// 客户退拆任务 20230415
export const customerDismantleJob = [
{
label: "退拆记录单号",
prop: "number",
fixed: "left",
type: "name",
},
{ label: "班次", prop: 'shift' },
{ label: "车间", prop: 'workshop' },
{ label: "回收时间", prop: "recycleTime",type: "dateTime" },
{ label: "生效时间", prop: "activeDate",type: "dateTime" },
{ label: "操作员", prop: "worker" },
{ label: "创建时间", prop: "creationTime",type: "dateTime" },
{ label: "上次修改时间", prop: 'lastModificationTime', type: "dateTime" },
{ label: "备注", prop: 'remark' },
{ label: "申请编号", prop: 'requestNumber', },
// ************** 确认隐藏 ************************
// { label: "创建者ID", prop: 'creatorId' },
// { label: "上次修改者ID", prop: "lastModifierId" },
// { label: "事务ID", prop: "tenantId" },
// ************** 确认隐藏 ************************
]
// 客户退拆记录 20230415
export const customerDismantleNote = [
{ label: "退拆记录单号", prop: "number" },
@ -2829,11 +2852,13 @@ export const PositionCode = [
fixed: "left",
type: "name"
},
{ label: "位置码类型", prop: 'type', type: "filter", filters: "positionCodeType" },
{ label: _Names.itemCode, prop: "partCode" },
{ label: _Names.itemName, prop: "partName" },
{ label: _Names.itemDesc1, prop: "partDesc" },
// { label: _Names.itemDesc2, prop: "desc2" },
{ label: _Names.basicUom, prop: "basicUom" },
{ label: _Names.stdPackQty, prop: "stdPackQty" },
{ label: _Names.locationCode, prop: "locationCode" },
{ label: _Names.locationName, prop: "locationName" },
{ label: _Public.creationTime, prop: "creationTime", type: "dateTime" },
@ -2843,7 +2868,7 @@ export const PositionCode = [
// 器具
export const Utensil = [
{ label: '器具',prop: "code",},
{ label: '器具代码',prop: "code",},
{ label: _Names.stdPackQty, prop: "stdQty" },
{ label: _Public.creationTime, prop: "creationTime", type: "dateTime" },
{ label: '创建人', prop: "creator" },

107
fe/PC/src/views/basicData/ItemsManage/PositionCode.vue

@ -39,6 +39,8 @@
:Handle="editHandle"
:Rules="formReveal ? editRules.cerateRule : editRules.editRule"
@push="addNewDataPush"
@clear="addNewDataClear"
@changeSelect="changeSelect"
@FormSubmit="FormSubmitHandle"
@close="FormClose"
@goBack="goBack"
@ -131,6 +133,7 @@ export default {
code:null,
codeSuffix:null,
type:null,
codeType:null,
basicUom:null,
stdPackQty:null,
partCode:null,
@ -138,14 +141,13 @@ export default {
partDesc:null,
locationCode:null,
locationName:null,
tenantId:null,
extraProperties: {},
},
//
editFormData: {
code:null,
codeSuffix:null,
type:null,
codeType:null,
basicUom:null,
stdPackQty:null,
partCode:null,
@ -158,7 +160,7 @@ export default {
editOptions: {},
CreateForm: [
{ type: "select", label: "类型", prop: "type", colSpan: 12 ,options:'positionCodeType' },
{ type: "prefixInput", label: "位置码", prop: "codeSuffix",prefixProp:"type",prefixWidth:'50px',prefixDisabled:true, colSpan: 12 },
{ type: "prefixInput", label: "位置码", prop: "codeSuffix",prefixProp:"codeType",prefixWidth:'50px',prefixDisabled:true, colSpan: 12 },
{ type: "inputNumber", label: "标包数量", prop: "stdPackQty", colSpan: 12, min:1 },
{ type: "filterSelect", label: "物品代码", prop: "partCode", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/Item-Basic")},
@ -169,7 +171,7 @@ export default {
{ type: "input", disabled:true, label: "物品描述", prop: "partDesc",colSpan: 12 },
{ type: "input", disabled:true, label: "单位", prop: "basicUom",colSpan: 12 },
{ type: "filterSelect", label: "库位代码", prop: "locationCode", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/location")},
focus: (type,val) => { return this.getFilterList(type, val, "basedata/location",this.isFilterLocation(this.CreateFormData.codeType))},
searchButton: (val) => { this.showSerarchPage(val, 'basedata/location', 'Location', '库位选择', this.CreateFormData) },
colSpan: 12
},
@ -178,7 +180,7 @@ export default {
],
editForm: [
{ type: "select",disabled:true, label: "类型", prop: "type", colSpan: 12 ,options:'positionCodeType' },
{ disabled:true,type: "prefixInput", label: "位置码", prop: "codeSuffix",prefixProp:"type",prefixWidth:'50px',prefixDisabled:true, colSpan: 12 },
{ disabled:true,type: "prefixInput", label: "位置码", prop: "codeSuffix",prefixProp:"codeType",prefixWidth:'50px',prefixDisabled:true, colSpan: 12 },
{ type: "inputNumber", label: "标包数量", prop: "stdPackQty", colSpan: 12, min:1 },
{ type: "filterSelect", label: "物品代码", prop: "partCode", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/Item-Basic")},
@ -189,7 +191,7 @@ export default {
{ type: "input", disabled:true, label: "物品描述", prop: "partDesc",colSpan: 12 },
{ type: "input", disabled:true, label: "单位", prop: "basicUom",colSpan: 12 },
{ type: "filterSelect", label: "库位代码", prop: "locationCode", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/location")},
focus: (type,val) => { return this.getFilterList(type, val, "basedata/location",this.isFilterLocation(this.editFormData.codeType))},
searchButton: (val) => { this.showSerarchPage(val, 'basedata/location', 'Location', '库位选择', this.editFormData) },
colSpan: 12
},
@ -239,6 +241,87 @@ export default {
}
}
},
addNewDataClear(val){
console.log(245,val)
if(val[0].prop == "partCode"){
if(this.formReveal){
this.CreateFormData.partName = null
this.CreateFormData.partDesc = null
this.CreateFormData.basicUom = null
this.CreateFormData.extraProperties = null
}else{
this.editFormData.partName = null
this.editFormData.partDesc = null
this.editFormData.basicUom = null
this.editFormData.extraProperties = null
}
}
else if(val[0].prop == "locationCode"){
if(this.formReveal){
this.CreateFormData.locationName = null
}else{
this.editFormData.locationName = null
}
}
},
//
isFilterLocation (type) {
let filter = []
if(type == "W"){
filter = [
{
logic: "And",
column: 'type',
action: "==",
value: "2"
}
]
}
return filter
},
initCodeType(val){
if(this.formReveal){
switch (val) {
case 1:
this.CreateFormData.codeType = 'W'
break;
case 2:
this.CreateFormData.codeType = 'Q'
break;
case 3:
this.CreateFormData.codeType = 'K'
break;
default:
this.CreateFormData.codeType = ''
break;
}
}else{
switch (val) {
case 1:
this.editFormData.codeType = 'W'
break;
case 2:
this.editFormData.codeType = 'Q'
break;
case 3:
this.editFormData.codeType = 'K'
break;
default:
this.editFormData.codeType = ''
break;
}
}
},
changeSelect(prop,val){
if(prop == 'type'){
this.initCodeType(val)
if(this.formReveal){
this.CreateFormData.locationCode = null
}else{
this.editFormData.locationCode = null
}
}
},
drawerbuttonHandle(val){
if(val == "edit"){
this.formTitle = this.$route.meta.title + "编辑";
@ -258,9 +341,11 @@ export default {
this.displayDialog.editDialog = true
// todo:-code
this.initCodeType(this.editFormData.type)
console.log([1,2,3].indexOf(this.editFormData.type))
// this.editFormData.type = (this.editFormData.type == 'W' || this.editFormData.type == 'Q' || this.editFormData.type == 'K') ? this.editFormData.type : (this.editFormData.code && this.editFormData.code.length > 0 ? this.editFormData.code.slice(0,1) : null)
this.editFormData.type = (this.editFormData.type == 'W' || this.editFormData.type == 'Q' || this.editFormData.type == 'K') ? this.editFormData.type : null
this.editFormData.codeSuffix = (this.editFormData.type == 'W' || this.editFormData.type == 'Q' || this.editFormData.type == 'K') ? (this.editFormData.code && this.editFormData.code.length > 0 ? this.editFormData.code.slice(1) : null) : this.editFormData.code
// this.editFormData.type = (this.editFormData.type == 'W' || this.editFormData.type == 'Q' || this.editFormData.type == 'K') ? this.editFormData.type : null
this.editFormData.codeSuffix = [1,2,3].indexOf(this.editFormData.type) >= 0 ? (this.editFormData.code && this.editFormData.code.length > 0 ? this.editFormData.code.slice(1) : null) : this.editFormData.code
}else{
this.drawerbutton(val)
}
@ -268,11 +353,9 @@ export default {
FormSubmitHandle(val){
// todo:codeType + code
if(this.formReveal){
this.CreateFormData.code = this.CreateFormData.type + this.CreateFormData.codeSuffix
delete this.CreateFormData.codeSuffix
this.CreateFormData.code = this.CreateFormData.codeType + this.CreateFormData.codeSuffix
}else{
this.editFormData.code = this.editFormData.type + this.editFormData.codeSuffix
delete this.editFormData.codeSuffix
this.editFormData.code = this.editFormData.codeType + this.editFormData.codeSuffix
}
this.$nextTick(()=>{
this.FormSubmit(val)

197
fe/PC/src/views/finishedProductManage/dismantle/customerDismantleJob.vue

@ -0,0 +1,197 @@
<template>
<div class="page-box" v-loading="Loading.appMainLoading">
<tablePagination
:currenButtonData="currenButtonData"
:tableData="tableData"
:tableLoading="Loading.tableLoading"
:tableColumns="tableColumns"
@rowDrop="rowDrop"
:totalCount="totalCount"
:multipleSelection="multipleSelection"
:MaxResultCount="PageListParams.MaxResultCount"
@topbutton="topbutton"
@inlineDialog="inlineDialog"
@sortChange="sortChange"
@alertoldSkipCount="alertoldSkipCount"
@alterResultCount="alterResultCount"
@handleSelectionChange="handleSelectionChange"
:currentPageProps="oldSkipCount"
:quicklySearchOption="quicklySearchOption"
@quicklySearchClick="quicklySearchClick"
@quicklySearchClear="quicklySearchClear"
:primarySearchOption="primarySearchOption"
@overallSearchFormClick="overallSearchFormClick"
:httpOverallSearchData="httpOverallSearchData"
>
</tablePagination>
<curren-Drawer
:title="tableColumns"
:DrawerLoading="Loading.DrawerLoading"
:drawer="displayDialog.detailsDialog"
:propsData="propsData"
:Butttondata="[]"
:tabsDesTions="tabsDesTions"
@drawerShut="(val) => (displayDialog.detailsDialog = val)"
@drawerbutton="drawerbutton"
@handleCommand="drawerHandle"
@close-value="closeValue"
:tableColumns="detailsTableColumns"
:totalCount="totalCountDetails"
:MaxResultCount="MaxResultCountDetails"
@alterResultCountDetails="alterResultCountDetails"
@alertoldSkipCountDetails="alertoldSkipCountDetails"
:dropdownTabsData="dropdownTabsData"
:firstTabs="firstTabs"
></curren-Drawer>
<!--编辑-->
<StepsFormNotView
:formTitle="formTitle"
:displayDialog="displayDialog"
:CreateFormData="CreateFormData"
:CreateForm="CreateForm"
:Rules="editRules.cerateRule"
:Options="editOptions"
:detailsTableColumns="AddDetailsTableColumns"
:childTableData="childTableData"
@close="stepsClose(arguments)"
@detailsDataPush="detailsDataPush"
@detailsClear="detailsClear"
></StepsFormNotView>
</div>
</template>
<script>
import { getDetailed, getPageList } from "@/api/wms-api";
import { tableMixins } from "@/mixins/TableMixins"
import { LoadingMixins } from "@/mixins/LoadingMixins"
import { drawerMixins } from "@/mixins/drawerMixins"
import { TableHeaderMixins } from "@/mixins/TableHeaderMixins"
import { mixins } from "@/mixins/mixins"
export default {
name: "customerDismantleJob",
mixins: [
tableMixins,
LoadingMixins,
drawerMixins,
TableHeaderMixins,
mixins,
],
data () {
return {
URL: 'wms/store/product-recycle-note',
detailURL: 'wms/store/product-recycle-note/note-and-back-flush',
//
currenButtonData: [
//
this.defaultExportBtn({
url:"wms/store/product-recycle-note/export-note-and-back-flush"
}),
this.defaultFieldSettingBtn(),//
this.defaultFreshBtn(),//
this.defaultFilterBtn(),//
],
// table
dropdownTabsData: [
{
label: "详情",
name: 'xq'
},
{
label: "明细",
name: 'hcjl',
tableColumns: 'customerDismantleBackFlushNote',//tableColumns/index.js
functionName: 'customerDismantleBackFlushNote'//wms-api.js
},
],
//
CreateFormData: {
qty:null,
details:[]
},
CreateForm: [
{ type: "inputNumber", label: "数量", prop: "qty",colSpan: 12,min:1 },
],
editRules: {
cerateRule: {
qty: [{ required: true, trigger: "blur", message: "不可为空" }],
},
},
AddDetailsTableColumns: [
{ label: "物料代码", prop: "partCode",width:"auto" },
{ label: "数量", prop: 'qty',width:"auto" },//todo:
{ type: "filterSelect", label: "库位", prop: "locationCode", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/Location",this.isFilter("type", "5"))},
searchButton: (val) => { this.showSerarchPage(val, 'basedata/Location', 'InventoryBalance', '库位选择', this.CreateFormData) },
width:"auto", searchButton:false
},
],
childTableData:[{
partCode:undefined,
qty:undefined,
locationCode:undefined
}],
};
},
mounted () {
this.paging();
},
methods: {//
paging(callback) {
this.Loading.tableLoading = true;
this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount,
getPageList(this.PageListParams, this.URL,true)
.then(res => {
this.tableData = res.items
this.totalCount = res.totalCount
this.tableData.forEach(item=>{
item.itemCode = item.noteAndBackFlushDetails[0].itemCode
item.locationCode = item.noteAndBackFlushDetails[0].locationCode
item.qty = item.noteAndBackFlushDetails[0].qty
item.rawLocationCode = item.noteAndBackFlushDetails[0].rawLocationCode
item.preStartTime = item.noteAndBackFlushDetails[0].preStartTime
item.workHour = item.noteAndBackFlushDetails[0].workHour
})
this.pagingCallback(callback)
})
.catch(err => {
this.Loading.tableLoading = false
})
},
//Table
inlineDialog(val) {
this.firstTabs = 'xq'
//
this.Loading.DrawerLoading = true
this.displayDialog.detailsDialog = true;
getDetailed(val.id, 'wms/store/product-recycle-note/note-and-back-flush')
.then(res => {
if (res.details) {
//
this.tableDataDetails = JSON.parse(JSON.stringify(res))
let linshiTableDataDetails = JSON.parse(JSON.stringify(this.tableDataDetails))
this.totalCountDetails = res.details.length
//
linshiTableDataDetails.details.splice(this.MaxResultCountDetails,this.totalCountDetails);
this.propsData = linshiTableDataDetails
} else {
this.propsData = res
}
if (this.propsData.noteAndBackFlushDetails.length > 0) {
this.propsData.itemCode = this.propsData.noteAndBackFlushDetails[0].itemCode
this.propsData.locationCode = this.propsData.noteAndBackFlushDetails[0].locationCode
this.propsData.qty = this.propsData.noteAndBackFlushDetails[0].qty
this.propsData.rawLocationCode = this.propsData.noteAndBackFlushDetails[0].rawLocationCode
this.propsData.preStartTime = this.propsData.noteAndBackFlushDetails[0].preStartTime
this.propsData.workHour = this.propsData.noteAndBackFlushDetails[0].workHour
}
this.inlineDialogCallback()
})
.catch(err => {
this.Loading.DrawerLoading = false
})
},
}
};
</script>
<style lang="scss" scoped>
@import "../../../styles/basicData.scss";
</style>

28
fe/PC/src/views/inventoryManage/InventoryQuery/splitPackingList.vue

@ -85,6 +85,8 @@
data () {
return {
URL: 'wms/store/transfer-note/get-split-packing-list',
// listURL:'basedata/split-packing-rec/get-all?includeDetails=false',
listURL:'wms/store/transfer-note/split-packing-inspect?includeDetails=true',
//
currenButtonData: [
// this.defaultImportBtn(),//
@ -100,19 +102,19 @@
},
methods:{
//
paging(callback) {
this.Loading.tableLoading = true;
this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount,
getPageListWip(this.PageListParams, 'wms/store/transfer-note/get-split-packing-list?includeDetails=true')
.then(res => {
this.tableData = res.items
this.totalCount = res.totalCount
this.pagingCallback(callback)
})
.catch(err => {
this.Loading.tableLoading = false
})
},
// paging(callback) {
// this.Loading.tableLoading = true;
// this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount,
// getPageListWip(this.PageListParams, 'wms/store/transfer-note/split-packing-inspect?includeDetails=true')
// .then(res => {
// this.tableData = res.items
// this.totalCount = res.totalCount
// this.pagingCallback(callback)
// })
// .catch(err => {
// this.Loading.tableLoading = false
// })
// },
//
inlineDialog(val) {
//

190
fe/PC/src/views/inventoryManage/recycledMaterials/materialsAdjustmentFunc.vue

@ -1,6 +1,6 @@
<template>
<div class="page-box recycledAdjustmentPage" v-loading="Loading.appMainLoading">
<tablePagination
<!-- <tablePagination
:currenButtonData="currenButtonData"
:tableData="tableData"
:tableLoading="Loading.tableLoading"
@ -23,10 +23,10 @@
@overallSearchFormClick="overallSearchFormClick"
:httpOverallSearchData="httpOverallSearchData"
>
</tablePagination>
</tablePagination> -->
<!-- 新导入 disabledMethod 导入方式禁用 disabledIsAllowPartImport 是否局部导入禁用-->
<!-- methodValue 导入方式默认选项 是否局部导入 默认选项 -->
<importFile
<!-- <importFile
:loading="Loading.importLoading"
:show="displayDialog.importDialog"
:URL="URL"
@ -35,8 +35,8 @@
isAllowPartImportValue="1"
@importClick="postImportMergeClick(arguments)"
@postImportDown="importDown"
></importFile>
<curren-Drawer
></importFile> -->
<!-- <curren-Drawer
:title="tableColumns"
:DrawerLoading="Loading.DrawerLoading"
:drawer="displayDialog.detailsDialog"
@ -51,7 +51,7 @@
:MaxResultCount="MaxResultCountDetails"
@alterResultCountDetails="alterResultCountDetails"
@alertoldSkipCountDetails="alertoldSkipCountDetails"
></curren-Drawer>
></curren-Drawer> -->
<!-- 新增弹窗 -->
<el-dialog
:visible="addPopShow"
@ -72,10 +72,14 @@
<div class="addPopContent addPopContent_YL">
<span class="addPopTypeTitle">原料</span>
<currenTableFlex
:isUpdate="isUpdate"
:flexTableData="addPopData_YL"
:flexSearchOptions="editOptions"
:flexTableColumns="addPopColumns_YL"
@detailsDataPush="pushYL"
@updateSelectListTable="updateSelectListTable"
@changeSelect="changeSelect"
@clearHandle="clearHandle"
></currenTableFlex>
</div>
<div class="addPopContent addPopContent_HB">
@ -106,8 +110,10 @@ import { mixins } from "@/mixins/mixins"
import { requestData } from "@/utils/processButtonData"
import currenTableFlex from "@/components/currenTableFlex"
import { filterSelectMixins } from '@/mixins/filter-Select'
import detailsRules from '@/utils/rules';
import { getPageList } from "@/api/wms-api"
export default {
name: "recycledMaterialsAdjustmentApply",
name: "materialsAdjustmentFunc",
mixins: [
tableMixins,
LoadingMixins,
@ -119,8 +125,19 @@ export default {
components:{
currenTableFlex
},
watch: {
'packingsYL_Options':{
handler(val) {
console.log(128,val)
this.addPopColumns_YL[1].userOptions = val;
},
deep: true,
immediate: true,
},
},
data () {
return {
isUpdate:false,
URL: 'wms/store/item-transform-request',
//
currenButtonData: [
@ -141,7 +158,7 @@ export default {
//
addPopColumns_FS:[
{ 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")},//this.isFilter("isRecycled","true")
searchButton: (val) => { this.showSerarchPage(val, 'basedata/Item-Basic', 'ItemBasic', '物品选择', this.addPopData_HB) },
width:"auto", searchButton:false
},
@ -155,22 +172,41 @@ export default {
//
addPopData_YL:[{
itemCode:null,
packingCode:null,
inventoryQty:null,
location:null,
locationCode:null,
qty:null
}],
packingsYL_Options:[],
itemPackings_YL:{},
//
addPopColumns_YL:[
{ type: "filterSelect", label: "物品代码", prop: "itemCode", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/Item-Basic")},
searchButton: (val) => { this.showSerarchPage(val, 'basedata/Item-Basic', 'ItemBasic', '物品选择', this.addPopData_HB) },
width:"auto", searchButton:false
focus: (type,val) => { return this.getFilterList(type, val, "basedata/Item-Basic",this.isFilter("type", "10C02"))},
width:"auto"
},
// { type: "filterSelect", label: "", prop: "packingCode",
// // optionsLabel: "itemCode", optionsValue: "packingCode",
// focus: (type,val) => { return this.getFilterList(type, val, "wms/inventory/Inventory-Balance")},
// colSpan: 12
// },
{ type: "select", label: "箱码", prop: "packingCode",
optionsLabel: "packingCode", optionsValue: "packingCode",
userOptions:this.packingsYL_Options,width:"auto"
},
// todo:
{ label: "库存数量", prop: "inventoryQty", width:"auto" },
{ label: "库位", prop: "location", width:"auto" },
{ label: "库位", prop: "locationCode", width:"auto" },
// todo:
{ type: "input", validType:'pointNumber', label: "数量", prop: "qty", width:"auto" },
{ type: "input", validType:'pointNumber', label: "数量", prop: "qty", width:"auto",
// rules: [{
// type: "number",
// trigger: "blur",
// validator: (rule, value, callback) => {
// console.log(7,rule,value)
// }
// }]
},
],
//
addPopData_HB:[{
@ -195,7 +231,7 @@ export default {
};
},
mounted () {
this.paging();
// this.paging();
},
methods:{
//
@ -230,7 +266,7 @@ export default {
this.addPopData_YL=[{
itemCode:null,
inventoryQty:null,
location:null,
locationCode:null,
qty:null
}]
this.addPopData_HB=[{
@ -243,9 +279,12 @@ export default {
});
},
addPopSureHandle(){
console.log(this.addPopData_FS)
console.log(this.addPopData_YL)
console.log(this.addPopData_HB)
this.addPopData_YL.forEach(item=>{
console.log(item)
})
// console.log(this.addPopData_FS)
// console.log(this.addPopData_YL)
// console.log(this.addPopData_HB)
},
//
pushFS(data){
@ -254,6 +293,119 @@ export default {
//
pushYL(data){
console.log(data)
if(data[1].prop="itemCode"){
let params = {
Sorting: "",
MaxResultCount: 1000,
SkipCount: 0,
condition: {
filters: [{
logic: "And",
column: "itemCode",
action: "==",
value: data[0].code
}]
}
}
this.Loading.appMainLoading = true
// todo:+
console.log(311,data[3].$index)
this.addPopData_YL[data[3].$index].packingCode = null
this.addPopData_YL[data[3].$index].inventoryQty = null
this.addPopData_YL[data[3].$index].locationCode = null
this.isUpdate = !this.isUpdate
getPageList(params, "wms/inventory/inventory-balance").then((res)=>{
this.itemPackings_YL[data[0].code] = res.items
this.isUpdate = !this.isUpdate
// this.$set(this.addPopColumns_YL[1], 'loading', false)
// this.packingsYL_Options = []
// this.packingsYL_Options.push({packingCode:1111})
// this.addPopColumns_YL[1].userOptions.push({packingCode:222})
// this.$set(this.addPopColumns_YL, 1, { type: "select", label: "", prop: "packingCode",
// // optionsLabel: "packingCode", optionsValue: "packingCode",
// userOptions:[{label:1111,value:1111}],width:"auto",loading:false
// })
// this.$forceUpdate()
// // this.packingsYL_Options = this.itemPackings_YL[data[0].code]
// console.log(111)
// this.packingsYL_Options = [{label:1111,value:1111}]
// this.addPopColumns_YL[1].userOptions = [{label:1111,value:1111}]
this.Loading.appMainLoading = false
// this.$forceUpdate()
// console.log(11111111,this.addPopColumns_YL[1])
})
.catch(err=>{
// console.log(2222)
this.Loading.appMainLoading = false
})
}
},
changeSelect(prop, val,item,searchData,scope){
console.log(341,prop, val,item,searchData,scope)
if(prop == 'packingCode'){
let _currentRow = this.itemPackings_YL[searchData.itemCode].filter(item=>{
return val == item.packingCode
})
console.log(347,_currentRow)
// todo:
this.addPopData_YL[scope.$index].inventoryQty = _currentRow[0].qty
this.addPopData_YL[scope.$index].locationCode = _currentRow[0].locationCode
}
},
clearHandle(item,scope){
// todo:
this.addPopData_YL[scope.$index].packingCode = null
this.addPopData_YL[scope.$index].inventoryQty = null
this.addPopData_YL[scope.$index].locationCode = null
},
updateSelectListTable(data,item,scope,tableData){
// if(!data){ return }
// if(item.prop == "packingCode"){
// this.packingsYL_Options = this.itemPackings_YL[tableData[scope.$index].itemCode]
// console.log(318,this.itemPackings_YL)
// console.log(326,this.addPopColumns_YL[1])
// }
//
if(data){
if(item.prop == "packingCode"){
this.packingsYL_Options = []
if(!tableData[scope.$index].itemCode || tableData[scope.$index].itemCode.length == 0){
this.$warningMsg("请先选择物料")
}
// console.log(tableData[scope.$index].itemCode)
if(this.itemPackings_YL[tableData[scope.$index].itemCode]){
this.packingsYL_Options = this.itemPackings_YL[tableData[scope.$index].itemCode]
}
// this.isUpdate = !this.isUpdate
// let params = {
// Sorting: "",
// MaxResultCount: 1000,
// SkipCount: 0,
// condition: {
// filters: [{
// logic: "And",
// column: "itemCode",
// action: "==",
// value: tableData[scope.$index].itemCode
// }]
// }
// }
// this.addPopColumns_YL[1].userOptions = [{packingCode:222}]
// getPageList(params, "wms/inventory/inventory-balance")
// .then(res=>{
// console.log(11111111111111111111)
// // this.packingsYL_Options = res.items
// this.addPopColumns_YL[1].userOptions = [{packingCode:111}]
// // this.$forceUpdate()
// })
// .catch(err=>{
// })
}
}
else{
// this.addPopColumns_YL[1].userOptions = []
}
},
//
pushHB(data){

13
fe/PC/src/views/rawMaterialManage/quality/InspectRequest.vue

@ -267,7 +267,7 @@ import {
getFilestore,
InspectSplitPackingk
} from "@/api/wms-api"
import { postSplitPacking,postInventoryLabelCode_count } from "@/api/wms-core"
import { postSplitPackingInspect,postInventoryLabelCode_count } from "@/api/wms-core"
import { completeSummaryDetailStatus, setDetailDefaultOkStatus, setDetailOkStatus, setDetailNookStatus } from "@/api/wms-job"
import { tableMixins } from "@/mixins/TableMixins"
import { LoadingMixins } from "@/mixins/LoadingMixins"
@ -1139,6 +1139,13 @@ export default {
//
postSplitPackingHandle(newPackData){
this.devanLoading = true
let _params = {
number:this.propsData.number,
fromPackingCode:this.devanCurrentRow.packingCode,
fromQty:this.devanCurrentRow.receiveQty,
toPackingCode:newPackData[0].code,
toQty:Number(this.devanForm.qty)
}
let _data = {
useOnTheWayLocation: false,
requestNumber: null,
@ -1185,7 +1192,7 @@ export default {
}],
type: "SplitPacking"
}
postSplitPacking(_data)
postSplitPackingInspect(_params,_data)
.then(res=>{
// todo:
this.devanCancelHandel()
@ -1205,7 +1212,7 @@ export default {
})
})
.catch(err=>{
this.devanLoading = false
})
},
//

Loading…
Cancel
Save