diff --git a/Web/src/views/labelPrinting/materialPrinting/component/editAccess.vue b/Web/src/views/labelPrinting/materialPrinting/component/editAccess.vue
index 4368b6c..8d76423 100644
--- a/Web/src/views/labelPrinting/materialPrinting/component/editAccess.vue
+++ b/Web/src/views/labelPrinting/materialPrinting/component/editAccess.vue
@@ -4,9 +4,9 @@
-
-
-
+
+
+
@@ -42,12 +42,12 @@
-
+
-
+
@@ -56,13 +56,17 @@
-
+
+
取消
打印
+
+
+
@@ -76,9 +80,9 @@ import VueJsonPretty from 'vue-json-pretty';
import 'vue-json-pretty/lib/styles.css';
import { hiprint } from 'vue-plugin-hiprint';
-import providers from './providers';
-import PrintPreview from './preview.vue';
-import printData from './print-data';
+import providers from '../../print/component/hiprint/providers';
+import PrintPreview from '../../print/component/hiprint/preview.vue';
+import printData from '../../print/component/hiprint/print-data';
const props = defineProps({
@@ -93,13 +97,13 @@ const preViewRef = ref();
//定义printInfoFrom字段
const printInfoFrom = reactive({
name: '',
- printData: {} as SysPrint,
+ printDataTem: '',
printCount: 100,
unit: '',
packageUnit: 1,
package: '',
- productDate: {} as Date,
- loseDate: {} as Date,
+ productDate: undefined,
+ loseDate: undefined,
batch:1,
})
@@ -107,7 +111,7 @@ const state = reactive({
loading: false,
isShowDialog:false,
matterFrom: {} as MaterialsOutput,
- printData: [] as Array,
+ printDatas: [] as Array,
unitData: [] as Array,
queryParams: {
name: undefined,
@@ -117,6 +121,9 @@ const state = reactive({
pageSize: 10,
total: 0 as any,
},
+ scaleValue: 1,
+ scaleMax: 5,
+ scaleMin: 0.5,
waitShowPrinter: false,
width: 0, // 纸张宽 mm
editPrintTitle: '',
@@ -128,7 +135,7 @@ const handleQuery = async () => {
state.loading = true;
let params = Object.assign(state.queryParams, state.tableParams);
var res = await getAPI(SysPrintApi).apiSysPrintPagePost(params);
- state.printData = res.data.result?.items ?? [];
+ state.printDatas = res.data.result?.items ?? [];
state.tableParams.total = res.data.result?.total;
state.loading = false;
//console.log(state.printData)
@@ -146,7 +153,28 @@ const queryUnitByGroupId = async (groupId:number) => {
//定义matterSubmit方法
const printSubmit = () => {
- console.log(printInfoFrom)
+ //changeMode();
+ console.log(printInfoFrom.printDataTem)
+ hiprintTemplate.value.clear();
+ hiprintTemplate.value?.update(JSON.parse(printInfoFrom.printDataTem));
+ console.log(hiprintTemplate.value)
+ console.log(hiprintTemplate.value.printPanels[0].width)
+ let { width } = hiprintTemplate.value.printPanels[0].width;
+ //let width=80;
+ preViewRef.value.showDialog(hiprintTemplate.value, printData, width);
+
+
+
+ // state.waitShowPrinter = true;
+ // hiprintTemplate.value.print(
+ // printData,
+ // {},
+ // {
+ // callback: () => {
+ // state.waitShowPrinter = false;
+ // },
+ // }
+ // );
}
const formInline = reactive({
@@ -166,6 +194,7 @@ const openDialog = async (row: any) => {
printLabel(row);
}
state.isShowDialog = true;
+ changeMode();
};
@@ -183,8 +212,43 @@ const printLabel = (data:any) => {
onMounted(() => {
handleQuery();
+
})
+
+// 选择模板
+const changeMode = () => {
+ console.log('changeMode')
+ let provider = providers[0];
+ hiprint.init({
+ providers: [provider.f],
+ });
+
+ // 渲染自定义选项
+ const hiprintEpContainerEl = document.getElementById('hiprintEpContainer');
+ if (hiprintEpContainerEl) {
+ hiprintEpContainerEl.innerHTML = '';
+ }
+ hiprint.PrintElementTypeManager.build('.hiprintEpContainer', provider.value);
+
+ // 渲染绘画模板
+ const hiprintPrintTemplate = document.getElementById('hiprint-printTemplate');
+ if (hiprintPrintTemplate) {
+ hiprintPrintTemplate.innerHTML = '';
+ }
+ // 初始化打印模板设计器
+ let template = {};
+ hiprintTemplate.value = new hiprint.PrintTemplate({
+ template: template,
+ settingContainer: '#PrintElementOptionSetting',
+ paginationContainer: '.hiprint-printPagination',
+ });
+ hiprintTemplate.value.design('#hiprint-printTemplate');
+ // 获取当前放大比例, 当zoom时传true才会有
+ state.scaleValue = hiprintTemplate.value.editingPanel.scale || 1;
+ console.log('changeModeEnd')
+};
+
// 导出对象
defineExpose({ openDialog });
diff --git a/Web/src/views/labelPrinting/materialPrinting/index.vue b/Web/src/views/labelPrinting/materialPrinting/index.vue
index 8f8e29c..d41b07b 100644
--- a/Web/src/views/labelPrinting/materialPrinting/index.vue
+++ b/Web/src/views/labelPrinting/materialPrinting/index.vue
@@ -129,7 +129,7 @@ const queryUnitByGroupId = async (groupId:number) => {
var res = await getAPI(SysUnitApi).apiSysUnitListUnitGroupIdGet(groupId);
const units = res.data.result ?? [];
unitListData.value=units
- console.log(units)
+ //console.log(units)
};
diff --git a/Web/src/views/system/print/component/editPrint.vue b/Web/src/views/labelPrinting/print/component/editPrint.vue
similarity index 98%
rename from Web/src/views/system/print/component/editPrint.vue
rename to Web/src/views/labelPrinting/print/component/editPrint.vue
index 9fa42e0..8dc6913 100644
--- a/Web/src/views/system/print/component/editPrint.vue
+++ b/Web/src/views/labelPrinting/print/component/editPrint.vue
@@ -66,7 +66,7 @@