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" /> <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="stylesheet" type="text/css" media="print" href="/print-lock.css" />
<link rel="icon" id="favicon" href="data:;base64,=" /> <link rel="icon" id="favicon" href="data:;base64,=" />
<title>Admin.NET</title> <title>正在加载中...</title>
</head> </head>
<body> <body>

View File

@ -9,7 +9,7 @@
</div> </div>
</template> </template>
<div style="margin: 0px 0px 0px 0px"> <div style="margin: 0px 0px 0px 0px">
<HiprintDesign ref="hiprintDesignRef" /> <HiprintDesign :mode-index="mode" ref="hiprintDesignRef" />
</div> </div>
<template #footer> <template #footer>
<span class="dialog-footer" style="margin-top: 10px"> <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 hiprintDesignRef = ref<InstanceType<typeof HiprintDesign>>();
const mode = ref(0);
const props = defineProps({ const props = defineProps({
title: String, title: String,
}); });
@ -110,6 +112,10 @@ onMounted(async () => {});
// //
const openDialog = (row: any) => { const openDialog = (row: any) => {
state.ruleForm = JSON.parse(JSON.stringify(row)); 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; state.isShowDialog = true;
ruleFormRef.value?.resetFields(); ruleFormRef.value?.resetFields();
@ -147,7 +153,9 @@ const templateCancel = () => {
// //
const templateSubmit = async () => { 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) { if (state.ruleForm.id != undefined && state.ruleForm.id > 0) {
await getAPI(SysPrintApi).apiSysPrintUpdatePost(state.ruleForm); await getAPI(SysPrintApi).apiSysPrintUpdatePost(state.ruleForm);
} else { } else {

View File

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