12/13 码校验调整1.0

20240912_adapter
wangwei 4 months ago
parent edaae16a6e
commit 72a58f387a

@ -83,7 +83,7 @@
<!--单据业务详情-->
<el-tab-pane>
<span slot="label">单据 {{ orderData.billNo }}-追溯码详情</span>
<el-table :data="detailList" style="width: 100%;" highlight-current-row="true" border ref="multipleTable" >
<el-table :data="detailList" style="width: 100%;" highlight-current-row="true" border ref="multipleTable" :row-style="rowStyle">
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="追溯码" prop="code" width="160"></el-table-column>
<el-table-column label="药品编码" prop="nameCode"></el-table-column>
@ -97,6 +97,32 @@
<el-table-column label="批准文号" prop="zczbhhzbapzbh"></el-table-column>
</el-table>
<el-row style="text-align: right;font-size: 12px;margin-top: 10px">
<el-col span="24">
<div style="float: right">
<!--<td>-->
<!-- <div style="background-color: #F56C6C;width: 10px;height: 10px;"></div>-->
<!--</td>-->
<!--<td><span style="color: #6d6d6d;"><pre>未赋码 </pre></span></td>-->
<td>
<div style="background-color: #E6A23C;width: 10px;height: 10px;"></div>
</td>
<td>
<span style="color: #6d6d6d;"><pre>替换码 </pre></span>
</td>
<td>
<div style="background-color: #67C23A;width: 10px;height: 10px;"></div>
</td>
<td>
<span style="color: #6d6d6d;"><pre>已校验</pre></span>
</td>
</div>
</el-col>
</el-row>
<pagination
v-show="resultTotal>0"
:total="resultTotal"
@ -104,6 +130,8 @@
:page.sync="codeQuery.page"
@pagination="getResultDetailList"
></pagination>
<!-- 在表格下方添加说明 -->
</el-tab-pane>
</el-tabs>
</div>
@ -143,6 +171,7 @@ export default {
codeQuery: {
billNo:null,
code: null,
selectType:2,
page: 1,
limit: 10
},
@ -186,44 +215,95 @@ export default {
if (res.code == 20000) {
if (Array.isArray(res.data)) {
this.printCodeResultList(res.data)
this.codeQuery.selectType = 1
this.getResultDetailList()
let codeList = res.data
let filterCodeList = codeList.filter(item => item.status === 5).map(item => item.code);;
if (filterCodeList.length > 0){
query.codeList = filterCodeList
this.replaceCode(query,1)
}
} else {
this.verifyFinish(1, res.data, res.message)
this.checkCodeEndList.push(query.code)
this.codeQuery.selectType = 1
this.getResultDetailList()
//
this.$message.success('校验成功')
}
}else if (res.code == 503){
//
this.$confirm('该追溯码不存在是否继续添加', '提示', {
confirmButtonText: '添加',
cancelButtonText: '取消',
type: 'warning',
center: true,
closeOnPressEscape: false,// ESC
closeOnClickModal: false,//
distinguishCancelAndClose: true,//
}).then(() => {
scanCheckCodeReplace(query).then(res => {
if (res.code == 20000){
this.scanCode = ''
this.orderData.checkCodeConfirm = res.data.checkCodeConfirm
this.getInputFocus()
this.$message.success("添加成功")
}else {
this.$message.error("添加失败")
}
})
this.replaceCode(query,2)
} else if (res.code == 504){
//
this.$confirm('追溯码校验超出是否继续添加', '提示', {
confirmButtonText: '添加',
cancelButtonText: '取消',
type: 'warning',
center: true,
closeOnPressEscape: false,// ESC
closeOnClickModal: false,//
distinguishCancelAndClose: true,//
}).then(() => {
scanCheckCodeReplace(query).then(res => {
if (res.code == 20000){
this.scanCode = ''
this.orderData.checkCodeConfirm = res.data.checkCodeConfirm
this.codeQuery.selectType = 1
this.getResultDetailList()
this.getInputFocus()
this.$message.success("添加成功")
}else {
this.$message.error("添加失败")
}
})
}else {
})
}else {
if (Array.isArray(res.data)) {
} else {
this.verifyFinish(2, res.data, res.message)
this.scanCode = ''
this.getInputFocus()
// this.verifyFinish(2, res.data, res.message)
this.$message.error(res.message)
}
}
})
},
replaceCode(query,type){
let title = ''
if (type == 1){
const codeStr = query.codeList.join('\n');
title = `${codeStr}该追溯码不存在是否继续添加`;
}else {
title = '该追溯码不存在是否继续添加'
}
//
this.$confirm(title, '提示', {
confirmButtonText: '添加',
cancelButtonText: '取消',
type: 'warning',
center: true,
closeOnPressEscape: false,// ESC
closeOnClickModal: false,//
distinguishCancelAndClose: true,//
}).then(() => {
scanCheckCodeReplace(query).then(res => {
if (res.code == 20000){
this.scanCode = ''
this.orderData.checkCodeConfirm = res.data.checkCodeConfirm
this.codeQuery.selectType = 1
this.getResultDetailList()
this.getInputFocus()
this.$message.success("添加成功")
}else {
this.$message.error("添加失败")
}
})
}).catch(() => {
this.scanCode = ''
this.getInputFocus()
})
},
verifyFinish(val, data, message) {
if (val == 1) {
this.errVisible = false
@ -297,9 +377,13 @@ export default {
for (let i = 0; i < vailCodeResultResponses.length; i++) {
let data = vailCodeResultResponses[i]
if (data.status == 1) {
this.scanResultType = "success"
this.result = this.result + (isBlank(this.result) ? '' : ';') + vailCodeResultResponses[i].code + ':' + vailCodeResultResponses[i].sucMsg
} else if (data.status == 2) {
this.errResult = this.errResult + '\n' + vailCodeResultResponses[i].code + ':' + vailCodeResultResponses[i].errMsg
}else if (data.status == 5) {
this.scanResultType = "warning"
this.result = this.result + (isBlank(this.result) ? '' : ';') + vailCodeResultResponses[i].code + ':' + vailCodeResultResponses[i].errMsg
}
}
if (!isBlank(this.result)) {
@ -345,6 +429,7 @@ export default {
this.detailList = res.data.list || []
this.checkCodeList = this.detailList.map(item => item.code)
this.resultTotal = res.data.total || 0;
this.codeQuery.selectType = 2
} else {
this.$message.error(res.message)
this.detailList = []
@ -407,6 +492,9 @@ export default {
this.closeCodeCheckDialog()
this.$message.success("校验完成")
}else {
if (this.orderData.checkCodeConfirm == 1){
this.closeCodeCheckDialog()
}
this.$message.error(res.message)
}
}).catch(() => {
@ -417,28 +505,24 @@ export default {
this.codeQuery = {
billNo: null,
code: null,
selectType:2,
page: 1,
limit: 10
}
this.errVisible = false
this.successVisible = true
},
rowStyle({ row, rowIndex }) {
rowStyle({row, rowIndex}) {
let rowBackground = {}
if (this.checkCodeEndList.length == 0) {
rowBackground.color = '#F56C6C'
rowBackground.height = '38px'
return rowBackground
}
if (this.checkCodeEndList.includes(row.code)) {
if (row.scanCodeCheckStatus == 1) {
rowBackground.color = '#56a717'
}
if (!this.checkCodeEndList.includes(row.code)) {
rowBackground.color = '#F56C6C'
if (row.scanCodeCheckStatus == 3) {
rowBackground.color = '#E6A23C';
}
rowBackground.height = '38px'
return rowBackground
}
rowBackground.height = "38px"
return rowBackground;
},
},
created() {
this.filterQuery.billNo = this.orderData.billNo

@ -3,30 +3,31 @@
<el-table v-loading="loading" :data="codeArray" style="width: 100%;" max-height="350" height="350"
:row-style="rowStyle"
border
ref="multipleTable">
<!-- <el-table-column-->
<!-- type="selection"-->
<!-- width="55">-->
<!-- </el-table-column>-->
ref="multipleTable"
>
<!-- <el-table-column-->
<!-- type="selection"-->
<!-- width="55">-->
<!-- </el-table-column>-->
<el-table-column label="序号" type="index" width="55"></el-table-column>
<el-table-column
label="追溯码"
prop="udiCode"
prop="code"
width="280"
show-overflow-tooltip
></el-table-column>
<!-- <el-table-column-->
<!-- label="产品通用名"-->
<!-- prop="productName"-->
<!-- width="160"-->
<!-- show-overflow-tooltip-->
<!-- ></el-table-column>-->
<!-- <el-table-column-->
<!-- label="规格型号"-->
<!-- prop="ggxh"-->
<!-- width="160"-->
<!-- show-overflow-tooltip-->
<!-- ></el-table-column>-->
<!-- <el-table-column-->
<!-- label="产品通用名"-->
<!-- prop="productName"-->
<!-- width="160"-->
<!-- show-overflow-tooltip-->
<!-- ></el-table-column>-->
<!-- <el-table-column-->
<!-- label="规格型号"-->
<!-- prop="ggxh"-->
<!-- width="160"-->
<!-- show-overflow-tooltip-->
<!-- ></el-table-column>-->
<el-table-column
label="批次号"
prop="batchNo"
@ -39,18 +40,18 @@
<!-- width="120"-->
<!-- show-overflow-tooltip-->
<!-- ></el-table-column>-->
<el-table-column
label="扫码数量"
prop="scanCount"
width="80"
show-overflow-tooltip
></el-table-column>
<!-- <el-table-column-->
<!-- label="实际数量"-->
<!-- prop="reCount"-->
<!-- width="80"-->
<!-- show-overflow-tooltip-->
<!-- ></el-table-column>-->
<!--<el-table-column-->
<!-- label="扫码数量"-->
<!-- prop="scanCount"-->
<!-- width="80"-->
<!-- show-overflow-tooltip-->
<!--&gt;</el-table-column>-->
<!-- <el-table-column-->
<!-- label="实际数量"-->
<!-- prop="reCount"-->
<!-- width="80"-->
<!-- show-overflow-tooltip-->
<!-- ></el-table-column>-->
<el-table-column
label="生产日期"
prop="productDate"
@ -77,88 +78,89 @@
<!-- show-overflow-tooltip-->
<!-- ></el-table-column>-->
<!-- <el-table-column label="操作" width="140" fixed="right">-->
<!-- <template slot-scope="scope">-->
<!-- <el-button-->
<!-- type="text"-->
<!-- size="small"-->
<!-- @click.native.stop="deleteCode(scope.$index, scope.row)"-->
<!-- >减一-->
<!-- </el-button-->
<!-- >-->
<!-- &lt;!&ndash; <el-button&ndash;&gt;-->
<!-- &lt;!&ndash; type="text"&ndash;&gt;-->
<!-- &lt;!&ndash; size="small"&ndash;&gt;-->
<!-- &lt;!&ndash; :disabled="scope.row.relId!=null"&ndash;&gt;-->
<!-- &lt;!&ndash; @click.native.stop="bindRl(scope.row)"&ndash;&gt;-->
<!-- &lt;!&ndash; >绑定产品&ndash;&gt;-->
<!-- &lt;!&ndash; </el-button&ndash;&gt;-->
<!-- &lt;!&ndash; >&ndash;&gt;-->
<!-- &lt;!&ndash; <el-button&ndash;&gt;-->
<!-- &lt;!&ndash; type="text"&ndash;&gt;-->
<!-- &lt;!&ndash; size="small"&ndash;&gt;-->
<!-- &lt;!&ndash; :disabled="scope.row.supId!=null"&ndash;&gt;-->
<!-- &lt;!&ndash; @click.native.stop="handleUnitClick(scope.row)"&ndash;&gt;-->
<!-- &lt;!&ndash; >绑定供应商&ndash;&gt;-->
<!-- &lt;!&ndash; </el-button&ndash;&gt;-->
<!-- &lt;!&ndash; >&ndash;&gt;-->
<!-- <el-button-->
<!-- type="text"-->
<!-- size="small"-->
<!-- @click.native.stop="editCode(scope.row)"-->
<!-- >编辑-->
<!-- </el-button-->
<!-- >-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="操作" width="140" fixed="right">-->
<!-- <template slot-scope="scope">-->
<!-- <el-button-->
<!-- type="text"-->
<!-- size="small"-->
<!-- @click.native.stop="deleteCode(scope.$index, scope.row)"-->
<!-- >减一-->
<!-- </el-button-->
<!-- >-->
<!-- &lt;!&ndash; <el-button&ndash;&gt;-->
<!-- &lt;!&ndash; type="text"&ndash;&gt;-->
<!-- &lt;!&ndash; size="small"&ndash;&gt;-->
<!-- &lt;!&ndash; :disabled="scope.row.relId!=null"&ndash;&gt;-->
<!-- &lt;!&ndash; @click.native.stop="bindRl(scope.row)"&ndash;&gt;-->
<!-- &lt;!&ndash; >绑定产品&ndash;&gt;-->
<!-- &lt;!&ndash; </el-button&ndash;&gt;-->
<!-- &lt;!&ndash; >&ndash;&gt;-->
<!-- &lt;!&ndash; <el-button&ndash;&gt;-->
<!-- &lt;!&ndash; type="text"&ndash;&gt;-->
<!-- &lt;!&ndash; size="small"&ndash;&gt;-->
<!-- &lt;!&ndash; :disabled="scope.row.supId!=null"&ndash;&gt;-->
<!-- &lt;!&ndash; @click.native.stop="handleUnitClick(scope.row)"&ndash;&gt;-->
<!-- &lt;!&ndash; >绑定供应商&ndash;&gt;-->
<!-- &lt;!&ndash; </el-button&ndash;&gt;-->
<!-- &lt;!&ndash; >&ndash;&gt;-->
<!-- <el-button-->
<!-- type="text"-->
<!-- size="small"-->
<!-- @click.native.stop="editCode(scope.row)"-->
<!-- >编辑-->
<!-- </el-button-->
<!-- >-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
<!--<pagination-->
<!-- v-show="total>0"-->
<!-- :total="total"-->
<!-- :limit.sync="filterQuery.limit"-->
<!-- :page.sync="filterQuery.page"-->
<!-- @pagination="handleCurrentChange"-->
<!--&gt;</pagination>-->
<!-- <el-row v-if="viewType==7">-->
<!-- <el-col span="10">-->
<!-- <div style="float: left">-->
<!-- <td>-->
<!-- <div style="background-color: #FC4A45;width: 10px;height: 10px"></div>-->
<!-- </td>-->
<!-- <td><span>红色:多余条码</span></td>-->
<!-- <td>-->
<!-- <div style="background-color: #F4BD25;width: 10px;height: 10px;margin-left: 15px"></div>-->
<!-- </td>-->
<!-- <td>-->
<!-- <span>黄色:包含多余条码</span>-->
<!-- </td>-->
<pagination
v-show="codeTotal>0"
:total="codeTotal"
:limit.sync="codeQuery.limit"
:page.sync="codeQuery.page"
@pagination="getCodeList"
></pagination>
<!-- <el-row v-if="viewType==7">-->
<!-- <el-col span="10">-->
<!-- <div style="float: left">-->
<!-- <td>-->
<!-- <div style="background-color: #FC4A45;width: 10px;height: 10px"></div>-->
<!-- </td>-->
<!-- <td><span>红色:多余条码</span></td>-->
<!-- <td>-->
<!-- <div style="background-color: #F4BD25;width: 10px;height: 10px;margin-left: 15px"></div>-->
<!-- </td>-->
<!-- <td>-->
<!-- <span>黄色:包含多余条码</span>-->
<!-- </td>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- </el-row>-->
</div>
</template>
<script>
import {deleteCodesTempById, errorCodeList, updateCodeBindSup} from "@/api/inout/order";
import { deleteCodesTempById, errorCodeList, updateCodeBindSup } from '@/api/inout/order'
import { getCodeDetail } from '@/api/collect/collectOrder'
import {parseTime} from "@/utils/coTools";
import {getCheckDetailCodes} from "@/api/inout/orderDetailCode";
import { parseTime } from '@/utils/coTools'
import { getCheckDetailCodes } from '@/api/inout/orderDetailCode'
import { getCodeEndList } from '@/api/collect/IoCollectCodeSelect'
export default {
name: "PanelDestroyCodeDetail",
name: 'PanelDestroyCodeDetail',
props: {
prescribeData: {
type: Object,
required: true,
required: true
},
refreshPanel: {
type: Function,
required: true,
required: true
},
// selectRlTitle: {
// type: Object,
@ -174,7 +176,7 @@ export default {
// },
viewType: {
type: Object,
required: true,
required: true
}
},
@ -182,8 +184,8 @@ export default {
return {
loading: false,
query: {
code: "",
corpOrderId: "",
code: '',
corpOrderId: ''
},
codeDetail: null,
codeArray: [],
@ -194,66 +196,87 @@ export default {
editCodeVisible: false,
editOriginCodeVisible: false,
fromCorp: null,
codeQuery: {
code: '',
billNo: '',
page: 1,
limit: 20,
selectType: 1,
relId: ''
},
codeTotal:0
}
},
methods: {
getCodeList() {
this.loading = true;
getCodeDetail({ id:this.prescribeData.id }) //
.then((response) => {
this.codeArray = response.data || [];
this.loading = false;
})
.catch(() => {
this.loading = false;
this.list = [];
});
this.loading = true
//
// getCodeDetail({ id:this.prescribeData.id }) //
// .then((response) => {
// this.codeArray = response.data || [];
// this.loading = false;
// })
// .catch(() => {
// this.loading = false;
// this.list = [];
// });
this.codeQuery.billNo = this.prescribeData.orderIdFk
this.codeQuery.relId = this.prescribeData.relId
getCodeEndList(this.codeQuery).then(res => {
if (res.code == 20000) {
this.codeArray = res.data.list || []
this.codeTotal= res.data.total || 0
this.loading = false
} else {
this.loading = false
this.codeTotal = 0
this.codeArray = []
}
})
},
deleteCode(index, row) {
this.$confirm("是否确定移除一个条码?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
this.$confirm('是否确定移除一个条码?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.loading = true;
this.loading = true
let tQuery = {
id: row.id
}
deleteCodesTempById(tQuery)
.then((response) => {
if (response.code === 20000) {
this.refreshPanel();
this.refreshPanel()
} else {
this.$message.error(response.message);
this.$message.error(response.message)
}
this.loading = false;
});
this.loading = false
})
}).catch(() => {
});
})
},
bindRl(val) {
this.curRow = val;
this.fromCorp = this.idQuery.fromCorp;
this.selectRlVisible = true;
this.curRow = val
this.fromCorp = this.idQuery.fromCorp
this.selectRlVisible = true
},
handleUnitClick(row) {
this.curRow = row;
this.dialogTableVisible = true;
this.curRow = row
this.dialogTableVisible = true
},
editCode(row) {
this.editTitle = "编辑条码";
this.codeDetail = row;
this.editCodeVisible = true;
this.editTitle = '编辑条码'
this.codeDetail = row
this.editCodeVisible = true
},
rowStyle({row, rowIndex}) {
rowStyle({ row, rowIndex }) {
// let rowBackground = {};
// if (!this.$isNotBlank(row.supId) || !this.$isNotBlank(row.relId)) {
// rowBackground.color = '#f60303';
@ -270,77 +293,78 @@ export default {
let query = {
id: this.curRow.id,
relId: row.id,
mySupId: row.unitFk,
};
mySupId: row.unitFk
}
updateCodeBindSup(query).then((response) => {
if (response.code == 20000) {
this.$message.success("绑定成功");
this.orderFormData.id = this.curRow.orderId;
this.closeBindDialog();
this.getCodeList();
this.$message.success('绑定成功')
this.orderFormData.id = this.curRow.orderId
this.closeBindDialog()
this.getCodeList()
} else {
if (response.code == 503) {
this.curRow = response.data;
this.orderFormData.id = this.curRow.orderId;
this.getCodeList();
this.selectUnitTitle = response.message;
this.handleUnitClick(response.data);
} else
this.$message.error(response.message);
this.curRow = response.data
this.orderFormData.id = this.curRow.orderId
this.getCodeList()
this.selectUnitTitle = response.message
this.handleUnitClick(response.data)
} else {
this.$message.error(response.message)
}
}
}).catch(() => {
});
})
},
selectSupUnit(row) {
let query = {
id: this.curRow.id,
supId: row.erpId,
};
supId: row.erpId
}
updateCodeBindSup(query).then((response) => {
if (response.code == 20000) {
this.$message.success("绑定成功");
this.idQuery.id = this.curRow.orderId;
this.getCodeList();
this.refreshPanel();
this.$message.success('绑定成功')
this.idQuery.id = this.curRow.orderId
this.getCodeList()
this.refreshPanel()
} else {
this.$message.error(response.message);
this.$message.error(response.message)
}
}).catch(() => {
});
})
},
closeBindDialog() {
this.selectRlVisible = false;
this.dialogTableVisible = false;
this.refreshPanel();
this.selectRlVisible = false
this.dialogTableVisible = false
this.refreshPanel()
},
closeCodeDialog() {
this.editCodeVisible = false;
this.editOriginCodeVisible = false;
this.refreshPanel();
this.editCodeVisible = false
this.editOriginCodeVisible = false
this.refreshPanel()
},
repeatAddCode(editData) {
let tQuery = editData;
tQuery.orderId = this.orderFormData.id;
tQuery.actDate = parseTime(this.orderFormData.actDate, '{y}-{m}-{d} {h}:{i}:{s}');
tQuery.action = this.orderFormData.action;
this.closeCodeDialog();
let tQuery = editData
tQuery.orderId = this.orderFormData.id
tQuery.actDate = parseTime(this.orderFormData.actDate, '{y}-{m}-{d} {h}:{i}:{s}')
tQuery.action = this.orderFormData.action
this.closeCodeDialog()
},
}
},
created() {
if (this.prescribeData.id != null)
this.getCodeList();
console.log('hahhahahah', this.prescribeData)
if (this.prescribeData.id != null) {
this.getCodeList()
}
},
components: {
},
components: {}
}
</script>

Loading…
Cancel
Save