Merge branch 'main' of ssh://git.jizhiweb.cn:2222/clinic-v2/web
This commit is contained in:
commit
04eb4378ab
|
|
@ -167,7 +167,7 @@
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" width="150">
|
<el-table-column label="操作" width="150">
|
||||||
<template #default="scope">
|
<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>
|
<el-button size="small" @click="removeTableRow(scope.row)" type="danger" plain>移除</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<el-popover placement="bottom-start" :visible="isVisible" width="400">
|
<el-popover placement="bottom-end" :visible="isVisible" width="400">
|
||||||
<template #reference>
|
<template #reference>
|
||||||
<el-input v-model="input" style="width:100%;height: 100%" placeholder="追溯码" size="small" @focus="focus"
|
<el-input v-model="input" style="width:100%;height: 100%" placeholder="追溯码" size="small" @focus="focus"
|
||||||
@blur="handlerBlur" @keydown.enter="addCode"></el-input>
|
@blur="handlerBlur" @keydown.enter="addCode"></el-input>
|
||||||
|
|
@ -8,16 +8,34 @@
|
||||||
<el-table :data="list">
|
<el-table :data="list">
|
||||||
<el-table-column label="追溯码" prop="code">
|
<el-table-column label="追溯码" prop="code">
|
||||||
<template #default="{row}">
|
<template #default="{row}">
|
||||||
{{ row.code.slice(0, 7) }} {{row.code.slice(7)}}
|
{{ row.code.slice(0, 7) }} {{ 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>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="数量" prop="num"></el-table-column>
|
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
</el-popover>
|
</el-popover>
|
||||||
|
<CodeNumEditDialog ref="codeNumEditDialogRef"></CodeNumEditDialog>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import {ref, watch, onMounted, onUnmounted, nextTick} from "vue";
|
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 {
|
interface listType {
|
||||||
code: string;
|
code: string;
|
||||||
|
|
@ -52,7 +70,27 @@ const addCode = () => {
|
||||||
const clearInput = () => {
|
const clearInput = () => {
|
||||||
input.value = "";
|
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>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
.code-popo {
|
||||||
|
.edit{
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.remove {
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
Loading…
Reference in New Issue