新增药品出入库单批量扫码修改

dev2.5_scan
yewj 6 days ago
parent 6dc9010756
commit 4af06aae4c

@ -30,7 +30,7 @@ ENV = 'production'
# 平和县医院
# VUE_APP_BASE_API = 'http://192.168.0.43:9150/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://dm.xmglxp.com:81/UDI_WMS_MC/'
VUE_APP_BASE_API = 'http://sjld.jiyunas.icu:81/UDI_WMS_MC/'
# 长泰医院
# VUE_APP_BASE_API = 'http://192.168.6.189:9160/UDI_WMS_MC/'
@ -76,7 +76,7 @@ ENV = 'production'
# VUE_APP_BASE_API = 'http://116.204.116.198:9160/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://127.0.0.1:9150/UDI_WMS_MC/'
# 湖里妇幼
VUE_APP_BASE_API = 'http://192.168.158.151:9150/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://192.168.158.151:9150/UDI_WMS_MC/'
# 应用访问路径 例如使用前缀 /admin/
VUE_APP_CONTEXT_PATH = '/UDI_WMS_NEW/'

@ -5,7 +5,7 @@
"author": "Glxp",
"license": "MIT",
"scripts": {
"build:prod": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
"build:prod": "vue-cli-service build",
"build:test": "vue-cli-service build --mode test",
"preview": "node build/index.js --preview",
"lint": "eslint --ext .js,.vue src",

@ -364,7 +364,6 @@
<el-col :span="20">
<el-form-item prop="code" label="扫码录入校验:">
<el-input
id="inputer"
@focus="getInputFocus($event)"
@keypress.enter.native="enterKey($event)"
ref="inputRef"
@ -377,29 +376,29 @@
<el-col :span="2">
<el-button-group
style="display: flex; height: 35px">
<el-button
type="primary"
size="mini"
@click.native.stop="addCode()"
style="margin-left: 15px"
>扫码添加
</el-button>
<el-button
type="primary"
size="mini"
@click.native="selectOrder()"
v-if="curAction.checkWebNew != 2 || viewType !=1"
>下载码上放心追溯码
<!-- v-if="(curAction.checkWebNew !== 2 || viewType !== 1) && orderFormData.billNo"-->
</el-button
>
<el-button
type="primary"
size="mini"
v-if="curAction.useDyCount == 2"
@click.native.stop="addInvProduct()"
>库存选入
</el-button>
<el-button
type="primary"
size="mini"
@click.native.stop="addCode()"
style="margin-left: 15px"
>扫码添加
</el-button>
<el-button
type="primary"
size="mini"
@click.native="selectOrder()"
v-if="curAction.checkWebNew != 2 || viewType !=1"
>下载码上放心追溯码
<!-- v-if="(curAction.checkWebNew !== 2 || viewType !== 1) && orderFormData.billNo"-->
</el-button
>
<el-button
type="primary"
size="mini"
v-if="curAction.useDyCount == 2"
@click.native.stop="addInvProduct()"
>库存选入
</el-button>
</el-button-group>
</el-col>
</el-row>
@ -435,17 +434,17 @@
v-if="isCodeDetailAlive"
></codeDetailPanel>
</el-tab-pane>
<!-- <el-tab-pane label="扫码明细" v-if="viewCodeDetailVisible">-->
<!-- <codesPanel-->
<!-- :idQuery="orderFormData"-->
<!-- :refreshPanel="refreshCodesPanel"-->
<!-- v-if="isCodeAlive"-->
<!-- :viewType="viewType"-->
<!-- :selectRlTitle="selectRlTitle"-->
<!-- :editTitle="editTitle"-->
<!-- :selectUnitTitle="selectUnitTitle"-->
<!-- ></codesPanel>-->
<!-- </el-tab-pane>-->
<!-- <el-tab-pane label="扫码明细" v-if="viewCodeDetailVisible">-->
<!-- <codesPanel-->
<!-- :idQuery="orderFormData"-->
<!-- :refreshPanel="refreshCodesPanel"-->
<!-- v-if="isCodeAlive"-->
<!-- :viewType="viewType"-->
<!-- :selectRlTitle="selectRlTitle"-->
<!-- :editTitle="editTitle"-->
<!-- :selectUnitTitle="selectUnitTitle"-->
<!-- ></codesPanel>-->
<!-- </el-tab-pane>-->
<el-tab-pane label="处方使用耗材" v-if="viewSickVisible">
<diSkPrescribePanel
:perscribeData="orderFormData"
@ -601,7 +600,7 @@ import {
submitCodes,
submitOrderWeb,
saveOrderWeb,
submitAllocateBiz, rollbackWaitcheck, submitCodeResult, submitCheckResult, delmitBiz, addDrugOrderWeb,
submitAllocateBiz, rollbackWaitcheck, submitCodeResult, submitCheckResult, delmitBiz, addDrugOrderWeb, batchAddCode,
} from "../../api/inout/order";
import {filterSubAll, findByFrom, findInvByUser} from "../../api/system/invSubWarehouse";
import {parseTime} from "../../utils/coTools";
@ -638,6 +637,11 @@ export default {
type: Object,
required: true,
},
fromCorp: {
type: Object,
required: true,
},
errView: {
type: Object,
required: true,
@ -942,14 +946,14 @@ export default {
let query = {
code: this.orderFormData.invCode,
editType: 2, //
productType:2
productType: 2
};
if (this.viewTypeKsck) {
query = {
code: this.orderFormData.invCode,
editType: 2, //
useDyCount: 2, //
productType:2
productType: 2
};
}
@ -1020,7 +1024,7 @@ export default {
this.closeDialog();
} else {
// this.$message.error(response.message);
const codeDetailComponent = this.$refs.IoCreateOrderCodeDetail.getOrderDetails();
// const codeDetailComponent = this.$refs.IoCreateOrderCodeDetail.getOrderDetails();
}
});
const codeDetailComponent = this.$refs.IoCreateOrderCodeDetail.getOrderDetails();
@ -1111,9 +1115,9 @@ export default {
(this.curAction.corpType == 1 && !this.curAction.genUnit)
) {
//1.
this.orderFormData.fromCorp = null;
// this.orderFormData.fromCorp = null;
this.delorderData();
// this.delorderData();
this.findMethod();
} else if (this.curAction.corpType == 3) {
@ -1353,7 +1357,12 @@ export default {
let tQuery = Object.assign(
JSON.parse(JSON.stringify(this.orderFormData))
);
tQuery.code = this.codeFormData.code;
if (this.codeFormData.code.includes(';')) {
const codeArray = this.codeFormData.code.split(';')
tQuery.codeList = codeArray
} else
tQuery.code = this.codeFormData.code;
tQuery.orderType = this.viewType;
this.addCodeSubmit(tQuery);
this.$refs.inputRef.select();
@ -1377,7 +1386,7 @@ export default {
//
addCodeSubmit(tQuery) {
addDrugOrderWeb(tQuery).then((response) => {
batchAddCode(tQuery).then((response) => {
if (response.code === 20000) {
this.orderFormData.billNo = response.data.orderId;
if (response.data.errMsg != null) {
@ -1391,9 +1400,10 @@ export default {
}
this.corpOrderIdDisabled = true;
this.refreshCodesPanel();
this.orderFormData.relId = null;
this.printMutiCodeResult(response.data.vailCodeResultResponses)
this.$refs.inputRef.focus();
this.$refs.inputRef.select();
this.orderFormData.relId = null;
} else {
if (response.code == 502) {
//ID
@ -1524,6 +1534,27 @@ export default {
}
},
async printMutiCodeResult(vailCodeResultResponses) {
let result = ""
let warnResult = ""
for (let i = 0; i < vailCodeResultResponses.length; i++) {
let data = vailCodeResultResponses[i]
if (data.status == 1) {
result = result + ';' + vailCodeResultResponses[i].code
} else if (data.status == 2) {
if (result == '') {
}
warnResult = warnResult + '\n' + vailCodeResultResponses[i].code + ':' + vailCodeResultResponses[i].errMsg
} else if (data.status == 3) {
result = result + '\n' + vailCodeResultResponses[i].code
}
}
if (!isBlank(warnResult)) {
this.$message.error(warnResult)
}
},
refreshOrder(orderQuery) {
this.orderFormData = orderQuery;
},
@ -1841,29 +1872,11 @@ export default {
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.codeFormData.code = "";
that.sictomText = "";
that.originCode = "";
return;
}
if (that.sitcomScan) {
let tempTxt = text;
let str = tempTxt.replace(/[\r]/g, "");
that.sictomText = that.sictomText + str;
that.codeFormData.code = that.sictomText;
} else {
that.codeFormData.code = text;
}
};
inputer.focus();
},
created() {
//
this.orderQuery.fromCorp = this.fromCorp
console.log(this.orderQuery.fromCorp)
this.codeFormData.code = "";
//
if (this.viewType == 2) {
@ -1936,29 +1949,6 @@ export default {
<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;
}
.ime-disabled {
ime-mode: disabled;
}
</style>

@ -6,73 +6,73 @@
<el-row style=" display:flex; flex-wrap: wrap; ">
<template v-for="(item, index) in queryList">
<div v-if="showSearch || item.isImport">
<el-form-item v-if="item.columnType == 'input' && executeEval(row,item.expression,true)"
:label="item.columnDesc+`:`" :key="item.id">
<el-input
v-model="filterQuery[item.columnName]"
:placeholder="item.columnDesc"
:disabled="executeEval(null,item.disabledFuc,false)"
@keyup.enter.native="executeFuc($event,'5',item.clickFuc)"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="item.columnType == 'select' && executeEval(row,item.expression,true)"
:label="item.columnDesc+`:`">
<el-select v-model="filterQuery[item.columnName]"
:placeholder="item.columnDesc"
:disabled="executeEval(null,item.disabledFuc,false)"
clearable>
<el-option
v-for="dict in item.lableRuleObj"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item v-if="item.columnType == 'selectServer' && executeEval(row,item.expression,true)"
:label="item.columnDesc+`:`">
<el-select
v-model="filterQuery[item.columnName]"
:placeholder="item.columnDesc"
@change="executeFuc($event,'5',item.checkRules)"
:disabled="executeEval(null,item.disabledFuc,false)"
filterable
remote
:remote-method="(query) => executeFuc(query,'5',item.clickFuc)"
clearable>
<el-option
v-for="item in options[item.clickFuc]"
:key="item.code"
:label="item.label"
:value="item.code"
/>
</el-select>
</el-form-item>
<el-form-item v-if="item.columnType == 'datePicker' && executeEval(row,item.expression,true)"
:label="item.columnDesc+`:`">
<el-date-picker
:picker-options="pickerOptions"
v-model="actDateRange"
type="daterange"
format="yyyy 年 MM 月 dd 日"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
<el-form-item v-if="item.columnType == 'date' && executeEval(row,item.expression,true)"
:label="item.columnDesc+`:`">
<el-date-picker
v-model="filterQuery[item.columnName]"
:style="`width:${item.width+'px'}`"
value-format="yyyy-MM-dd"
:disabled="executeEval(null,item.disabledFuc,false)"
type="date"
:placeholder="item.columnDesc"
></el-date-picker>
</el-form-item>
<el-form-item v-if="item.columnType == 'input' && executeEval(row,item.expression,true)"
:label="item.columnDesc+`:`" :key="item.id">
<el-input
v-model="filterQuery[item.columnName]"
:placeholder="item.columnDesc"
:disabled="executeEval(null,item.disabledFuc,false)"
@keyup.enter.native="executeFuc($event,'5',item.clickFuc)"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="item.columnType == 'select' && executeEval(row,item.expression,true)"
:label="item.columnDesc+`:`">
<el-select v-model="filterQuery[item.columnName]"
:placeholder="item.columnDesc"
:disabled="executeEval(null,item.disabledFuc,false)"
clearable>
<el-option
v-for="dict in item.lableRuleObj"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item v-if="item.columnType == 'selectServer' && executeEval(row,item.expression,true)"
:label="item.columnDesc+`:`">
<el-select
v-model="filterQuery[item.columnName]"
:placeholder="item.columnDesc"
@change="executeFuc($event,'5',item.checkRules)"
:disabled="executeEval(null,item.disabledFuc,false)"
filterable
remote
:remote-method="(query) => executeFuc(query,'5',item.clickFuc)"
clearable>
<el-option
v-for="item in options[item.clickFuc]"
:key="item.code"
:label="item.label"
:value="item.code"
/>
</el-select>
</el-form-item>
<el-form-item v-if="item.columnType == 'datePicker' && executeEval(row,item.expression,true)"
:label="item.columnDesc+`:`">
<el-date-picker
:picker-options="pickerOptions"
v-model="actDateRange"
type="daterange"
format="yyyy 年 MM 月 dd 日"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
<el-form-item v-if="item.columnType == 'date' && executeEval(row,item.expression,true)"
:label="item.columnDesc+`:`">
<el-date-picker
v-model="filterQuery[item.columnName]"
:style="`width:${item.width+'px'}`"
value-format="yyyy-MM-dd"
:disabled="executeEval(null,item.disabledFuc,false)"
type="date"
:placeholder="item.columnDesc"
></el-date-picker>
</el-form-item>
</div>
</template>
</el-row>
@ -208,6 +208,7 @@
:orderQuery="idQuery"
:viewType="viewType"
:errView="errView"
:fromCorp="idQuery.fromCorp"
></addOrder>
</el-dialog>
<el-dialog
@ -462,7 +463,7 @@ export default {
let query = {
code: this.filterQuery.invCode,
enabled: true,
productType:2
productType: 2
};
getLocalJoinByUserOptimize(query)
.then((response) => {
@ -480,10 +481,18 @@ export default {
_this.idQuery = {};
if (row != null && row.status === 4) {
_this.errView = 1;
_this.idQuery = row;
_this.idQuery = Object.assign(
JSON.parse(JSON.stringify(row))
);
_this.idQuery.fromCorp = row.fromCorp;
}
if (row != null) {
_this.idQuery = Object.assign(
JSON.parse(JSON.stringify(row))
);
_this.idQuery.fromCorp = row.fromCorp;
}
if (row != null)
_this.idQuery = row;
_this.addOrderVisible = true;
},
closeDialog() {

@ -27,12 +27,6 @@
width="120"
show-overflow-tooltip
></el-table-column>
<!--<el-table-column-->
<!-- label="规格型号"-->
<!-- prop="ggxh"-->
<!-- width="140"-->
<!-- show-overflow-tooltip-->
<!--&gt;</el-table-column>-->
<el-table-column
label="包装规格"
prop="bzgg"
@ -57,12 +51,6 @@
width="80"
show-overflow-tooltip
></el-table-column>
<!-- <el-table-column-->
<!-- label="制剂单位"-->
<!-- prop="prepnUnit"-->
<!-- width="140"-->
<!-- show-overflow-tooltip-->
<!-- ></el-table-column>-->
<el-table-column
label="生产日期"
prop="produceDate"
@ -89,13 +77,6 @@
show-overflow-tooltip
></el-table-column>
<!-- <el-table-column-->
<!-- label="供应商"-->
<!-- prop="supName"-->
<!-- width="180"-->
<!-- show-overflow-tooltip-->
<!-- ></el-table-column>-->
<el-table-column label="操作" width="280" fixed="right">
<template slot-scope="scope">
<el-button
@ -265,10 +246,6 @@ export default {
type: Object,
required: true,
},
// refreshPanel: {
// type: Function,
// required: true,
// },
selectRlTitle: {
type: Object,
required: true,

@ -2,7 +2,6 @@
<div>
<el-table v-loading="loading" :data="detailList" style="width: 100%;" max-height="350" height="350"
border
:row-style="rowStyle"
ref="multipleTable">
<el-table-column type="index" label="序号" width="50"></el-table-column>
<el-table-column
@ -48,15 +47,15 @@
<el-table-column label="生产企业" width="150" prop="manufacturer" show-overflow-tooltip></el-table-column>
<el-table-column label="批准文号" width="150" prop="certCode" show-overflow-tooltip></el-table-column>
<el-table-column label="操作" width="160" fixed="right"
<el-table-column label="操作" width="120" fixed="right"
v-if="curAction.mainAction=='WareHouseIn' && curAction.corpType==2">
<template slot-scope="scope">
<el-button type="text" size="small" v-if="scope.row.index == selectedIndex" @click.stop="true"
@click.native="saveChange(scope.row)">保存
</el-button>
<el-button type="text" size="small" v-if="scope.row.index != selectedIndex" @click.stop="true"
@click.native="rowChange(scope.row)">编辑
</el-button>
<!-- <el-button type="text" size="small" v-if="scope.row.index == selectedIndex" @click.stop="true"-->
<!-- @click.native="saveChange(scope.row)">保存-->
<!-- </el-button>-->
<!-- <el-button type="text" size="small" v-if="scope.row.index != selectedIndex" @click.stop="true"-->
<!-- @click.native="rowChange(scope.row)">编辑-->
<!-- </el-button>-->
<el-button type="text" size="small" v-if="scope.row.id" @click.stop="true"
@click.native="showCode(scope.row)">扫码明细
</el-button>

Loading…
Cancel
Save