You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

293 lines
9.6 KiB

<template>
<div class="page-box recycledAdjustmentPage" v-loading="Loading.appMainLoading">
<tablePagination
:currenButtonData="currenButtonData"
:tableData="tableData"
:tableLoading="Loading.tableLoading"
:tableColumns="tableColumns"
@rowDrop="rowDrop"
:totalCount="totalCount"
:multipleSelection="multipleSelection"
:MaxResultCount="PageListParams.MaxResultCount"
@topbutton="topbuttonHandle"
@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>
<!-- 新导入 disabledMethod 导入方式禁用 disabledIsAllowPartImport 是否局部导入禁用-->
<!-- methodValue 导入方式默认选项 是否局部导入 默认选项 -->
<importFile
:loading="Loading.importLoading"
:show="displayDialog.importDialog"
:URL="URL"
:disabledMethod="{ method1: false, method2: false, method3: false }"
:disabledIsAllowPartImport="{ isAllowPartImport1: false, isAllowPartImport2: false, }"
isAllowPartImportValue="1"
@importClick="postImportMergeClick(arguments)"
@postImportDown="importDown"
></importFile>
<curren-Drawer
:title="tableColumns"
:DrawerLoading="Loading.DrawerLoading"
:drawer="displayDialog.detailsDialog"
:propsData="propsData"
:Butttondata="DrawerButtonData"
:tabsDesTions="tabsDesTions"
@drawerShut="(val) => (displayDialog.detailsDialog = val)"
@close-value="closeValue"
@drawerbutton="drawerbutton"
:tableColumns="detailsTableColumns"
:totalCount="totalCountDetails"
:MaxResultCount="MaxResultCountDetails"
@alterResultCountDetails="alterResultCountDetails"
@alertoldSkipCountDetails="alertoldSkipCountDetails"
></curren-Drawer>
<!-- 新增弹窗 -->
<el-dialog
:visible="addPopShow"
:modal-append-to-body="false"
:append-to-body="false"
:modal="false"
:fullscreen="true">
<div class="addPopMain">
<div class="addPopContent addPopContent_FS">
<span class="addPopTypeTitle">粉碎料</span>
<currenTableFlex
:flexTableData="addPopData_FS"
:flexSearchOptions="editOptions"
:flexTableColumns="addPopColumns_FS"
@detailsDataPush="pushFS"
></currenTableFlex>
</div>
<div class="addPopContent addPopContent_YL">
<span class="addPopTypeTitle">原料</span>
<currenTableFlex
:flexTableData="addPopData_YL"
:flexSearchOptions="editOptions"
:flexTableColumns="addPopColumns_YL"
@detailsDataPush="pushYL"
></currenTableFlex>
</div>
<div class="addPopContent addPopContent_HB">
<span class="addPopTypeTitle">混拌料</span>
<currenTableFlex
:flexTableData="addPopData_HB"
:flexSearchOptions="editOptions"
:flexTableColumns="addPopColumns_HB"
:showAddBtn="false"
:showAllDeleteButton="false"
@detailsDataPush="pushHB"
></currenTableFlex>
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="addPopResetHandle"> </el-button>
<el-button type="primary" @click="addPopSureHandle"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
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"
import { requestData } from "@/utils/processButtonData"
import currenTableFlex from "@/components/currenTableFlex"
import { filterSelectMixins } from '@/mixins/filter-Select'
export default {
name: "recycledMaterialsAdjustmentApply",
mixins: [
tableMixins,
LoadingMixins,
drawerMixins,
TableHeaderMixins,
mixins,
filterSelectMixins,
],
components:{
currenTableFlex
},
data () {
return {
URL: 'wms/store/item-transform-request',
//常用按钮数据
currenButtonData: [
this.defaultAddBtn(),//新增
this.defaultImportBtn(),//导入
this.defaultFieldSettingBtn(),//字段设置
this.defaultFreshBtn(),//刷新
this.defaultFilterBtn(),//筛选
],
DrawerButtonData: requestData(this),
addPopShow:true,//新增弹窗显隐
//粉碎料信息
addPopData_FS:[{
itemCode:null,
qty:null,
locationCode:null,
}],
//粉碎料表头信息
addPopColumns_FS:[
{ 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
},
{ type: "filterSelect", label: "目标库位", prop: "locationCode", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/Location",this.isFilter("type", "2"))},
searchButton: (val) => { this.showSerarchPage(val, 'basedata/Location', 'InventoryBalance', '库位选择', this.addPopData_HB) },
width:"auto", searchButton:false
},
{ type: "input", validType:'pointNumber', label: "数量", prop: "qty", width:"auto" },
],
//原料信息
addPopData_YL:[{
itemCode:null,
inventoryQty:null,
location:null,
qty:null
}],
//原料表头信息
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
},
// todo: 库存数量、库位:自动带出
{ label: "库存数量", prop: "inventoryQty", width:"auto" },
{ label: "库位", prop: "location", width:"auto" },
// todo: 小于等于库存数量
{ type: "input", validType:'pointNumber', label: "数量", prop: "qty", width:"auto" },
],
//混拌料信息
addPopData_HB:[{
itemCode:null,
qty:null,
locationCode:null,
}],
//混拌料表头信息
addPopColumns_HB:[
{ 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
},
{ type: "filterSelect", label: "目标库位", prop: "locationCode", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/Location")},
searchButton: (val) => { this.showSerarchPage(val, 'basedata/Location', 'InventoryBalance', '库位选择', this.addPopData_HB) },
width:"auto", searchButton:false
},
{ type: "input", validType:'pointNumber', label: "数量", prop: "qty", width:"auto" },
],
};
},
mounted () {
this.paging();
},
methods:{
//过滤查询条件
isFilter (val, data) {
let filter = [
{
logic: "And",
column: val,
action: "==",
value: data
}
]
return filter
},
topbuttonHandle(val){
if(val == 'newly'){
}else{
this.topbutton(val)
}
},
addPopResetHandle(){
},
addPopSureHandle(){
console.log(this.addPopData_FS)
console.log(this.addPopData_YL)
console.log(this.addPopData_HB)
},
// 粉碎料下拉
pushFS(data){
console.log(data)
},
// 原料下拉
pushYL(data){
console.log(data)
},
// 混拌料下拉
pushHB(data){
console.log(data)
},
}
};
</script>
<style lang="scss" scoped>
@import "../../../styles/mainbasicData.scss";
.addPopMain{
height:100%;
.addPopContent{
position:relative;
padding:0 20px;
.addPopTypeTitle{
position:absolute;
left:0;
top:10px;
border-left:#66b1ff solid 6px;
padding-left:10px;
height:28px;
line-height:28px;
overflow:hidden;
font-size:18px;
margin-left: 20px;
}
}
.addPopContent_FS{
height:calc(50% - 100px);
margin-bottom:10px;
}
.addPopContent_YL{
height: calc(50% - 70px);
padding: 15px 20px;
background: #d4e6fd;
}
.addPopContent_HB{
height:160px;
padding-top:28px
}
}
</style>
<style lang="scss" >
.recycledAdjustmentPage {
.el-dialog .el-dialog__body {
padding: 0 !important;
}
.el-form-item{
margin-bottom:0 !important
}
}
</style>