<template> <view class="page-wraper"> <view class="" v-if='detailSource.subList.length==0'> <com-blank-view @goScan='goScan(true)'></com-blank-view> </view> <view v-else class="page-wraper"> <view class="page-main"> <comIssueRequestCreator ref="issueRequest" :dataContent="detailSource"> </comIssueRequestCreator> <button class="btn_add" @click="goScan(false)">+去添加</button> </view> <div class="btn_bottom"> <view class="" style="display: flex;flex-direction: row;"> <view class=""> <button class="btn_commit" hover-class="btn_commit_after" @click="submit()">提交</button> </view> </view> </div> <com-scan-issue-pack ref="comScanIssuePack"> </com-scan-issue-pack> <comMessage ref="comMessage"></comMessage> </view> </view> <com-issue-request-popup ref="comIssueRequestPopup" @confirm='requestConfirm'></com-issue-request-popup> </template> <script> import { issueRequestSubmit, issueRecordSubmit } from '@/api/request2.js'; import { goHome, updateTitle, getRemoveOption, getISODateTime } from '@/common/basic.js'; import { getDataSource } from '@/pages/issue/js/issue.js'; import comBlankView from '@/mycomponents/common/comBlankView.vue' import comIssueRequestPopup from '@/pages/issue/coms/comIssueRequestPopup.vue' import jobDetailPopup from '@/mycomponents/job/jobDetailPopup.vue' import comScanIssuePack from '@/pages/issue/coms/comScanIssuePack.vue' import comMessage from '@/mycomponents/common/comMessage.vue' import comIssueRequestCreator from '@/pages/issue/coms/comIssueRequestCreator.vue' export default { name: 'issueRequestSubmit', components: { comBlankView, comIssueRequestPopup, jobDetailPopup, comScanIssuePack, comMessage, comIssueRequestCreator }, data() { return { jobContent: {}, //任务内容 subList: [], //接口返回的任务subList detailSource: { subList: [] }, //绑定在页面上的数据源 detailOptions: [], scanOptions: [], requestList: [], //需求信息 } }, mounted() { this.goScan(true) }, onLoad(option) { }, methods: { goScan(editPosition) { this.$refs.comIssueRequestPopup.openRequestPopup(editPosition); }, //确定需求信息 requestConfirm(action, item) { if (this.detailSource.subList.length == 0) { this.detailSource = { workshopCode: item.workshopCode, workShopName: item.workShopName, productionLineCode: item.productionLineCode, productionLineName: item.productionLineName, workStationCode: item.workStationCode, workStationName: item.workStationName, //工位 totalQty: 0, subList: [] } var subItem = { productionLineCode: item.productionLineCode, workStationCode: item.workStationCode, itemCode: item.itemCode, itemName: item.itemName, qty: item.qty, uom: item.uom } this.detailSource.subList.push(subItem) } else { var result = this.detailSource.subList.filter(res => { if (res.itemCode == item.itemCode) { return res } }) //没有添加数据 if (result.length == 0) { var subItem = { productionLineCode: item.productionLineCode, workStationCode: item.workStationCode, itemCode: item.itemCode, itemName: item.itemName, qty: item.qty, uom: item.uom } this.detailSource.subList.push(subItem) } else { //有了更新数据 result[0].qty += item.qty } } this.caclcQty(); if (this.$refs.issueRequest != undefined) { this.$refs.issueRequest.update() } }, caclcQty() { var totalQty = 0; this.detailSource.subList.forEach(res => { totalQty += res.qty }) this.detailSource.totalQty = totalQty; }, setParams() { return this.detailSource }, submit() { uni.showLoading({ title: "提交中....", mask: true }); var params = this.setParams() console.log("提交参数", JSON.stringify(params)); issueRequestSubmit(params).then(res => { uni.hideLoading() if (res.data) { this.showCommitSuccessMessage("提交成功<br>生成发料申请" + res.data) } else { this.showErrorMessage("提交失败[" + res.msg + "]") } }).catch(error => { uni.hideLoading() this.showErrorMessage(error) }) }, showCommitSuccessMessage(hint) { this.$refs.comMessage.showSuccessMessage(hint, res => { uni.navigateTo({ url: './issueRequest' }) }) }, showErrorMessage(message) { this.$refs.comMessage.showErrorMessage(message, res => { if (res) {} }); }, } } </script> <style> </style>