|
@@ -2,7 +2,8 @@
|
|
|
<el-drawer v-model="drawerVisible" size="1000">
|
|
|
<template #header>
|
|
|
<div>
|
|
|
- <el-button type="primary" @click="handlePrint">打印</el-button>
|
|
|
+ <el-button type="primary" v-print="'#print'" @click="handleBeforePrint">打印
|
|
|
+ </el-button>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -19,12 +20,12 @@ const drawerVisible = ref(false);
|
|
|
const detailComRef = ref(null);
|
|
|
const isPrinting = ref(false);
|
|
|
|
|
|
-const handlePrint = () => {
|
|
|
- isPrinting.value = true;
|
|
|
- nextTick(() => {
|
|
|
- window.print();
|
|
|
- isPrinting.value = false;
|
|
|
- });
|
|
|
+// 打印前触发
|
|
|
+const handleBeforePrint = () => {
|
|
|
+ isPrinting.value = true; // 先设为 true
|
|
|
+ setTimeout(() => {
|
|
|
+ isPrinting.value = false; // 1 秒后恢复
|
|
|
+ }, 500);
|
|
|
};
|
|
|
const showDrawer = (row) => {
|
|
|
drawerVisible.value = true;
|
|
@@ -34,7 +35,7 @@ const showDrawer = (row) => {
|
|
|
});
|
|
|
};
|
|
|
|
|
|
-defineExpose({ showDrawer });
|
|
|
+defineExpose({showDrawer});
|
|
|
</script>
|
|
|
|
|
|
<style scoped lang="scss">
|