diff --git a/src/api/collect/collectOrder.js b/src/api/collect/collectOrder.js index b871eb6b..222dd207 100644 --- a/src/api/collect/collectOrder.js +++ b/src/api/collect/collectOrder.js @@ -16,6 +16,14 @@ export function getNextOrder(query) { params: query }); } +export function getCurOrder(query) { + return axios({ + url: "/udiwms/basic/collect/order/current", + method: "get", + params: query + }); +} + export function orderDetail(query) { return axios({ diff --git a/src/views/collect/DealOrder.vue b/src/views/collect/DealOrder.vue index 2ad7a14f..233299ed 100644 --- a/src/views/collect/DealOrder.vue +++ b/src/views/collect/DealOrder.vue @@ -253,7 +253,7 @@ import {enterCodeWeb} from "@/api/inout/order"; import {draftOrder, finishOrder, startSplit, tagCode, updateOrder} from "@/api/collect/splitCreateOrder"; import {selectCorpList} from "@/api/basic/basicUnitMaintain"; import {delDrugLevel} from "@/api/basic/product/drugUdiinfos"; -import {getNextOrder} from "@/api/collect/collectOrder"; +import {getCurOrder, getNextOrder} from "@/api/collect/collectOrder"; import PanelOrderAllDetail from "@/views/collect/PanelOrderAllDetail"; export default { @@ -589,7 +589,47 @@ export default { this.loading = false if (res.code == 20000) { this.formData = res.data; - this.dealSplitOrder() + this.startDeal(); + } else { + this.$message.error(res.message) + } + }).catch(() => { + this.loading = false + }) + }, + + + findCurOrder() { + let nextQuery = { + workPlaceCode: this.formData.workPlaceCode + } + getCurOrder(nextQuery).then(res => { + this.loading = false + if (res.code == 20000) { + let temp = res.data; + if (temp.tagStatus === -1) { + this.$confirm('检测到当前工位存在挂起单据,是否继续上一次单据处理?', '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + this.formData = temp; + this.startDeal(); + }).catch(() => { + }); + } else if (temp.tagStatus === 2) { + this.$confirm('检测到当前工位存在正在处理单据,是否继续上一次单据处理?', '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + this.formData = temp; + this.startDeal(); + }).catch(() => { + }); + } + + } else { this.$message.error(res.message) } @@ -605,12 +645,15 @@ export default { confirmSelect(row) { this.selectPrescriptionVisible = false; this.formData = row; - this.curRow = row; + this.startDeal(); + }, + + startDeal() { + this.curRow = this.formData; this.dealSplitOrder() this.formData.tagStatus = 2; this.updateOrder(); this.refreshCodesPanel(this); - this.refreshCodesPanel(this); }, //开始拆零 @@ -663,6 +706,8 @@ export default { this.formData.code = ""; this.scanCode = ""; }, + + }, created() { getHead("prescribeTagCodeDeal", "1").then((re) => { @@ -677,8 +722,14 @@ export default { this.isLinkDisabled = true this.corpOrderIdDisabled = true this.formData.workPlaceCode = Number(this.$route.query.workplaceId); + + if (this.formData.workPlaceCode != null) { + this.findCurOrder(); + } + } this.findCurWorkPlaces(); + } } diff --git a/src/views/collect/DealOrderBlank.vue b/src/views/collect/DealOrderBlank.vue index a56b925a..233299ed 100644 --- a/src/views/collect/DealOrderBlank.vue +++ b/src/views/collect/DealOrderBlank.vue @@ -193,6 +193,7 @@ v-if="panelALive" :fifoSplit="3" :prescribeData="curRow" + :refreshPanel="refreshCodesPanelP" > @@ -252,7 +253,7 @@ import {enterCodeWeb} from "@/api/inout/order"; import {draftOrder, finishOrder, startSplit, tagCode, updateOrder} from "@/api/collect/splitCreateOrder"; import {selectCorpList} from "@/api/basic/basicUnitMaintain"; import {delDrugLevel} from "@/api/basic/product/drugUdiinfos"; -import {getNextOrder} from "@/api/collect/collectOrder"; +import {getCurOrder, getNextOrder} from "@/api/collect/collectOrder"; import PanelOrderAllDetail from "@/views/collect/PanelOrderAllDetail"; export default { @@ -326,7 +327,7 @@ export default { errOrder, selectPrescribeDialog, prescribeCodePanel, - PanelOrderManuTagCode,prescribeOriginPanel, + PanelOrderManuTagCode, prescribeOriginPanel, PannelOrderBiz, PanelOrderAllDetail }, @@ -405,14 +406,19 @@ export default { this.showSearch = !this.showSearch; }, - refreshCodesPanel(_this) { _this.panelALive = false; _this.$nextTick(() => { _this.panelALive = true; }); }, - + refreshCodesPanelP() { + let _this = this + _this.panelALive = false; + _this.$nextTick(() => { + _this.panelALive = true; + }); + }, getInputFocus(event) { event.currentTarget.select(); @@ -501,6 +507,7 @@ export default { this.formData.tagStatus = 2; this.formData.insert = false; this.formData = res.data; + this.curRow = this.formData; this.refreshCodesPanel(this); } else { if (res.code == 502) { @@ -582,7 +589,47 @@ export default { this.loading = false if (res.code == 20000) { this.formData = res.data; - this.dealSplitOrder() + this.startDeal(); + } else { + this.$message.error(res.message) + } + }).catch(() => { + this.loading = false + }) + }, + + + findCurOrder() { + let nextQuery = { + workPlaceCode: this.formData.workPlaceCode + } + getCurOrder(nextQuery).then(res => { + this.loading = false + if (res.code == 20000) { + let temp = res.data; + if (temp.tagStatus === -1) { + this.$confirm('检测到当前工位存在挂起单据,是否继续上一次单据处理?', '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + this.formData = temp; + this.startDeal(); + }).catch(() => { + }); + } else if (temp.tagStatus === 2) { + this.$confirm('检测到当前工位存在正在处理单据,是否继续上一次单据处理?', '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + this.formData = temp; + this.startDeal(); + }).catch(() => { + }); + } + + } else { this.$message.error(res.message) } @@ -598,12 +645,15 @@ export default { confirmSelect(row) { this.selectPrescriptionVisible = false; this.formData = row; - this.curRow = row; + this.startDeal(); + }, + + startDeal() { + this.curRow = this.formData; this.dealSplitOrder() this.formData.tagStatus = 2; this.updateOrder(); this.refreshCodesPanel(this); - this.refreshCodesPanel(this); }, //开始拆零 @@ -656,6 +706,8 @@ export default { this.formData.code = ""; this.scanCode = ""; }, + + }, created() { getHead("prescribeTagCodeDeal", "1").then((re) => { @@ -670,8 +722,14 @@ export default { this.isLinkDisabled = true this.corpOrderIdDisabled = true this.formData.workPlaceCode = Number(this.$route.query.workplaceId); + + if (this.formData.workPlaceCode != null) { + this.findCurOrder(); + } + } this.findCurWorkPlaces(); + } }