4/8 退货1.0

dev2.5_scan
wangwei 3 months ago
parent 9410b60dc0
commit aa168e3a15

@ -42,6 +42,7 @@ export function orderDetail(query) {
});
}
export function allDetail(query) {
return axios({
url: "/udiwms/basic/collect/order/allDetail",
@ -328,6 +329,16 @@ export function returnOrderSubmit(query) {
}
export function splitOrderCode(query) {
return axios({
url: "/udiwms/ioSplit/collect/order/splitOrderCode",
method: "post",
data: query
});
}
export function finishReturnOrder(query) {
return axios({
@ -336,3 +347,33 @@ export function finishReturnOrder(query) {
data: query
});
}
export function returnOrderDetail(query) {
return axios({
url: "/udiwms/basic/collect/ReturnOrder/detail",
method: "get",
params: query
});
}
export function splitReturnOrderCode(query) {
return axios({
url: "/udiwms/ioSplit/collect/order/splitReturnOrderCode",
method: "post",
data: query
});
}
/**
* 退货删除或减扫码明细
* @param query
* @returns {AxiosPromise}
*/
export function codeReturnRemove(query) {
return axios({
url: "/udiwms/ioSplit/collect/code/codeReturnRemove",
method: "post",
data: query
});
}

@ -24,7 +24,7 @@
<div class="table-cell count">{{ scope.row.count }}</div>
</template>
</el-table-column>
<el-table-column label="应扫码数量" prop="scanActCount" :min-width="120">
<el-table-column label="应扫整取码数量" prop="scanActCount" :min-width="120">
<template v-slot="scope">
<!--<div v-if="scope.row.autoTagStatus === 2" class="table-cell warning">-->
<!-- 无需扫码-->
@ -60,13 +60,19 @@
<el-table-column
fixed="right"
label="操作"
width="120"
width="240"
>
<!-- :disabled="!scope.row.scanCount"-->
<template slot-scope="scope">
<el-button type="primary" @click="scanDetail(scope.row)" style="font-size: 14px"
:disabled="!scope.row.scanCount"
>
扫码明细({{ scope.row.scanCount || 0 }})
赋码明细
<!--({{ scope.row.scanCount || 0 }})-->
</el-button>
<el-button type="primary" @click="splitReturnOrder(scope.row)" style="font-size: 14px"
:disabled="scope.row.isSplit != 1"
>
拆零退货
</el-button>
</template>
</el-table-column>
@ -80,24 +86,79 @@
@pagination="preHandleCurrentChange"
></pagination>
<el-dialog
title="扫码明细"
:visible.sync="scanDetailVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
v-if="scanDetailVisible"
width="65%"
width="75%"
append-to-body
>
<PanelOrderManuTagCode
:fifoSplit="3"
:prescribeData="prescribeData"
:bizId="bizId"
:closeScanDialog="closeScanDialog"
></PanelOrderManuTagCode>
<div class="double-table-container">
<!-- 第一个表格 -->
<div class="table-wrapper">
<h3>原始处方追溯码</h3>
<div class="table-scroll">
<el-table
:data="codeDetailList"
style="width: 100%; min-width: 500px;" max-height="500" :row-style="{height: '32.8px' }">
<el-table-column
type="index"
label="序号"
>
</el-table-column>
<el-table-column property="udiCode" label="追溯码" width="180" />
<el-table-column property="cpmctymc" label="产品通用名称" width="100" />
<el-table-column property="nameCode" label="产品标识" width="100" />
<el-table-column property="ggxh" label="规格" width="80" />
<el-table-column property="batchNo" label="批次号" width="100" />
<el-table-column property="scanCount" label="扫码数量" width="80" />
<el-table-column property="produceDate" label="生产日期" width="100" />
<el-table-column property="expireDate" label="过期时间" width="100" />
<el-table-column property="serialNo" label="序列号" width="100" />
</el-table>
</div>
</div>
<!-- 第二个表格 -->
<div class="table-wrapper">
<h3>退货处方追溯码</h3>
<div class="table-scroll">
<el-table
:data="codeReturnDetailList"
style="width: 100%; min-width: 500px;"max-height="500">
<el-table-column
type="index"
label="序号"
>
</el-table-column>
<el-table-column property="udiCode" label="追溯码" width="180" />
<el-table-column property="cpmctymc" label="产品通用名称" width="100" />
<el-table-column property="nameCode" label="产品标识" width="100" />
<el-table-column property="ggxh" label="规格" width="80" />
<el-table-column property="batchNo" label="批次号" width="100" />
<el-table-column property="scanCount" label="扫码数量" width="80" />
<el-table-column property="produceDate" label="生产日期" width="100" />
<el-table-column property="expireDate" label="过期时间" width="100" />
<el-table-column property="serialNo" label="序列号" width="100" />
<el-table-column
fixed="right"
label="操作"
width="100">
<template #default="scope">
<el-button @click="deleteCode(scope.row)" type="text" size="small">减一</el-button>
<el-button @click="deleteMan(scope.row)" type="text" size="small">删除</el-button>
</template>
</el-table-column>
</el-table>
</div>
</div>
</div>
</el-dialog>
</div>
</template>
@ -105,8 +166,13 @@
import { convertDate } from '@/utils/date'
import { detail } from '@/api/basic/sicker/prescribeApi'
import { executeFuc, getHead } from '@/utils/customConfig'
import { orderDetail, codeRemove } from '@/api/collect/collectOrder'
import PanelOrderManuTagCode from '@/views/collect/PanelOrderManuTagCode'
import {
returnOrderDetail,
codeRemove,
splitReturnOrderCode,
manualCodeDetail,
autoCodeResult, codeReturnRemove
} from '@/api/collect/collectOrder'
/**
* 处方退药码明细
@ -147,39 +213,57 @@ export default {
countVisible: false,
scanDetailVisible: false,
bizId: null,
codingStatus: '已赋码'
codingStatus: '已赋码',
//
fifoSplit:3,
codeQuery: {
fifoSplit: null,
bizIdFk: null,
relId:null,
page: 1,
limit: 10,
},
codeRetureQuery: {
fifoSplit: null,
bizIdFk: null,
page: 1,
limit: 10,
},
codeDetailList: [],
codeReturnDetailList: [],
codeTotal: 0,
}
},
methods: {
deleteMan(_this, row) {
_this.$confirm('是否确定删除该条扫码?', '提示', {
deleteMan(row) {
this.$confirm('是否确定删除该条扫码?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
_this.loading = true
_this.codeRemoveMan(row.id, 2)
this.codeRemoveMan(row.id, 2)
})
},
deleteCode(_this, row) {
_this.$confirm('是否确定移除一个条码?', '提示', {
deleteCode(row) {
this.$confirm('是否确定移除一个条码?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
_this.loading = true
_this.codeRemoveMan(row.id, 1)
this.codeRemoveMan(row.id, 1)
})
},
codeRemoveMan(codeManId, delType) {
let post = {
codeManId: codeManId,
delType: delType
delType: delType,
orderId:this.prescribeData.billNo
}
codeRemove(post).then((response) => {
codeReturnRemove(post).then((response) => {
if (response.code === 20000) {
this.$message.success('操作成功!')
this.getList(this)
this.getReturnCodeDetailList()
this.getPrescribeDetail(this)
} else {
this.$message.error(response.message)
}
@ -223,7 +307,7 @@ export default {
_this.preQuery.orderIdFk = this.prescribeData.billNo
}
_this.preLoading = true
orderDetail(_this.preQuery).then(res => {
returnOrderDetail(_this.preQuery).then(res => {
_this.preLoading = false
if (res.code != 20000) {
_this.$message.error(res.message)
@ -239,8 +323,26 @@ export default {
scanDetail(row) {
this.bizId = row.id
this.getCodeDetailList(row)
this.getReturnCodeDetailList()
this.scanDetailVisible = true
},
//退
splitReturnOrder(row){
let query = {
billNo :row.orderIdFk,
workPlaceCode: this.$route.query.workplaceId,
relId:row.relId
}
splitReturnOrderCode(query).then(res => {
if (res.code == 20000){
this.getPrescribeDetail(this)
return this.$message.success("拆零成功")
}else {
return this.$message.error(res.message)
}
})
},
closeScanDialog() {
this.getPrescribeDetail(this)
@ -261,12 +363,47 @@ export default {
if (row.shouldCount === 0) return 'error'
return row.scanCount < row.shouldCount ? 'error' : 'success'
},
getCodeDetailList(row) {
this.fifoSplit = 3
if (this.prescribeData == null)
return
if (this.prescribeData != null) {
this.codeQuery.orderIdFk = this.prescribeData.remark
this.codeQuery.relId = row.relId
}
manualCodeDetail(this.codeQuery).then(res => {
this.codeLoading = false
if (res.code != 20000) {
this.$message.error(res.message)
return
}
this.codeDetailList = res.data.list
}).catch(() => {
this.$message.error("数据加载失败")
})
},
getReturnCodeDetailList() {
this.fifoSplit = 3
if (this.prescribeData == null)
return
if (this.prescribeData != null) {
this.codeRetureQuery.orderIdFk = this.prescribeData.billNo
this.codeRetureQuery.bizIdFk = this.bizId
}
manualCodeDetail(this.codeRetureQuery).then(res => {
if (res.code != 20000) {
this.$message.error(res.message)
return
}
this.codeReturnDetailList = res.data.list
}).catch(() => {
this.$message.error("数据加载失败")
})
},
},
components: {
PanelOrderManuTagCode
},
created() {
this.getPrescribeDetail(this)
@ -308,4 +445,22 @@ export default {
color: #56a717;
}
.double-table-container {
display: flex;
justify-content: space-between;
gap: 20px;
}
.table-wrapper {
flex: 1;
overflow: hidden;
}
h3 {
margin-bottom: 10px;
font-weight: bold;
}
/*.table-scroll {*/
/* overflow-x: auto;*/
/*}*/
</style>

@ -116,7 +116,8 @@
type="tel"
:placeholder="this.placeholder"
v-model="scanCode"
size="50"
size="80"
></el-input>
</el-form-item>
</el-col>
@ -145,7 +146,19 @@
type="primary"
:disabled="!formData.billNo"
@click.native="confirmFinishOrder()"
>退货完成
>完成
</el-button>
<!--<el-button-->
<!-- type="primary"-->
<!-- :disabled="!formData.billNo"-->
<!-- @click.native="fullFinishOrder()"-->
<!--&gt;整单退货-->
<!--</el-button>-->
<el-button
type="primary"
:disabled="!formData.billNo || disabledSplitReturnOrder"
@click.native="splitReturnOrder()"
>整单拆零退货
</el-button>
</el-button-group>
</el-col>
@ -314,7 +327,7 @@ import {
findByBill,
findFromCorp,
orderDetail,
removeByScanCode, finishReturnOrder
removeByScanCode, finishReturnOrder, returnOrderSubmit, splitReturnOrderCode, splitOrderCode
} from '@/api/collect/collectOrder'
import PanelOrderAllDetail from '@/views/collect/PanelOrderAllDetail'
import { getWorkBindBusTypes, removeBusTypeById } from '@/api/basic/workPlace/sysWorkplaceDocuments'
@ -438,7 +451,8 @@ export default {
},
labelName: 1,
scanStatus: null, // 1:; null
collectSet: {}
collectSet: {},
disabledSplitReturnOrder: false,
}
},
@ -651,7 +665,7 @@ export default {
_this.$nextTick(() => {
_this.panelALive = true
})
// _this.getBizDetailList();
_this.getBizDetailList();
_this.vailOrderFinish()
},
refreshCodesPanelP() {
@ -928,6 +942,7 @@ export default {
this.formData.tagStatus = 2
this.formData.insert = false
this.formData = res.data
this.formData.confirmFinish = false
this.curRow = this.formData
this.$refs.inputRef.focus()
this.refreshCodesPanel(this)
@ -993,6 +1008,71 @@ export default {
}).catch(() => {
})
},
fullFinishOrder(){
this.$confirm('是否确定整单处方退货?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let query = {
billNo: this.formData.billNo,
busType:this.formData.busType
}
returnOrderSubmit(query).then(res => {
if (res.code == 20000){
// const audio = new Audio(require('@/assets/audioFiles/order.mp3'))
// audio.play()
this.resetSplit()
return this.$message.success("退货成功")
}else {
return this.$message.error(res.message)
}
})
}).catch(() => {
})
},
resetSplit() {
this.formData = {
billNo: null,
tagStatus: -1,
workPlaceCode: this.formData.workPlaceCode,
busType: this.formData.busType,
shipper: null,
fromCorp: null
}
this.selectSysParam()
this.curRow = null
this.formData.confirmFinish = false
this.clearCode()
this.$refs.inputRef.focus()
this.$refs.inputRef.select()
},
splitReturnOrder(){
this.$confirm('是否确定整单拆零退货?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let query = {
billNo: this.formData.billNo,
busType:this.formData.busType,
workPlaceCode:this.workplaceId
}
splitOrderCode(query).then(res => {
if (res.code == 20000){
// const audio = new Audio(require('@/assets/audioFiles/order.mp3'))
// audio.play()
this.disabledSplitReturnOrder = true
this.refreshCodesPanel(this)
return this.$message.success("退货成功")
}else {
return this.$message.error(res.message)
}
})
}).catch(() => {
})
},
finishOrder() {
finishReturnOrder(this.formData).then(res => {
@ -1000,7 +1080,7 @@ export default {
if (res.code == 20000) {
const audio = new Audio(require('@/assets/audioFiles/order.mp3'))
audio.play()
this.reset()
this.resetSplit()
return this.$message.success("退货成功")
if (this.formDataVisible.scanType != 1) {
this.findCurOrder()
@ -1084,6 +1164,7 @@ export default {
} else if (temp.tagStatus === 2 || temp.tagStatus === 1) {
this.formData = temp
this.formData.confirmFinish = false
// this.generateBarcode()
this.panelALive = true
this.startDeal()
@ -1754,4 +1835,8 @@ export default {
margin-left: 20px;
margin-right: 10px;
}
/*.el-input__inner {*/
/* width: 10% !important;*/
/*}*/
</style>

Loading…
Cancel
Save