13 changed files with 878 additions and 187 deletions
@ -0,0 +1,138 @@ |
|||||
|
#stepsForm { |
||||
|
width: 100%; |
||||
|
height: 100%; |
||||
|
display: flex; |
||||
|
flex-direction: column; |
||||
|
padding-bottom: 15px; |
||||
|
|
||||
|
::v-deep .el-steps { |
||||
|
padding-bottom: 15px; |
||||
|
|
||||
|
.el-step__main { |
||||
|
.el-step__title { |
||||
|
line-height: 24px; |
||||
|
font-size: 14px; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.page1 { |
||||
|
flex: 1; |
||||
|
display: flex; |
||||
|
flex-direction: column; |
||||
|
justify-content: space-between; |
||||
|
overflow: hidden; |
||||
|
overflow-y: auto; |
||||
|
} |
||||
|
|
||||
|
.page2 { |
||||
|
// flex: 1; |
||||
|
// display: flex; |
||||
|
// flex-direction: column; |
||||
|
// justify-content: space-between; |
||||
|
// // padding-bottom: 54px; |
||||
|
// overflow: hidden; |
||||
|
// overflow-y: auto; |
||||
|
height: calc(100% - 95px); |
||||
|
|
||||
|
::v-deep .el-form { |
||||
|
flex: 1; |
||||
|
display: flex; |
||||
|
height: 100%; |
||||
|
.el-row { |
||||
|
display: none; |
||||
|
} |
||||
|
|
||||
|
.formTable-box { |
||||
|
flex: 1; |
||||
|
overflow: hidden; |
||||
|
overflow-y: auto; |
||||
|
|
||||
|
.el-form-item__content { |
||||
|
width: 100%; |
||||
|
height: 100%; |
||||
|
display: flex; |
||||
|
flex-direction: column; |
||||
|
margin: 0 !important; |
||||
|
|
||||
|
.heder { |
||||
|
padding: 5px 0; |
||||
|
text-align: center; |
||||
|
font-size: 18px; |
||||
|
|
||||
|
button{ |
||||
|
margin: 0 10px; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.el-table { |
||||
|
flex: 1; |
||||
|
|
||||
|
.childTable { |
||||
|
display: flex; |
||||
|
justify-content: space-around; |
||||
|
|
||||
|
span { |
||||
|
cursor: pointer; |
||||
|
|
||||
|
&:nth-child(1) { |
||||
|
color: red; |
||||
|
} |
||||
|
|
||||
|
&:nth-child(2) { |
||||
|
color: green; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
::v-deep .formButton { |
||||
|
// position: absolute; |
||||
|
// bottom: 0; |
||||
|
// right: 0; |
||||
|
z-index: 3; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.page3 { |
||||
|
flex: 1; |
||||
|
display: flex; |
||||
|
flex-direction: column; |
||||
|
// padding-bottom: 54px; |
||||
|
overflow: hidden; |
||||
|
overflow-y: auto; |
||||
|
|
||||
|
::v-deep .el-form { |
||||
|
flex: 1; |
||||
|
display: flex; |
||||
|
flex-direction: column; |
||||
|
|
||||
|
.el-row { |
||||
|
flex: 1; |
||||
|
flex-wrap: wrap; |
||||
|
} |
||||
|
|
||||
|
.formTable-box { |
||||
|
margin-bottom: 0; |
||||
|
// flex: 1; |
||||
|
|
||||
|
.el-form-item__content { |
||||
|
width: 100%; |
||||
|
height: 100%; |
||||
|
display: flex; |
||||
|
flex-direction: column; |
||||
|
margin: 0 !important; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
::v-deep .formButton { |
||||
|
// position: absolute; |
||||
|
// bottom: 0; |
||||
|
// right: 0; |
||||
|
z-index: 3; |
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,293 @@ |
|||||
|
<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> |
@ -0,0 +1,108 @@ |
|||||
|
<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> |
||||
|
<!-- 新导入 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" |
||||
|
:tabsDesTions="tabsDesTions" |
||||
|
:Butttondata="DrawerButtonData" |
||||
|
@drawerbutton="drawerbutton" |
||||
|
@drawerShut="(val) => (displayDialog.detailsDialog = val)" |
||||
|
@close-value="closeValue" |
||||
|
:tableColumns="detailsTableColumns" |
||||
|
:totalCount="totalCountDetails" |
||||
|
:MaxResultCount="MaxResultCountDetails" |
||||
|
@alterResultCountDetails="alterResultCountDetails" |
||||
|
@alertoldSkipCountDetails="alertoldSkipCountDetails" |
||||
|
></curren-Drawer> |
||||
|
</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" |
||||
|
export default { |
||||
|
name: "PurchaseReturnApprove", |
||||
|
mixins: [ |
||||
|
tableMixins, |
||||
|
LoadingMixins, |
||||
|
drawerMixins, |
||||
|
TableHeaderMixins, |
||||
|
mixins, |
||||
|
], |
||||
|
computed: { |
||||
|
hideButton: function () { |
||||
|
return function (val) { |
||||
|
let data = true |
||||
|
val.forEach(key => { |
||||
|
if (this.propsData.requestStatus == key) { |
||||
|
data = false |
||||
|
} |
||||
|
}) |
||||
|
return data |
||||
|
} |
||||
|
}, |
||||
|
}, |
||||
|
data () { |
||||
|
return { |
||||
|
URL: 'wms/store/purchase-return-request', |
||||
|
//常用按钮数据 |
||||
|
currenButtonData: [ |
||||
|
// this.defaultImportBtn(),//导入 |
||||
|
this.defaultFieldSettingBtn(),//字段设置 |
||||
|
this.defaultFreshBtn(),//刷新 |
||||
|
this.defaultFilterBtn(),//筛选 |
||||
|
], |
||||
|
DrawerButtonData: [ |
||||
|
...requestData(this) |
||||
|
], |
||||
|
}; |
||||
|
}, |
||||
|
mounted () { |
||||
|
this.paging(); |
||||
|
}, |
||||
|
}; |
||||
|
</script> |
||||
|
<style lang="scss" scoped> |
||||
|
@import "../../../styles/mainbasicData.scss"; |
||||
|
</style> |
Loading…
Reference in new issue