This commit is contained in:
zuohuaijun 2024-10-10 14:52:31 +08:00
commit ebf05f6a59
3 changed files with 25 additions and 8 deletions

View File

@ -7,7 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" type="text/css" media="print" href="/print-lock.css" />
<link rel="icon" id="favicon" href="data:;base64,=" />
<title>Admin.NET</title>
<title>正在加载中...</title>
</head>
<body>

View File

@ -9,7 +9,7 @@
</div>
</template>
<div style="margin: 0px 0px 0px 0px">
<HiprintDesign ref="hiprintDesignRef" />
<HiprintDesign :mode-index="mode" ref="hiprintDesignRef" />
</div>
<template #footer>
<span class="dialog-footer" style="margin-top: 10px">
@ -93,6 +93,8 @@ import { UpdatePrintInput } from '/@/api-services/models';
const hiprintDesignRef = ref<InstanceType<typeof HiprintDesign>>();
const mode = ref(0);
const props = defineProps({
title: String,
});
@ -110,6 +112,10 @@ onMounted(async () => {});
//
const openDialog = (row: any) => {
state.ruleForm = JSON.parse(JSON.stringify(row));
if (JSON.stringify(state.ruleForm) !== '{}') {
let templateJson = JSON.parse(state.ruleForm.template);
mode.value = templateJson.panels[0].index;
}
state.isShowDialog = true;
ruleFormRef.value?.resetFields();
@ -147,7 +153,9 @@ const templateCancel = () => {
//
const templateSubmit = async () => {
state.ruleForm.template = JSON.stringify(hiprintDesignRef.value?.hiprintTemplate.getJson());
let templateJson=hiprintDesignRef.value?.hiprintTemplate.getJson();
templateJson.panels[0].index=hiprintDesignRef.value?.mode;
state.ruleForm.template = JSON.stringify(templateJson);
if (state.ruleForm.id != undefined && state.ruleForm.id > 0) {
await getAPI(SysPrintApi).apiSysPrintUpdatePost(state.ruleForm);
} else {

View File

@ -2,7 +2,7 @@
<el-row :gutter="8" style="margin-bottom: 5px">
<el-col :span="4">
<!-- 流程下拉 模板选择 -->
<el-select v-model="state.mode" showSearch @change="changeMode" :defaultValue="0" option-label-prop="label" class="w100">
<el-select v-model="mode" showSearch @change="changeMode" :defaultValue="0" option-label-prop="label" class="w100">
<el-option v-for="(opt, idx) in state.modeList" :key="idx" :label="opt.name" :value="idx">
{{ opt.name }}
</el-option>
@ -109,12 +109,20 @@ import providers from './providers';
import PrintPreview from './preview.vue';
import printData from './print-data';
//
var props = defineProps({
modeIndex: {
type: Number,
default: 0,
},
});
let hiprintTemplate = ref();
//
let mode = ref(0);
const preViewRef = ref();
const state = reactive({
//
mode: 0,
modeList: [] as any,
//
curPaper: {
@ -178,7 +186,7 @@ const curPaperType = computed(() => {
//
const changeMode = () => {
let provider = providers[state.mode];
let provider = providers[mode.value];
hiprint.init({
providers: [provider.f],
});
@ -318,6 +326,7 @@ onMounted(() => {
state.modeList = providers.map((e) => {
return { type: e.type, name: e.name, value: e.value };
});
mode.value = props.modeIndex;
changeMode();
// otherPaper(); //
});
@ -333,7 +342,7 @@ const initPaper = () => {
};
//
defineExpose({ hiprintTemplate, initPaper });
defineExpose({ hiprintTemplate, initPaper, mode });
</script>
<style lang="scss" scoped>