8/12 药品管理字段调整

20240912_adapter_z
wangwei 11 months ago
parent a690e9a4c2
commit 668308d5a8

@ -98,7 +98,7 @@
:cell-style="{padding:6+'px'}"
style="width: 100%">
<el-table-column type="index" label="序号" width="50"></el-table-column>
<el-table-column label="物资名称" width="160" prop="coName"></el-table-column>
<el-table-column label="药品名称" width="160" prop="coName"></el-table-column>
<el-table-column label="规格型号" width="160" prop="spec"></el-table-column>
<el-table-column label="批次号" width="100" prop="batchNo"></el-table-column>
<el-table-column label="单据数量" width="100" prop="count"></el-table-column>

@ -112,8 +112,11 @@
<el-table v-loading="loading" :data="detailList" style="width: 100%">
<el-table-column label="序号" type="index" width="120"></el-table-column>
<el-table-column label="药品编码" prop="nameCode"></el-table-column>
<el-table-column label="药品名称" prop="cpmctymc" show-overflow-tooltip="true"></el-table-column>
<el-table-column label="药品通用名称" prop="cpmctymc" show-overflow-tooltip="true"></el-table-column>
<el-table-column label="规格型号" prop="ggxh" show-overflow-tooltip="true"></el-table-column>
<el-table-column label="包装规格" prop="bzgg" show-overflow-tooltip="true"></el-table-column>
<el-table-column label="制剂规格" prop="prepnSpec" show-overflow-tooltip="true"></el-table-column>
<el-table-column label="制剂单位" prop="prepnUnit" show-overflow-tooltip="true"></el-table-column>
<el-table-column label="批次号" prop="batchNo"></el-table-column>
<el-table-column label="生产日期" prop="productDate"></el-table-column>
<el-table-column label="失效日期" prop="expireDate"></el-table-column>
@ -173,6 +176,7 @@ export default {
limit: 10,
status: 3,
customerId: null,
productType: 2
},
showSearch: true,
detailList: [],
@ -241,6 +245,7 @@ export default {
limit: 10,
status: 3,
customerId: null,
productType: 2
};
this.actDateRange = [];
this.getList();

@ -0,0 +1,464 @@
<template>
<div>
<el-card style="margin-top: -20px">
<el-form :model="formData" ref="dataForm" label-width="100px">
<el-button-group style="display: flex;margin: 0px 0 10px 80%; height: 35px">
<el-button
type="primary"
@click.native="checkFinish()"
>完成核对
</el-button
>
<el-button
type="primary"
@click.native="renewAccept()"
>重新核对
</el-button
>
</el-button-group>
<el-row>
<el-col :span="11">
<el-form-item prop="fromCorp" label="单据编号:">
<el-input v-model="formData.billNo" auto-complete="off"
disabled
></el-input>
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item prop="fromCorp" label="单据时间:">
<el-input v-model="formData.createTime" auto-complete="off"
disabled
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-form-item prop="fromCorp" label="单据类型:">
<el-input v-model="formData.billTypeName" auto-complete="off"
disabled
clearable
></el-input>
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item prop="fromCorp" label="收货仓库:">
<el-input v-model="formData.invName" auto-complete="off"
disabled
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-form-item prop="fromCorp" label="送货单位:">
<el-input v-model="formData.fromCorpName" auto-complete="off"
disabled
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="20">
<el-form-item prop="code" label="扫码校验:">
<el-input
id="inputer"
placeholder="请输入UDI码"
@focus="getInputFocus($event)"
@keypress.enter.native="enterKey($event)"
ref='inputRef'
style="ime-mode:disabled"
type="tel"
v-model="udiCode"
></el-input>
</el-form-item>
</el-col>
<el-col :span="2">
<el-button
type="primary"
size="small"
@click.native.stop="addCode()"
style="height: 31px; margin-left: 20px"
>添加
</el-button
>
</el-col>
</el-row>
</el-form>
</el-card>
<el-card>
<el-table v-loading="detailLoading"
:data="detailList"
border
:row-style="rowStyle"
:cell-style="{padding:6+'px'}"
style="width: 100%">
<el-table-column type="index" label="序号" width="50"></el-table-column>
<el-table-column label="药品通用名称" width="160" prop="coName"></el-table-column>
<el-table-column label="规格型号" width="160" prop="spec"></el-table-column>
<el-table-column label="批次号" width="100" prop="batchNo"></el-table-column>
<el-table-column label="单据数量" width="100" prop="count"></el-table-column>
<el-table-column label="审核数量" width="100" prop="acceptCount"></el-table-column>
<el-table-column label="生产日期" width="120" prop="productDate"></el-table-column>
<el-table-column label="失效日期" width="120" prop="expireDate"></el-table-column>
<el-table-column label="价格" width="120" prop="price"></el-table-column>
<el-table-column width="100" label="计量单位" prop="measname">
</el-table-column>
<el-table-column label="批准文号" width="150" prop="certCode"></el-table-column>
<!-- <el-table-column label="销售清单号(第二票)" width="180" prop="secSalesListNo">-->
<!-- </el-table-column>-->
<!-- <el-table-column label="销售发票号(第一票)" width="180" prop="firstSalesInvNo">-->
<!-- </el-table-column>-->
<!-- <el-table-column label="销售发票号(第二票)" width="180" prop="secSalesInvNo">-->
<!-- </el-table-column>-->
<!-- <el-table-column label="发票日期" width="150" prop="invoiceDate">-->
<!-- </el-table-column>-->
</el-table>
</el-card>
</div>
</template>
<script>
import A from "../../plugins/KeyScaner"
import {updateStatus, enterCodeWeb, thirdUpdateStatus} from "@/api/inout/order";
import {getAcceptOrder, acceptClear, acceptAddCode, getAcceptStatus} from "@/api/inout/acceptOrder";
export default {
name: "acceptOrder",
props: {
closeDialog: {
type: Function,
required: true,
},
orderQuery: {
type: Object,
required: true,
},
reviewType: {
type: Object,
required: true,
}
},
data() {
return {
formData: {},
loading: false,
detailLoading: false,
udiCode: null,
sictomText: "",
originCode: "",
checkSuccess: false,
detailList: [],
query: {
code: "",
corpOrderId: "",
page: 1,
limit: 10,
},
}
},
components: {},
methods: {
rowStyle({row, rowIndex}) {
let rowBackground = {};
if (row.reCount != row.acceptCount) {
rowBackground.color = '#f60303';
}
return rowBackground;
},
handleCurrentChange(val) {
this.query.page = val;
this.getCodeList();
},
enterKey(event) {
this.checkSuccess = true;
let tQuery = {
originCode: this.originCode,
code: this.udiCode.trim(),
}
if (tQuery.code.includes(tQuery.originCode.substr(0,tQuery.originCode.length-1))) {
tQuery.originCode = "";
}
enterCodeWeb(tQuery).then((response) => {
if (response.code === 20000) {
this.$refs.inputRef.focus();
this.$refs.inputRef.select();
this.udiCode = response.data;
this.originCode = "";
this.addCode(event);
} else {
if (response.code == 502) {
this.checkSuccess = false;
this.udiCode = response.data;
this.originCode = this.udiCode;
} else if (response.code == 501) {
this.checkSuccess = false;
this.originCode = "";
this.$message.error(response.message);
} else if (response.code == 503) {
this.checkSuccess = false;
this.udiCode = response.data;
this.$confirm(response.message, "提示", {
type: "warning",
})
.then(() => {
this.udiCode = response.data;
this.addCode();
})
.catch(() => {
this.udiCode = this.originCode;
});
} else if (response.code == 508) {
this.originCode = "";
this.udiCode = "01" + response.data.nameCode;
this.originCode = this.udiCode;
} else {
this.originCode = "";
this.$alert(response.message, '提示', {
confirmButtonText: '确定',
type: 'warning',
closeOnClickModal: true,
callback: action => {
this.$refs.inputRef.focus();
this.$refs.inputRef.select();
}
});
}
}
this.loading = false;
});
},
addCode(event) {
if (this.$isBlank(this.udiCode)) {
this.$message.error("UDI码不能为空");
}
let postQuery = {
billNo: this.orderQuery.billNo,
orderDetailEntities: this.detailList,
code: this.udiCode,
}
acceptAddCode(postQuery)
.then((response) => {
if (response.code == 20000) {
this.detailLoading = false;
this.detailList = response.data.orderDetailEntities || [];
if (response.data.finishAccept) {
this.$confirm("核对结果正确,是否立即完成核对?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.postAccept();
})
.catch(() => {
});
} else {
this.$message.success("匹配成功!");
if (event == null) {
} else event.target.select();
this.$refs.inputRef.select();
}
} else {
this.$message.error(response.message);
if (event == null) {
} else event.target.select();
this.$refs.inputRef.select();
}
})
.catch(() => {
this.detailLoading = false;
});
},
getInputFocus(event) {
event.currentTarget.select();
},
checkFinish() {
let query = {
//orderId: this.orderQuery.billNo,
billNo: this.orderQuery.billNo,
};
getAcceptStatus(query)
.then((response) => {
if (response.code == 20000) {
let tip = "核对结果正确,是否立即完成核对?";
this.finishAccept(tip);
} else {
let tip = "核对未完成,是否强制完成核对此单据?";
this.finishAccept(tip);
}
})
.catch(() => {
});
},
finishAccept(tip) {
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.postAccept();
}).catch(() => {
// this.$message.info('退');
});
},
postAccept() {
let query = {
orderId: this.orderQuery.billNo,
};
thirdUpdateStatus(query)
.then((response) => {
if (response.code == 20000) {
this.$message.success("核对成功!");
this.closeDialog();
this.$emit('childByValue', 1)
} else {
this.$message.error(response.message);
}
})
.catch(() => {
});
},
renewAccept() {
let query = {
billNo: this.orderQuery.billNo,
}
acceptClear(query)
.then((response) => {
this.detailLoading = false;
this.detailList = response.data.orderDetailEntities || [];
})
.catch(() => {
this.detailLoading = false;
this.detailList = [];
});
},
getOrderDetail() {
this.detailLoading = true;
let query = {
billNo: this.orderQuery.billNo,
}
getAcceptOrder(query)
.then((response) => {
this.detailLoading = false;
this.detailList = response.data.orderDetailEntities || [];
if (response.data.exitAccept) {
this.$confirm("检测到上一次验收操作未完成, 是否继续上一次验收?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
})
.catch(() => {
this.renewAccept();
});
}
})
.catch(() => {
this.detailLoading = false;
this.detailList = [];
});
}
},
mounted() {
document.body.ondrop = function (event) {
event.preventDefault();
event.stopPropagation();
};
var that = this;
var inputer = document.getElementById("inputer");
window.sc = new A.KeyScaner(inputer);//DOM
sc.onInput = function (text) {
if (text.includes("delete")) {
that.udiCode = "";
that.sictomText = "";
that.originCode = "";
return;
}
if (that.sitcomScan) {
let tempTxt = text;
let str = tempTxt.replace(/[\r]/g, "");
that.sictomText = that.sictomText + str;
that.udiCode = that.sictomText;
} else {
that.udiCode = text;
}
};
inputer.focus();
},
created() {
this.formData = this.orderQuery;
this.getOrderDetail()
},
}
</script>
<style scoped>
#inputer {
width: 100%;
min-height: 30px;
background-color: white;
border: #d0d0d0;
border-style: solid;
border-width: 0.1px;
color: #4a4a4a;
}
#inputer:focus {
width: 100%;
min-height: 30px;
background-color: white;
border: #0080FF;
border-style: solid;
border-width: 0.1px;
color: #4a4a4a;
}
</style>

@ -897,7 +897,7 @@ import {getResultDetailList} from "@/api/inout/orderDetailResult";
import {getCodeDetailList} from "@/api/inout/orderDetailCode";
import {getCodeList} from "@/api/inout/code";
import {inspectionOrderPDFFromTemplateFile, orderPDFFromTemplateFile} from "@/api/itextpdf/orderPrint"
import AcceptOrder from "@/views/inout/DialogThrReviewOrder";
import AcceptOrder from "./DialogThrReviewOrder";
import {getDeptListByUser} from "@/api/auth/authDept";
import DialogCheck from "@/views/inout/DialogCheck";
import {getBizDetailList} from '@/api/inout/orderDetailBiz'

@ -232,7 +232,12 @@
>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column
label="物资名称" width="150"
label="药品编码" width="150"
prop="nameCode"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="药品通用名称" width="150"
prop="coName"
show-overflow-tooltip
></el-table-column>
@ -240,6 +245,18 @@
label="规格型号" width="150"
prop="spec"
></el-table-column>
<el-table-column
label="包装规格" width="150"
prop="bzgg"
></el-table-column>
<el-table-column
label="制剂规格" width="150"
prop="prepnSpec"
></el-table-column>
<el-table-column
label="制剂单位" width="150"
prop="prepnUnit"
></el-table-column>
<el-table-column label="批次号" header-align="center">
<el-table-column header-align="center"
label="手录" width="100"
@ -323,7 +340,7 @@ import {
getOrderList
} from "../../api/inout/order";
import {getBasicUnitMaintains, getCorrespondence} from "../../api/basic/basicUnitMaintain"
import addOrder from "@/views/inout/DialogCreateOrder";
import addOrder from "./DialogCreateDrugOrder";
import {getInvListByUser} from "@/api/system/invWarehouse";
import {getLocalJoinByUser} from "@/api/basic/busType";
import {selectSysParamByKey} from "@/api/param/systemParamConfig";

@ -435,6 +435,18 @@
label="规格型号" width="150"
prop="spec"
></el-table-column>
<el-table-column
label="包装规格" width="150"
prop="bzgg"
></el-table-column>
<el-table-column
label="制剂规格" width="150"
prop="prepnSpec"
></el-table-column>
<el-table-column
label="制剂单位" width="150"
prop="prepnUnit"
></el-table-column>
<el-table-column label="批次号" header-align="center">
<el-table-column header-align="center"
label="手录" width="100"

@ -32,7 +32,22 @@
></el-table-column>
<el-table-column width="150"
label="包装规格"
prop="spec"
prop="bzgg"
show-overflow-tooltip
></el-table-column>
<el-table-column width="150"
label="制剂规格"
prop="prepnSpec"
show-overflow-tooltip
></el-table-column>
<el-table-column width="150"
label="制剂单位"
prop="prepnUnit"
show-overflow-tooltip
></el-table-column>
<el-table-column width="150"
label="规格型号"
prop="ggxh"
show-overflow-tooltip
></el-table-column>
<el-table-column width="120" label="批次号">

@ -11,9 +11,21 @@
show-overflow-tooltip
></el-table-column>
<el-table-column
label="包装规格" width="150"
label="规格型号" width="80"
prop="spec"
></el-table-column>
<el-table-column
label="包装规格" width="80"
prop="bzgg"
></el-table-column>
<el-table-column
label="制剂规格" width="80"
prop="prepnSpec"
></el-table-column>
<el-table-column
label="制剂单位" width="80"
prop="prepnUnit"
></el-table-column>
<el-table-column label="批次号" header-align="center">
<el-table-column header-align="center"
label="手录" width="100"
@ -73,11 +85,11 @@
</el-table-column>
<el-table-column
label="生产企业"
prop="manufacturer" width="160"
prop="manufacturer" width="120"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="批准文号" width="160"
label="批准文号" width="120"
prop="certCode"
show-overflow-tooltip
></el-table-column>

@ -22,15 +22,33 @@
show-overflow-tooltip
></el-table-column>
<el-table-column
label="包装规格"
label="批次号"
prop="batchNo"
width="120"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="规格型号"
prop="ggxh"
width="160"
width="140"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="批次号"
prop="batchNo"
width="120"
label="包装规格"
prop="bzgg"
width="140"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="制剂规格"
prop="prepnSpec"
width="140"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="制剂单位"
prop="prepnUnit"
width="140"
show-overflow-tooltip
></el-table-column>
<el-table-column

@ -11,7 +11,10 @@
show-overflow-tooltip
></el-table-column>
<el-table-column label="药品通用名" width="150" prop="coName" show-overflow-tooltip></el-table-column>
<el-table-column label="包装规格" width="150" prop="spec" show-overflow-tooltip></el-table-column>
<el-table-column label="规格型号" width="140" prop="spec" show-overflow-tooltip></el-table-column>
<el-table-column label="包装规格" width="140" prop="bzgg" show-overflow-tooltip></el-table-column>
<el-table-column label="制剂规格" width="140" prop="prepnSpec" show-overflow-tooltip></el-table-column>
<el-table-column label="制剂单位" width="140" prop="prepnUnit" show-overflow-tooltip></el-table-column>
<el-table-column label="批次号" width="150" prop="batchNo" show-overflow-tooltip></el-table-column>
<el-table-column label="生产日期" width="120" prop="productDate" show-overflow-tooltip>
<template slot-scope="scope">

@ -113,7 +113,7 @@
highlight-current-row max-height="300" height="300" ref="multipleTable">
<el-table-column label="序号" type="index" width="60"></el-table-column>
<el-table-column label="药品标识" prop="nameCode" width="120"></el-table-column>
<el-table-column label="药品通用名称" prop="productName" show-overflow-tooltip="true" width="140"></el-table-column>
<el-table-column label="药品通用名称" prop="productName" show-overflow-tooltip="true" width="140"></el-table-column>
<el-table-column label="商品名称" prop="spmc" show-overflow-tooltip="true" width="110"></el-table-column>
<el-table-column label="规格型号" prop="spec" show-overflow-tooltip="true" width="140"></el-table-column>
<el-table-column label="计量单位" prop="measname" show-overflow-tooltip="true" width="80"></el-table-column>

@ -394,6 +394,10 @@ export default {
editQuery: {
type: Object,
required: true
},
type: {
type: Object,
required: false
}
},
data() {
@ -401,16 +405,22 @@ export default {
sysList: [],
checked: false,
detailList: [],
loading: false
loading: false,
query: {
uuid: '',
id: ''
}
}
},
methods: {
getThirdSysDetail() {
let query = {
id: this.editQuery.id
if (this.type == 1) {
this.query.id = this.editQuery.rlId; // type 1使 relId
} else {
this.query.id = this.editQuery.id; // 使 id
}
thirdSysDetail(query)
this.query.id =
thirdSysDetail( this.query)
.then((response) => {
this.loading = false
this.sysList = response.data.list || []
@ -424,11 +434,14 @@ export default {
getDetailList() {
this.loading = true
if (this.editQuery.uuid != null) {
let query = {
uuid: this.editQuery.uuid,
id: this.editQuery.id
this.query.uuid = this.editQuery.uuid
// type id
if (this.type == 1) {
this.query.id = this.editQuery.rlId; // type 1使 relId
} else {
this.query.id = this.editQuery.id; // 使 id
}
filterByUuid(query)
filterByUuid(this.query)
.then((response) => {
this.loading = false
this.detailList = response.data || []

@ -4,8 +4,8 @@
<el-form :model="listQuery" label-width="120px" v-if="showSearch">
<el-row>
<el-col :span="18">
<el-form-item label="UDI码:" class="query-form-item">
<el-input v-model="listQuery.udiCode" style="width: 96%" placeholder="请扫描或输入UDI码" clearable="true"
<el-form-item label="药品追溯码:" class="query-form-item">
<el-input v-model="listQuery.udiCode" style="width: 96%" placeholder="请扫描或输入药品追溯码" clearable="true"
@keyup.enter.native="keyup_submit($event)"></el-input>
</el-form-item>
</el-col>
@ -109,7 +109,7 @@
append-to-body
v-if="udiRlDetailVisible"
>
<udiRlDetailDialog :editQuery="currentRow"></udiRlDetailDialog>
<udiRlDetailDialog :editQuery="currentRow" :type="type"></udiRlDetailDialog>
</el-dialog>
<el-dialog title="请选择对应的批准文号" :visible.sync="dialogFormVisible" append-to-body width="40%">
@ -238,6 +238,7 @@ export default {
certList: [],
dialogFormVisible: false,
multipleSelection: null,
type: 1
};
},
methods: {

@ -4,17 +4,17 @@
<el-form :model="listQuery" label-width="120px" v-if="showSearch">
<el-row>
<el-col :span="12">
<el-form-item label="UDI码:" class="query-form-item">
<el-input v-model="listQuery.udiCode" style="width: 96%" placeholder="请扫描或输入UDI码" clearable="true"
<el-form-item label="药品追溯码:" class="query-form-item">
<el-input v-model="listQuery.udiCode" style="width: 96%" placeholder="请扫描或输入药品追溯码" clearable="true"
@keyup.enter.native="keyup_submit($event)"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="第三方产品编码:" class="query-form-item">
<el-input v-model="listQuery.thrPiId" style="width: 90%" placeholder="请输入第三方产品编码"
clearable="true"></el-input>
</el-form-item>
</el-col>
<!--<el-col :span="6">-->
<!-- <el-form-item label="第三方产品编码:" class="query-form-item">-->
<!-- <el-input v-model="listQuery.thrPiId" style="width: 90%" placeholder="请输入第三方产品编码"-->
<!-- clearable="true"></el-input>-->
<!-- </el-form-item>-->
<!--</el-col>-->
</el-row>
<el-row>
@ -97,7 +97,7 @@
append-to-body
v-if="udiRlDetailVisible"
>
<udiRlDetailDialog :editQuery="currentRow"></udiRlDetailDialog>
<udiRlDetailDialog :editQuery="currentRow" :type="type"></udiRlDetailDialog>
</el-dialog>
<el-dialog title="请选择对应的批准文号" :visible.sync="dialogFormVisible" append-to-body width="40%">
@ -215,6 +215,7 @@ export default {
certList: [],
dialogFormVisible: false,
multipleSelection: null,
type: 1
};
},
methods: {

Loading…
Cancel
Save