Browse Source

【nev-平板】业务库移页面开发

ag_report_nev
安虹睿 12 months ago
parent
commit
99583332ca
  1. 17
      fe/PC/src/api/wms-api.js
  2. 11
      fe/PC/src/api/wms-job.js
  3. 2
      fe/PC/src/components/commonTabel-drawer/style/index.scss
  4. 5
      fe/PC/src/components/newAndEdiDialog/index.vue
  5. 10
      fe/PC/src/components/umyTable/index.vue
  6. 22
      fe/PC/src/utils/tableColumns/index.js
  7. 24
      fe/PC/src/utils/tabsDesTions/index.js
  8. 323
      fe/PC/src/views/padManage/padTransferLibJob.vue

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

@ -700,6 +700,23 @@ export function getInjectioModelPlanBom(data) {
}) })
} }
// 通过packingCode获取库存余额表
export function getInventoryByPackingCode(packingCode){
return request({
url: baseURL + 'wms/inventory/inventory-balance/by-packing-code/' + packingCode,
method: 'get',
})
}
// 成品发运申请-批量生成发货单
export function deliverRequestHandleList(ids) {
return request({
url: baseURL + 'wms/store/deliver-request/handle-list',
method: 'post',
data:ids
})
}
// 客户退拆任务-完成 todo // 客户退拆任务-完成 todo
// export async function productionRecycleJobComplete(id) { // export async function productionRecycleJobComplete(id) {
// return request({ // return request({

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

@ -244,4 +244,13 @@ export function countJobResetByNumber(data) {
method: 'post', method: 'post',
data:data data:data
}) })
} }
// 【pad】业务库移-生成库移
export function transferLibJobHandel(id, data) {
return request({
url: baseURL + 'wms/store/transfer-lib-job/handle/' + id,
method: 'post',
data:data
})
}

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

@ -121,5 +121,5 @@
content: unset !important; content: unset !important;
} }
::v-deep .el-descriptions--medium.is-bordered .el-descriptions-item__cell{ ::v-deep .el-descriptions--medium.is-bordered .el-descriptions-item__cell{
min-width: 200px !important; min-width: 180px !important;
} }

5
fe/PC/src/components/newAndEdiDialog/index.vue

@ -10,7 +10,7 @@
:show-close="false" :show-close="false"
style="width:calc(100% - 28px);left:14px;top:14px;height:calc(100% - 28px)" style="width:calc(100% - 28px);left:14px;top:14px;height:calc(100% - 28px)"
> >
<div class="dialogOuterTitle">{{formTitle}}</div> <div class="dialogOuterTitle">{{formTitle}}</div>
<curren-Form <curren-Form
v-if="active === 0" v-if="active === 0"
size="medium" size="medium"
@ -27,6 +27,9 @@
@radioChange="radioChange" @radioChange="radioChange"
@changeSelect="changeSelect" @changeSelect="changeSelect"
> >
<template>
<slot></slot>
</template>
<template v-if="showmyTable"> <template v-if="showmyTable">
<el-form-item class="formTable-box" prop="details"> <el-form-item class="formTable-box" prop="details">
<currenTable <currenTable

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

@ -21,7 +21,7 @@
:cell-class-name="cellClassName" :cell-class-name="cellClassName"
> >
<!-- :tree-props="treeProps" height 不能共存 此组件暂不支持tree的格式--> <!-- :tree-props="treeProps" height 不能共存 此组件暂不支持tree的格式-->
<u-table-column v-if="selectionTable" fixed="left" type="selection" :reserve-selection="true" /> <u-table-column v-if="selectionTable" fixed="left" type="selection" :reserve-selection="true" :selectable='selectEnable'/>
<u-table-column v-if="isShowIndex" type="index" fixed="left" label="序号" width="50" /> <u-table-column v-if="isShowIndex" type="index" fixed="left" label="序号" width="50" />
<template v-for="(item, index) in TableSize"> <template v-for="(item, index) in TableSize">
<u-table-column <u-table-column
@ -584,6 +584,14 @@ export default {
this.setTableHeightHandle() this.setTableHeightHandle()
}, },
methods: { methods: {
//
selectEnable(row, rowIndex) {
if (!row.tableSelectEnable) {
return true
} else {
return false
}
},
// //
clearSelection(){ clearSelection(){
this.$refs.multipleTable.clearSelection(); this.$refs.multipleTable.clearSelection();

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

@ -4978,14 +4978,24 @@ export const KittingIssueNote = [
// 【pad】业务库移 // 【pad】业务库移
export const padTransferLibJob = [ export const padTransferLibJob = [
{ label: "请求单号", prop: "number", fixed: "left", type: "name" }, { label: "任务单号", prop: "number", fixed: "left", type: "name" },
{ label: "状态", prop: "requestStatus", type: "tagFilter", filters: "requestStatus" }, { label: "申请单号", prop: 'requestNumber',width: orderWidth },
{ label: "叫料请求来源", prop: "issueRequestType", type: "filter", filters: "issueRequestType" }, { label: "状态", prop: "jobStatus",type: "tagFilter", filters: "jobStatus" },
{ label: "来源库位列表", prop: 'fromLocationCodeJsonList',type:"showDetail",isJson:true,showProp:true }, { label: "回调服务名称", prop: "callServerName" },
{ label: "目标库位代码", prop: "toLocationCode" }, { label: "回调业务类型", prop: "callBusinessType" },
{ label: "目标ERP库位", prop: "toLocationErpCode" }, { label: "传入申请单号", prop: "callRequestNumber" },
{ label: "传入任务单号", prop: "callJobNumber" },
// { label: "任务类型", prop: 'jobType' },
{ label: "任务描述", prop: 'jobDescription' },
{ label: "使用在途库", prop: 'useOnTheWayLocation', type: "filter", filters: "whetherOrNot" },
{ label: "已确认", prop: 'confirmed',type: "filter", filters: "whetherOrNot" },
{ label: "确认时间", prop: 'confirmTime' },
{ label: "备注", prop: "remark" }, { label: "备注", prop: "remark" },
{ label: "操作员", prop: "worker" }, { label: "操作员", prop: "worker" },
{ label: "承接用户", prop: "acceptUserName" },
{ label: "承接时间", prop: 'acceptTime', type: "dateTime" },
{ label: "完成者用户名", prop: 'completeUserName' },
{ label: "完成时间", prop: "completeTime", type: "dateTime" },
{ label: "创建时间", prop: 'creationTime', type: "dateTime" }, { label: "创建时间", prop: 'creationTime', type: "dateTime" },
{ label: "上次修改时间", prop: "lastModificationTime", type: "dateTime" }, { label: "上次修改时间", prop: "lastModificationTime", type: "dateTime" },
] ]

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

@ -3743,4 +3743,28 @@ export const KittingIssueNote = [
{ label: "创建时间", prop: 'creationTime', type: "dateTime" }, { label: "创建时间", prop: 'creationTime', type: "dateTime" },
{ label: "生效日期", prop: 'activeDate', type: "dateTime" }, { label: "生效日期", prop: 'activeDate', type: "dateTime" },
{ label: "上次修改时间", prop: "lastModificationTime", type: "dateTime" }, { label: "上次修改时间", prop: "lastModificationTime", type: "dateTime" },
]
// 【pad】业务库移
export const padTransferLibJob = [
{ label: "任务单号", prop: "number", fixed: "left", type: "name" },
{ label: "申请单号", prop: 'requestNumber' },
{ label: "状态", prop: "jobStatus",type: "filter", filters: "jobStatus" },
{ label: "回调服务名称", prop: "callServerName" },
{ label: "回调业务类型", prop: "callBusinessType" },
{ label: "传入申请单号", prop: "callRequestNumber" },
{ label: "传入任务单号", prop: "callJobNumber" },
// { label: "任务类型", prop: 'jobType' },
{ label: "任务描述", prop: 'jobDescription' },
{ label: "使用在途库", prop: 'useOnTheWayLocation', type: "filter", filters: "whetherOrNot" },
{ label: "已确认", prop: 'confirmed',type: "filter", filters: "whetherOrNot" },
{ label: "确认时间", prop: 'confirmTime' },
{ label: "备注", prop: "remark" },
{ label: "操作员", prop: "worker" },
{ label: "承接用户", prop: "acceptUserName" },
{ label: "承接时间", prop: 'acceptTime', type: "dateTime" },
{ label: "完成者用户名", prop: 'completeUserName' },
{ label: "完成时间", prop: "completeTime", type: "dateTime" },
{ label: "创建时间", prop: 'creationTime', type: "dateTime" },
{ label: "上次修改时间", prop: "lastModificationTime", type: "dateTime" },
] ]

323
fe/PC/src/views/padManage/padTransferLibJob.vue

@ -1,93 +1,236 @@
<template> <template>
<div class="page-box" v-loading="Loading.appMainLoading"> <div class="page-box" v-loading="Loading.appMainLoading">
<tablePagination <tablePagination
:currenButtonData="currenButtonData" :currenButtonData="currenButtonData"
:tableData="tableData" :tableData="tableData"
:tableLoading="Loading.tableLoading" :tableLoading="Loading.tableLoading"
:tableColumns="tableColumns" :tableColumns="tableColumns"
@rowDrop="rowDrop" @rowDrop="rowDrop"
:totalCount="totalCount" :totalCount="totalCount"
:multipleSelection="multipleSelection" :multipleSelection="multipleSelection"
:MaxResultCount="PageListParams.MaxResultCount" :MaxResultCount="PageListParams.MaxResultCount"
@topbutton="topbutton" @topbutton="topbutton"
@inlineDialog="inlineDialog" @inlineDialog="inlineDialog"
@sortChange="sortChange" @sortChange="sortChange"
@alertoldSkipCount="alertoldSkipCount" @alertoldSkipCount="alertoldSkipCount"
@alterResultCount="alterResultCount" @alterResultCount="alterResultCount"
@handleSelectionChange="handleSelectionChange" @handleSelectionChange="handleSelectionChange"
:currentPageProps="oldSkipCount" :currentPageProps="oldSkipCount"
:quicklySearchOption="quicklySearchOption" :quicklySearchOption="quicklySearchOption"
@quicklySearchClick="quicklySearchClick" @quicklySearchClick="quicklySearchClick"
@quicklySearchClear="quicklySearchClear" @quicklySearchClear="quicklySearchClear"
:primarySearchOption="primarySearchOption" :primarySearchOption="primarySearchOption"
@overallSearchFormClick="overallSearchFormClick" @overallSearchFormClick="overallSearchFormClick"
:httpOverallSearchData="httpOverallSearchData" :httpOverallSearchData="httpOverallSearchData"
:setUTableHeight="140" :setUTableHeight="140"
> >
</tablePagination> </tablePagination>
<!-- 新导入 disabledMethod 导入方式禁用 disabledIsAllowPartImport 是否局部导入禁用--> <!-- 新导入 disabledMethod 导入方式禁用 disabledIsAllowPartImport 是否局部导入禁用-->
<!-- methodValue 导入方式默认选项 是否局部导入 默认选项 --> <!-- methodValue 导入方式默认选项 是否局部导入 默认选项 -->
<importFile <importFile
: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:false,method2:false,method3:false}
:disabledIsAllowPartImport = {isAllowPartImport1:false,isAllowPartImport2:false} :disabledIsAllowPartImport = {isAllowPartImport1:false,isAllowPartImport2:false}
isAllowPartImportValue="1" isAllowPartImportValue="1"
@importClick="postImportMergeClick(arguments)" @importClick="postImportMergeClick(arguments)"
@postImportDown="importDown" @postImportDown="importDown"
></importFile> ></importFile>
<!--抽屉--> <!--抽屉-->
<curren-Drawer <curren-Drawer
:title="tableColumns" :title="tableColumns"
:DrawerLoading="Loading.DrawerLoading" :DrawerLoading="Loading.DrawerLoading"
:drawer="displayDialog.detailsDialog" :drawer="displayDialog.detailsDialog"
:propsData="propsData" :propsData="propsData"
:tabsDesTions="tabsDesTions" :tabsDesTions="tabsDesTions"
:Butttondata="[]" :Butttondata="DrawerButtonData"
@drawerShut="(val) => (displayDialog.detailsDialog = val)" @drawerbutton="drawerbutton"
@handleCommand="drawerHandle" @drawerShut="(val) => (displayDialog.detailsDialog = val)"
@close-value="closeValue" @handleCommand="drawerHandle"
:tableColumns="detailsTableColumns" @close-value="closeValue"
:totalCount="totalCountDetails" :tableColumns="detailsTableColumns"
:MaxResultCount="MaxResultCountDetails" :totalCount="totalCountDetails"
@alterResultCountDetails="alterResultCountDetails" :MaxResultCount="MaxResultCountDetails"
@alertoldSkipCountDetails="alertoldSkipCountDetails" @alterResultCountDetails="alterResultCountDetails"
></curren-Drawer> @alertoldSkipCountDetails="alertoldSkipCountDetails"
</div> ></curren-Drawer>
</template> <!-- 新增与编辑 -->
<script> <newAndEdiDialog
import { tableMixins } from "@/mixins/TableMixins"; :loading="Loading.newAndEdiLoading"
import { LoadingMixins } from "@/mixins/LoadingMixins"; :active="active"
import { drawerMixins } from "@/mixins/drawerMixins"; :pageStatus="pageStatus"
import { TableHeaderMixins } from "@/mixins/TableHeaderMixins"; :formReveal="formReveal"
import { mixins } from "@/mixins/mixins"; :formTitle="formTitle"
export default { :displayDialog="editDialog"
name: "padTransferLibJob", :FormData="formReveal ? CreateFormData : editFormData"
mixins: [ :Form="formReveal ? CreateForm : editForm"
tableMixins, :Options="editOptions"
LoadingMixins, :Handle="editHandle"
drawerMixins, :Rules="formReveal ? editRules.cerateRule : editRules.editRule"
TableHeaderMixins, @FormSubmit="FormSubmitHandle"
mixins, @close="FormClose"
], @goBack="goBack"
data() { >
return { <template>
URL: "wms/store/kitting-issue-request", <curren-descriptions
// v-if="this.displayDialog.newDialog"
currenButtonData: [ :border="true"
// this.defaultImportBtn(),// :column="3"
this.defaultFieldSettingBtn(),// :direction="'horizontal'"
this.defaultFreshBtn(),// :colon="false"
this.defaultFilterBtn(),// :tabsDesTions="detailsTableColumns"
], :propsData="propsData.details[0]"
}; class="drawerDescriptionsFirst"
style="width:100%;padding-top:20px"
>
</curren-descriptions>
</template>
</newAndEdiDialog>
<!-- 搜索按钮窗体组件 -->
<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 { 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 { newAndEdiDialogMixins } from "@/mixins/newAndEdiDialogMixins"
import { filterSelectMixins } from '@/mixins/filter-Select'
import { transferLibJobHandel } from '@/api/wms-job'
import { getInventoryByPackingCode } from '@/api/wms-api'
import currenDescriptions from "@/components/currenDescriptions"
export default {
name: "padTransferLibJob",
components: {
currenDescriptions,
},
mixins: [
tableMixins,
LoadingMixins,
drawerMixins,
TableHeaderMixins,
mixins,
filterSelectMixins,
newAndEdiDialogMixins
],
computed: {
editDialog: {
get: function () {
return this.displayDialog.newDialog || this.displayDialog.editDialog;
},
}, },
mounted() { //
this.paging(); hideButton: function () {
return function (val) {
let data = true
val.forEach(key => {
if (this.propsData.jobStatus == key) {
data = false
}
})
return data
}
}
},
data() {
return {
URL: "wms/store/transfer-lib-job",
//
currenButtonData: [
// this.defaultImportBtn(),//
this.defaultFieldSettingBtn(),//
this.defaultFreshBtn(),//
this.defaultFilterBtn(),//
],
DrawerButtonData:[
{
type:'success',
label: '完成库移',
name: "handle",
hide: () => { return this.hideButton([1,2,4]) },
size:"mini"
},
],
CreateFormData: {
packingCode:"",
fromLocationCode:"",
toLocationCode:"",
},
CreateForm: [
{ type: "input", label: "箱码", prop: 'packingCode', colSpan: 12, },
{ type: "input", label: "来源库位", prop: 'fromLocationCode', colSpan: 12, },
{ type: "input", label: "目标库位", prop: 'toLocationCode', colSpan: 12, },
],
editRules: {
cerateRule: {
packingCode: [{ required: true, trigger: "blur", message: "不可为空" }],
fromLocationCode: [{ required: true, trigger: "blur", message: "不可为空" }],
toLocationCode: [{ required: true, trigger: "blur", message: "不可为空" }],
},
},
};
},
mounted() {
this.paging();
},
methods:{
drawerbutton(val){
//
if(val == "handle"){
this.formTitle = "完成库移";
this.formReveal = true
this.theEvent = "newly"
this.displayDialog.newDialog = true;
}
}, },
}; FormSubmitHandle(val){
</script> this.Loading.newAndEdiLoading = true
<style lang="scss" scoped> //
@import "@/styles/mainbasicData.scss"; getInventoryByPackingCode(this.CreateFormData.packingCode).then(inventory => {
</style> // details
let _data = this.propsData
_data.details[0].handledFromPackingCode = this.CreateFormData.packingCode
_data.details[0].handledToPackingCode = this.CreateFormData.packingCode
_data.details[0].handledFromLocationCode = this.CreateFormData.fromLocationCode
_data.details[0].handledToLocationCode = this.CreateFormData.toLocationCode
_data.details[0].handledToLot = inventory.lot
_data.details[0].handledFromLot = inventory.lot
_data.details[0].handledFromSupplierBatch = inventory.supplierBatch
_data.details[0].handledToSupplierBatch = inventory.supplierBatch
_data.details[0].handledFromQty = inventory.qty
_data.details[0].handledToQty = inventory.qty
transferLibJobHandel(this.propsData.id, _data).then(res => {
this.Loading.newAndEdiLoading = false
this.FormResult("success")
}).catch(err => {
this.Loading.newAndEdiLoading = false
this.FormResult("error")
})
}).catch(err => {
this.Loading.newAndEdiLoading = false
})
}
}
};
</script>
<style lang="scss" scoped>
@import "@/styles/mainbasicData.scss";
</style>
Loading…
Cancel
Save