Merge branch 'main' of ssh://git.jizhiweb.cn:2222/clinic-v2/web

This commit is contained in:
ChenQiuYu 2025-05-16 11:00:14 +08:00
commit 04eb4378ab
3 changed files with 137 additions and 4 deletions

View File

@ -167,7 +167,7 @@
</el-table-column>
<el-table-column label="操作" width="150">
<template #default="scope">
<el-button size="small" @click="openCheckoutDetail(scope.row)" type="danger" plain>溯源码</el-button>
<!-- <el-button size="small" @click="openCheckoutDetail(scope.row)" type="danger" plain>溯源码</el-button>-->
<el-button size="small" @click="removeTableRow(scope.row)" type="danger" plain>移除</el-button>
</template>
</el-table-column>

View File

@ -0,0 +1,95 @@
<template>
<Mask :is-show="isShow" :height="600" :width="800" @close="close" title="采集相同追溯码" :show-footer="true">
<div class="tips">
入库单位包装无追溯码时可重复采集上层包装的追溯码
</div>
<div class="content">
<div class="code">
<div class="before-code">
{{ data.code.slice(0, 7) }}
</div>
<div class="after-code">
{{ data.code.slice(7) }}
</div>
</div>
<div class="number">
<span class="text">
采集
</span>
<el-input-number v-model="data.num" min="1" size="large" ref="inputRef" @keydown.enter="close"></el-input-number>
<span class="text">
</span>
</div>
</div>
</Mask>
</template>
<script setup lang="ts">
import Mask from "@/components/common/Mask.vue";
import {nextTick, ref} from "vue";
const data = ref<any>()
const emit = defineEmits(['close'])
const inputRef = ref<any>()
const init = (codeInfo: any) => {
isShow.value = true
data.value = codeInfo
nextTick(()=>{
inputRef.value?.focus()
const inputElement = inputRef.value?.$el?.querySelector('input');
if (inputElement) {
inputElement.select(); //
}
})
}
defineExpose({init})
const isShow = ref(false)
const close = () => {
emit('close')
isShow.value = false
}
</script>
<style scoped lang="scss">
.tips{
}
.content{
border: 1px solid #ddd;
margin: 40px;
border-radius: 10px;
.code {
width: 100%;
font-weight: 800;
font-size: 30px;
color: #333333;
padding: 40px 0;
font-style: normal;
display: flex;
justify-content: center;
border-bottom: 1px solid #ddd;
.before-code {
color: #999999;
}
.after-code {
margin-left: 10px;
}
}
.number{
padding: 40px 0;
width: 100%;
display: flex;
justify-content: center;
.text{
font-size: 24px;
line-height: 40px;
text-align: center;
}
}
}
</style>

View File

@ -1,5 +1,5 @@
<template>
<el-popover placement="bottom-start" :visible="isVisible" width="400">
<el-popover placement="bottom-end" :visible="isVisible" width="400">
<template #reference>
<el-input v-model="input" style="width:100%;height: 100%" placeholder="追溯码" size="small" @focus="focus"
@blur="handlerBlur" @keydown.enter="addCode"></el-input>
@ -8,16 +8,34 @@
<el-table :data="list">
<el-table-column label="追溯码" prop="code">
<template #default="{row}">
{{ row.code.slice(0, 7) }}&nbsp;{{row.code.slice(7)}}
{{ row.code.slice(0, 7) }}&nbsp;{{ row.code.slice(7) }}
</template>
</el-table-column>
<el-table-column label="数量" prop="num" width="70">
<template #default="{row}">
<span class="edit" @click="openCodeNumEdit(row)">
{{ row.num }}
</span>
</template>
</el-table-column>
<el-table-column label="操作" width="70">
<template #default="{row}">
<span class="remove" @click="removeRow(row)">
<el-icon>
<Close/>
</el-icon>
</span>
</template>
</el-table-column>
<el-table-column label="数量" prop="num"></el-table-column>
</el-table>
</div>
</el-popover>
<CodeNumEditDialog ref="codeNumEditDialogRef"></CodeNumEditDialog>
</template>
<script setup lang="ts">
import {ref, watch, onMounted, onUnmounted, nextTick} from "vue";
import {Close} from "@element-plus/icons-vue";
import CodeNumEditDialog from "@/components/inventory/purchase/CodeNumEditDialog.vue";
interface listType {
code: string;
@ -52,7 +70,27 @@ const addCode = () => {
const clearInput = () => {
input.value = "";
};
const removeRow = (row: any) => {
list.value = list.value?.filter((item: any) => item.code !== row.code);
};
const codeNumEditDialogRef = ref();
const openCodeNumEdit = (row: any) => {
nextTick(() => {
codeNumEditDialogRef.value?.init(row);
})
};
</script>
<style scoped lang="scss">
.code-popo {
.edit{
cursor: pointer;
}
.remove {
cursor: pointer;
&:hover {
color: red;
}
}
}
</style>