yh-report 2.4.86 → 2.4.87

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as o, ref as a, onActivated as i, onDeactivated as s, onMounted as c, openBlock as r, createElementBlock as m, createVNode as d } from "vue";
2
2
  import { useRoute as l } from "vue-router";
3
- import { H as u } from "./index-B_fjd8e4.mjs";
3
+ import { _ as u } from "./index-CUHvNdkp.mjs";
4
4
  const _ = { class: "statement-detail-container" }, h = /* @__PURE__ */ o({
5
5
  __name: "StatementDetail",
6
6
  setup(p) {
@@ -21,4 +21,4 @@ const _ = { class: "statement-detail-container" }, h = /* @__PURE__ */ o({
21
21
  export {
22
22
  h as default
23
23
  };
24
- //# sourceMappingURL=StatementDetail-KwAJlfhe.mjs.map
24
+ //# sourceMappingURL=StatementDetail-ENSSRcUG.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"StatementDetail-KwAJlfhe.mjs","sources":["../StatementDetail.vue"],"sourcesContent":["<template>\n <section class=\"statement-detail-container\">\n <report-run :id=\"id\"></report-run>\n </section>\n</template>\n<script setup lang=\"ts\">\nimport {ref, onMounted, onActivated, onDeactivated} from 'vue';\nimport {useRoute} from 'vue-router';\nimport reportRun from './component/reportRun.vue';\nconst route = useRoute();\nconst id = ref();\n\nonActivated(() => {\n document.querySelector('.main-container')?.classList.add('statement-design-main');\n});\n\nonDeactivated(() => {\n document.querySelector('.main-container')?.classList.remove('statement-design-main');\n});\n\nonMounted(() => {\n id.value = route.params.id;\n});\n</script>\n"],"names":["route","useRoute","id","ref","onActivated","_a","onDeactivated","onMounted","_openBlock","_createElementBlock","_hoisted_1","_createVNode","reportRun"],"mappings":";;;;;;AASA,UAAMA,IAAQC,EAAA,GACRC,IAAKC,EAAA;AAEX,WAAAC,EAAY,MAAM;;AAChB,OAAAC,IAAA,SAAS,cAAc,iBAAiB,MAAxC,QAAAA,EAA2C,UAAU,IAAI;AAAA,IAC3D,CAAC,GAEDC,EAAc,MAAM;;AAClB,OAAAD,IAAA,SAAS,cAAc,iBAAiB,MAAxC,QAAAA,EAA2C,UAAU,OAAO;AAAA,IAC9D,CAAC,GAEDE,EAAU,MAAM;AACd,MAAAL,EAAG,QAAQF,EAAM,OAAO;AAAA,IAC1B,CAAC,cArBCQ,EAAA,GAAAC,EAEU,WAFVC,GAEU;AAAA,MADRC,EAAkCC,GAAA,EAArB,IAAIV,EAAA,MAAA,GAAE,MAAA,GAAA,CAAA,IAAA,CAAA;AAAA,IAAA;;;"}
1
+ {"version":3,"file":"StatementDetail-ENSSRcUG.mjs","sources":["../StatementDetail.vue"],"sourcesContent":["<template>\n <section class=\"statement-detail-container\">\n <report-run :id=\"id\"></report-run>\n </section>\n</template>\n<script setup lang=\"ts\">\nimport {ref, onMounted, onActivated, onDeactivated} from 'vue';\nimport {useRoute} from 'vue-router';\nimport reportRun from './component/reportRun.vue';\nconst route = useRoute();\nconst id = ref();\n\nonActivated(() => {\n document.querySelector('.main-container')?.classList.add('statement-design-main');\n});\n\nonDeactivated(() => {\n document.querySelector('.main-container')?.classList.remove('statement-design-main');\n});\n\nonMounted(() => {\n id.value = route.params.id;\n});\n</script>\n"],"names":["route","useRoute","id","ref","onActivated","_a","onDeactivated","onMounted","_openBlock","_createElementBlock","_hoisted_1","_createVNode","reportRun"],"mappings":";;;;;;AASA,UAAMA,IAAQC,EAAA,GACRC,IAAKC,EAAA;AAEX,WAAAC,EAAY,MAAM;;AAChB,OAAAC,IAAA,SAAS,cAAc,iBAAiB,MAAxC,QAAAA,EAA2C,UAAU,IAAI;AAAA,IAC3D,CAAC,GAEDC,EAAc,MAAM;;AAClB,OAAAD,IAAA,SAAS,cAAc,iBAAiB,MAAxC,QAAAA,EAA2C,UAAU,OAAO;AAAA,IAC9D,CAAC,GAEDE,EAAU,MAAM;AACd,MAAAL,EAAG,QAAQF,EAAM,OAAO;AAAA,IAC1B,CAAC,cArBCQ,EAAA,GAAAC,EAEU,WAFVC,GAEU;AAAA,MADRC,EAAkCC,GAAA,EAArB,IAAIV,EAAA,MAAA,GAAE,MAAA,GAAA,CAAA,IAAA,CAAA;AAAA,IAAA;;;"}
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as I, reactive as T, ref as E, onMounted as G, watch as L, openBlock as Q, createElementBlock as W, createElementVNode as f, createTextVNode as u, toDisplayString as c, unref as e, createVNode as n, withCtx as i, withKeys as X } from "vue";
2
2
  import { useRouter as Z } from "vue-router";
3
- import { r as a, g as ee, c as te, s as N, d as le, a as oe } from "./index-B_fjd8e4.mjs";
3
+ import { r as a, g as ee, c as te, s as N, d as le, a as oe } from "./index-CUHvNdkp.mjs";
4
4
  import { ElButton as m, ElFormItem as w, ElInput as x, ElTable as ne, ElTableColumn as v, ElPagination as ae, ElDialog as ie, ElForm as re, ElMessage as k, ElLoading as se, ElMessageBox as D } from "element-plus";
5
5
  import { l as de, u as ue } from "./editorLock-DdAYyg2u.mjs";
6
6
  const ce = { class: "statement-list-container" }, pe = { class: "actions" }, me = { class: "el-button is-text import-excel-button" }, fe = { class: "form-context" }, ge = { class: "dialog-footer" }, xe = /* @__PURE__ */ I({
@@ -433,4 +433,4 @@ const ce = { class: "statement-list-container" }, pe = { class: "actions" }, me
433
433
  export {
434
434
  xe as default
435
435
  };
436
- //# sourceMappingURL=StatementList-BITrzcDz.mjs.map
436
+ //# sourceMappingURL=StatementList-5FwFT1kn.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"StatementList-BITrzcDz.mjs","sources":["../StatementList.vue"],"sourcesContent":["<template>\n <section class=\"statement-list-container\">\n <div class=\"actions\">\n <div class=\"el-button is-text import-excel-button\">\n <input\n class=\"import-excel-input\"\n type=\"file\"\n @change=\"importReport($event)\" />\n {{ rct('导入') }}\n </div>\n <el-button\n text\n @click=\"exportReport\">\n {{ rct('导出') }}\n </el-button>\n <el-button\n type=\"primary\"\n @click=\"toAddForm\">\n {{ rct('新增') }}\n </el-button>\n <div class=\"form-context\">\n <el-form-item :label=\"rct('报表名称')\">\n <el-input\n v-model=\"listForm.key\"\n @keyup.enter=\"onSearch\"\n :placeholder=\"rct('键入关键字搜索报表')\"></el-input>\n </el-form-item>\n </div>\n <el-button\n type=\"primary\"\n @click=\"onSearch()\">\n {{ rct('搜索') }}\n </el-button>\n <el-button @click=\"onReset()\">{{ rct('重置') }}</el-button>\n </div>\n <el-table\n :data=\"data\"\n row-key=\"id\"\n @selection-change=\"selectionChangeHandle\">\n <el-table-column\n type=\"selection\"\n width=\"50\"></el-table-column>\n <el-table-column\n label=\"#\"\n type=\"index\"\n width=\"66\"\n left></el-table-column>\n <el-table-column\n :label=\"rct('报表代码')\"\n min-width=\"100\"\n prop=\"code\"></el-table-column>\n <el-table-column\n :label=\"rct('报表名称')\"\n min-width=\"100\"\n prop=\"name\"></el-table-column>\n <el-table-column\n :label=\"rct('描述')\"\n min-width=\"200\"\n prop=\"description\"></el-table-column>\n <el-table-column\n :label=\"rct('操作')\"\n width=\"490\"\n fixed=\"right\">\n <template #default=\"scope\">\n <el-button\n link\n :title=\"rct('本系统前台菜单地址')\"\n @click=\"copyLink(scope.row, 'inner')\">\n {{ rct('菜单') }}\n </el-button>\n <el-button\n link\n :title=\"rct('后台测试')\"\n @click=\"copyLink(scope.row, 'admin')\">\n {{ rct('后台') }}\n </el-button>\n <el-button\n link\n :title=\"rct('其他系统嵌入地址')\"\n @click=\"copyLink(scope.row, 'outside')\">\n {{ rct('外嵌') }}\n </el-button>\n <el-button\n type=\"primary\"\n link\n @click=\"toDesign(scope.row)\">\n <i class=\"yhreport-icon report-sheji\"></i>\n {{ rct('设计') }}\n </el-button>\n <el-button\n type=\"primary\"\n link\n @click=\"toView(scope.row)\">\n <i class=\"yhreport-icon report-preview\"></i>\n {{ rct('查看') }}\n </el-button>\n <el-button\n type=\"primary\"\n link\n @click=\"toEditor(scope.row)\">\n <i class=\"yhreport-icon report-bianji\"></i>\n {{ rct('编辑') }}\n </el-button>\n <el-button\n type=\"primary\"\n link\n @click=\"toCopy(scope.row)\">\n <i class=\"yhreport-icon report-fuzhi\"></i>\n {{ rct('复制') }}\n </el-button>\n <el-button\n type=\"danger\"\n link\n @click=\"toDelete(scope.row)\">\n <i class=\"yhreport-icon report-shanchusekuai\"></i>\n {{ rct('删除') }}\n </el-button>\n </template>\n </el-table-column>\n </el-table>\n <el-pagination\n background\n style=\"padding-top: 10px; justify-content: flex-end\"\n :page-sizes=\"[10, 20, 50, 100]\"\n v-model:page-size=\"listForm.pageSize\"\n :total=\"listForm.total\"\n v-model:current-page=\"listForm.pageNumber\"\n layout=\"sizes,prev,pager,next,total\"></el-pagination>\n <!-- 新增报表对话框 -->\n <el-dialog\n v-model=\"dialogFormVisible\"\n @close=\"cancelForm\"\n :title=\"form.id ? rct('编辑报表') : rct('新建报表')\">\n <el-form\n :model=\"form\"\n label-width=\"120\">\n <el-form-item\n :label=\"rct('报表代码')\"\n required>\n <el-input\n v-model=\"form.code\"\n autocomplete=\"off\" />\n </el-form-item>\n <el-form-item\n :label=\"rct('报表名称')\"\n required>\n <el-input\n v-model=\"form.name\"\n autocomplete=\"off\" />\n </el-form-item>\n <el-form-item\n :label=\"rct('描述')\"\n required>\n <el-input\n v-model=\"form.description\"\n type=\"textarea\"\n autocomplete=\"off\" />\n </el-form-item>\n </el-form>\n <template #footer>\n <span class=\"dialog-footer\">\n <el-button @click=\"cancelForm\">{{ rct('取消') }}</el-button>\n <el-button\n type=\"primary\"\n @click=\"saveForm()\">\n {{ rct('保存') }}\n </el-button>\n </span>\n </template>\n </el-dialog>\n </section>\n</template>\n<script setup lang=\"ts\">\nimport {ref, reactive, computed, watch, onMounted} from 'vue';\nimport {useRouter} from 'vue-router';\nimport {Statement} from './types';\nimport {getList, save, del} from './api/form';\nimport {ElMessageBox, ElMessage, ElButton, ElForm, ElFormItem, ElInput, ElTable, ElTableColumn, ElPagination, ElDialog, ElLoading} from 'element-plus';\nimport {copyString} from './libs/util';\nimport dayjs from 'dayjs';\nimport {lockEditor, unlockEditor} from 'yh-report/libs/editorLock';\nimport {rct} from 'yh-report';\n\nconst router = useRouter();\n\n// @ts-ignore\nconst listForm = reactive({\n key: '',\n pageSize: 10,\n pageNumber: 1,\n total: 0,\n});\nconst data = ref<Statement[]>([]);\n\n//获取报表列表\nasync function getStatementList(flag = false) {\n if (flag) {\n listForm.pageNumber = 1;\n listForm.total = 0;\n }\n const res = await getList({\n key: listForm.key,\n pageSize: listForm.pageSize,\n pageNumber: listForm.pageNumber,\n });\n data.value = res.data.list;\n listForm.total = res.data.total;\n}\n\nfunction copyLink(row, type) {\n let href = '';\n let hrefName = '链接';\n switch (type) {\n case 'admin':\n href = `/admin/statement/detail/${row.id}`;\n hrefName = '后台链接';\n break;\n case 'inner':\n href = `innerStatementdetail/${row.id}`;\n hrefName = '菜单链接';\n break;\n default:\n href = `${window.location.origin}${window.location.pathname}#/statementdetail/${row.id}`;\n hrefName = '外部链接';\n }\n copyString(href)\n .then(() => {\n ElMessage.success(hrefName + '复制成功');\n })\n .catch(() => {\n ElMessage.error(hrefName + '复制遇到问题');\n });\n}\n\nconst tableSelections = ref([]);\nconst selectionChangeHandle = (selections) => {\n tableSelections.value = selections;\n};\n\nconst importReport = async (e) => {\n const file = e.target.files[0];\n if (!file) return;\n\n const reader = new FileReader();\n reader.onload = async (event) => {\n e.target.value = '';\n try {\n if (event.target) {\n const jsonData = JSON.parse(event.target.result as string);\n if (Array.isArray(jsonData) && jsonData.every((item) => typeof item === 'object' && 'code' in item && 'config' in item && 'description' in item && 'name' in item)) {\n const loading = ElLoading.service({\n fullscreen: true,\n text: `正在导入报表,共 ${jsonData.length} 个,请稍候...`,\n });\n for (let i = 0; i < jsonData.length; i++) {\n loading.setText(`正在保存第 ${i + 1} 个,共 ${jsonData.length} 个,请稍候...`);\n const item = jsonData[i];\n await save(item);\n }\n loading.close();\n getStatementList(true);\n } else {\n ElMessage.error('格式错误,请确保导入的文件未被修改过!');\n }\n }\n } catch (error) {\n ElMessage.error('文件解析失败,请检查文件是否为有效的 JSON 格式!');\n }\n };\n reader.readAsText(file);\n};\n\nconst exportReport = () => {\n if (tableSelections.value.length > 0) {\n const jsonData = JSON.stringify(\n tableSelections.value.map(({code, config, description, name}) => {\n return {\n code,\n config,\n description,\n name,\n };\n }),\n null,\n 2\n );\n const blob = new Blob([jsonData], {type: 'application/json'});\n\n const url = URL.createObjectURL(blob);\n\n const formattedDate = dayjs().format('YYYYMMDDHHmm');\n const fileName = `报表导出-${formattedDate}.json`;\n\n const a = document.createElement('a');\n a.href = url;\n a.download = fileName;\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n\n URL.revokeObjectURL(url);\n } else {\n ElMessage.warning('请选择要操作的报表!');\n }\n};\n\nconst toDesign = async (row) => {\n let res = await lockEditor(row.id);\n if (res === 'OK') {\n router.push(`/admin/statement/design/${row.id}`);\n } else {\n const toUnlock = await ElMessageBox.alert('报表正在被其他用户锁定,是否强制解锁?', '提示', {\n confirmButtonText: '解锁',\n cancelButtonText: '取消',\n });\n if (toUnlock === 'confirm') {\n let flag = await unlockEditor(row.id);\n if (flag) {\n toDesign(row);\n } else {\n ElMessage.error('解锁失败,请稍后再试!');\n }\n }\n }\n};\n\nconst toView = (row) => {\n router.push(`/admin/statement/detail/${row.id}`);\n};\n\nonMounted(() => {\n getStatementList(true);\n});\n\n//新增报表\nconst dialogFormVisible = ref(false);\n\nconst form = reactive({\n id: undefined,\n name: '',\n code: '',\n description: '',\n});\n\nconst toAddForm = () => {\n dialogFormVisible.value = true;\n};\n\nconst toEditor = (row) => {\n dialogFormVisible.value = true;\n form.id = row.id;\n form.name = row.name;\n form.code = row.code;\n form.description = row.description;\n};\n\nconst toCopy = (row) => {\n ElMessageBox.confirm('当前操作会复制选定的报表,确认继续吗?', '提醒', {\n confirmButtonText: '复制',\n cancelButtonText: '取消',\n type: 'warning',\n }).then(() => {\n let form = {\n name: `${row.name}-copy`,\n code: `${row.code}-copy`,\n description: `${row.description}-copy`,\n chartConfig: row.chartConfig,\n config: row.config,\n listData: row.listData,\n };\n save(form)\n .then(() => {\n ElMessage.success('复制成功');\n getStatementList(true);\n })\n .catch(() => {\n ElMessage.error('复制失败');\n });\n });\n};\n\nconst toDelete = (row) => {\n ElMessageBox.confirm('当前操作会删除选定的报表,确认继续吗?', '警告', {\n confirmButtonText: '删除',\n cancelButtonText: '取消',\n type: 'warning',\n }).then(async () => {\n let res = await del(row.id);\n if (res.data) {\n getStatementList(true);\n }\n });\n};\n\nconst cancelForm = () => {\n dialogFormVisible.value = false;\n form.id = undefined;\n form.name = '';\n form.code = '';\n form.description = '';\n};\nconst saveForm = async () => {\n await save(form);\n getStatementList(true);\n cancelForm();\n};\n\n//搜索报表\nconst onSearch = (e?) => {\n if (e) {\n e.preventDefault();\n e.stopPropagation();\n }\n getStatementList(false);\n};\n\n//重置\nconst onReset = () => {\n listForm.key = '';\n getStatementList(true);\n};\n\n//分页功能\nwatch(\n () => listForm.pageNumber,\n () => {\n getStatementList();\n }\n);\nwatch(\n () => listForm.pageSize,\n () => {\n getStatementList();\n }\n);\n</script>\n\n<style lang=\"scss\">\n.statement-list-container {\n width: 100%;\n height: 100%;\n padding: 10px 0 0;\n box-sizing: border-box;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n\n .actions {\n display: flex;\n align-items: center;\n\n .form-context {\n flex: 1;\n margin: 0 10px;\n display: flex;\n }\n\n .el-form-item {\n margin-bottom: 0;\n margin-right: 10px;\n }\n }\n\n .el-table {\n flex: 1;\n }\n\n .el-dialog {\n .el-button--text {\n margin-right: 15px;\n }\n\n .el-form-item {\n width: 100%;\n }\n\n .el-select {\n width: 100%;\n }\n\n .el-input {\n width: 100%;\n }\n\n .dialog-footer button:first-child {\n margin-right: 10px;\n }\n }\n .import-excel-button {\n position: relative;\n .import-excel-input {\n position: absolute;\n left: 0;\n top: 0;\n opacity: 0;\n width: 100%;\n height: 100%;\n z-index: 10;\n }\n }\n}\n</style>\n"],"names":["router","useRouter","listForm","reactive","data","ref","getStatementList","flag","res","getList","copyLink","row","type","href","hrefName","copyString","ElMessage","tableSelections","selectionChangeHandle","selections","importReport","e","file","reader","event","jsonData","item","loading","ElLoading","i","save","exportReport","code","config","description","name","blob","url","fileName","dayjs","a","toDesign","lockEditor","ElMessageBox","unlockEditor","toView","onMounted","dialogFormVisible","form","toAddForm","toEditor","toCopy","toDelete","del","cancelForm","saveForm","onSearch","onReset","watch","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_hoisted_3","_cache","$event","_createTextVNode","_unref","rct","_createVNode","ElButton","_hoisted_4","ElFormItem","ElInput","ElTable","ElTableColumn","_withCtx","scope","ElPagination","ElDialog","_hoisted_5","ElForm"],"mappings":"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"}
1
+ {"version":3,"file":"StatementList-5FwFT1kn.mjs","sources":["../StatementList.vue"],"sourcesContent":["<template>\n <section class=\"statement-list-container\">\n <div class=\"actions\">\n <div class=\"el-button is-text import-excel-button\">\n <input\n class=\"import-excel-input\"\n type=\"file\"\n @change=\"importReport($event)\" />\n {{ rct('导入') }}\n </div>\n <el-button\n text\n @click=\"exportReport\">\n {{ rct('导出') }}\n </el-button>\n <el-button\n type=\"primary\"\n @click=\"toAddForm\">\n {{ rct('新增') }}\n </el-button>\n <div class=\"form-context\">\n <el-form-item :label=\"rct('报表名称')\">\n <el-input\n v-model=\"listForm.key\"\n @keyup.enter=\"onSearch\"\n :placeholder=\"rct('键入关键字搜索报表')\"></el-input>\n </el-form-item>\n </div>\n <el-button\n type=\"primary\"\n @click=\"onSearch()\">\n {{ rct('搜索') }}\n </el-button>\n <el-button @click=\"onReset()\">{{ rct('重置') }}</el-button>\n </div>\n <el-table\n :data=\"data\"\n row-key=\"id\"\n @selection-change=\"selectionChangeHandle\">\n <el-table-column\n type=\"selection\"\n width=\"50\"></el-table-column>\n <el-table-column\n label=\"#\"\n type=\"index\"\n width=\"66\"\n left></el-table-column>\n <el-table-column\n :label=\"rct('报表代码')\"\n min-width=\"100\"\n prop=\"code\"></el-table-column>\n <el-table-column\n :label=\"rct('报表名称')\"\n min-width=\"100\"\n prop=\"name\"></el-table-column>\n <el-table-column\n :label=\"rct('描述')\"\n min-width=\"200\"\n prop=\"description\"></el-table-column>\n <el-table-column\n :label=\"rct('操作')\"\n width=\"490\"\n fixed=\"right\">\n <template #default=\"scope\">\n <el-button\n link\n :title=\"rct('本系统前台菜单地址')\"\n @click=\"copyLink(scope.row, 'inner')\">\n {{ rct('菜单') }}\n </el-button>\n <el-button\n link\n :title=\"rct('后台测试')\"\n @click=\"copyLink(scope.row, 'admin')\">\n {{ rct('后台') }}\n </el-button>\n <el-button\n link\n :title=\"rct('其他系统嵌入地址')\"\n @click=\"copyLink(scope.row, 'outside')\">\n {{ rct('外嵌') }}\n </el-button>\n <el-button\n type=\"primary\"\n link\n @click=\"toDesign(scope.row)\">\n <i class=\"yhreport-icon report-sheji\"></i>\n {{ rct('设计') }}\n </el-button>\n <el-button\n type=\"primary\"\n link\n @click=\"toView(scope.row)\">\n <i class=\"yhreport-icon report-preview\"></i>\n {{ rct('查看') }}\n </el-button>\n <el-button\n type=\"primary\"\n link\n @click=\"toEditor(scope.row)\">\n <i class=\"yhreport-icon report-bianji\"></i>\n {{ rct('编辑') }}\n </el-button>\n <el-button\n type=\"primary\"\n link\n @click=\"toCopy(scope.row)\">\n <i class=\"yhreport-icon report-fuzhi\"></i>\n {{ rct('复制') }}\n </el-button>\n <el-button\n type=\"danger\"\n link\n @click=\"toDelete(scope.row)\">\n <i class=\"yhreport-icon report-shanchusekuai\"></i>\n {{ rct('删除') }}\n </el-button>\n </template>\n </el-table-column>\n </el-table>\n <el-pagination\n background\n style=\"padding-top: 10px; justify-content: flex-end\"\n :page-sizes=\"[10, 20, 50, 100]\"\n v-model:page-size=\"listForm.pageSize\"\n :total=\"listForm.total\"\n v-model:current-page=\"listForm.pageNumber\"\n layout=\"sizes,prev,pager,next,total\"></el-pagination>\n <!-- 新增报表对话框 -->\n <el-dialog\n v-model=\"dialogFormVisible\"\n @close=\"cancelForm\"\n :title=\"form.id ? rct('编辑报表') : rct('新建报表')\">\n <el-form\n :model=\"form\"\n label-width=\"120\">\n <el-form-item\n :label=\"rct('报表代码')\"\n required>\n <el-input\n v-model=\"form.code\"\n autocomplete=\"off\" />\n </el-form-item>\n <el-form-item\n :label=\"rct('报表名称')\"\n required>\n <el-input\n v-model=\"form.name\"\n autocomplete=\"off\" />\n </el-form-item>\n <el-form-item\n :label=\"rct('描述')\"\n required>\n <el-input\n v-model=\"form.description\"\n type=\"textarea\"\n autocomplete=\"off\" />\n </el-form-item>\n </el-form>\n <template #footer>\n <span class=\"dialog-footer\">\n <el-button @click=\"cancelForm\">{{ rct('取消') }}</el-button>\n <el-button\n type=\"primary\"\n @click=\"saveForm()\">\n {{ rct('保存') }}\n </el-button>\n </span>\n </template>\n </el-dialog>\n </section>\n</template>\n<script setup lang=\"ts\">\nimport {ref, reactive, computed, watch, onMounted} from 'vue';\nimport {useRouter} from 'vue-router';\nimport {Statement} from './types';\nimport {getList, save, del} from './api/form';\nimport {ElMessageBox, ElMessage, ElButton, ElForm, ElFormItem, ElInput, ElTable, ElTableColumn, ElPagination, ElDialog, ElLoading} from 'element-plus';\nimport {copyString} from './libs/util';\nimport dayjs from 'dayjs';\nimport {lockEditor, unlockEditor} from 'yh-report/libs/editorLock';\nimport {rct} from 'yh-report';\n\nconst router = useRouter();\n\n// @ts-ignore\nconst listForm = reactive({\n key: '',\n pageSize: 10,\n pageNumber: 1,\n total: 0,\n});\nconst data = ref<Statement[]>([]);\n\n//获取报表列表\nasync function getStatementList(flag = false) {\n if (flag) {\n listForm.pageNumber = 1;\n listForm.total = 0;\n }\n const res = await getList({\n key: listForm.key,\n pageSize: listForm.pageSize,\n pageNumber: listForm.pageNumber,\n });\n data.value = res.data.list;\n listForm.total = res.data.total;\n}\n\nfunction copyLink(row, type) {\n let href = '';\n let hrefName = '链接';\n switch (type) {\n case 'admin':\n href = `/admin/statement/detail/${row.id}`;\n hrefName = '后台链接';\n break;\n case 'inner':\n href = `innerStatementdetail/${row.id}`;\n hrefName = '菜单链接';\n break;\n default:\n href = `${window.location.origin}${window.location.pathname}#/statementdetail/${row.id}`;\n hrefName = '外部链接';\n }\n copyString(href)\n .then(() => {\n ElMessage.success(hrefName + '复制成功');\n })\n .catch(() => {\n ElMessage.error(hrefName + '复制遇到问题');\n });\n}\n\nconst tableSelections = ref([]);\nconst selectionChangeHandle = (selections) => {\n tableSelections.value = selections;\n};\n\nconst importReport = async (e) => {\n const file = e.target.files[0];\n if (!file) return;\n\n const reader = new FileReader();\n reader.onload = async (event) => {\n e.target.value = '';\n try {\n if (event.target) {\n const jsonData = JSON.parse(event.target.result as string);\n if (Array.isArray(jsonData) && jsonData.every((item) => typeof item === 'object' && 'code' in item && 'config' in item && 'description' in item && 'name' in item)) {\n const loading = ElLoading.service({\n fullscreen: true,\n text: `正在导入报表,共 ${jsonData.length} 个,请稍候...`,\n });\n for (let i = 0; i < jsonData.length; i++) {\n loading.setText(`正在保存第 ${i + 1} 个,共 ${jsonData.length} 个,请稍候...`);\n const item = jsonData[i];\n await save(item);\n }\n loading.close();\n getStatementList(true);\n } else {\n ElMessage.error('格式错误,请确保导入的文件未被修改过!');\n }\n }\n } catch (error) {\n ElMessage.error('文件解析失败,请检查文件是否为有效的 JSON 格式!');\n }\n };\n reader.readAsText(file);\n};\n\nconst exportReport = () => {\n if (tableSelections.value.length > 0) {\n const jsonData = JSON.stringify(\n tableSelections.value.map(({code, config, description, name}) => {\n return {\n code,\n config,\n description,\n name,\n };\n }),\n null,\n 2\n );\n const blob = new Blob([jsonData], {type: 'application/json'});\n\n const url = URL.createObjectURL(blob);\n\n const formattedDate = dayjs().format('YYYYMMDDHHmm');\n const fileName = `报表导出-${formattedDate}.json`;\n\n const a = document.createElement('a');\n a.href = url;\n a.download = fileName;\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n\n URL.revokeObjectURL(url);\n } else {\n ElMessage.warning('请选择要操作的报表!');\n }\n};\n\nconst toDesign = async (row) => {\n let res = await lockEditor(row.id);\n if (res === 'OK') {\n router.push(`/admin/statement/design/${row.id}`);\n } else {\n const toUnlock = await ElMessageBox.alert('报表正在被其他用户锁定,是否强制解锁?', '提示', {\n confirmButtonText: '解锁',\n cancelButtonText: '取消',\n });\n if (toUnlock === 'confirm') {\n let flag = await unlockEditor(row.id);\n if (flag) {\n toDesign(row);\n } else {\n ElMessage.error('解锁失败,请稍后再试!');\n }\n }\n }\n};\n\nconst toView = (row) => {\n router.push(`/admin/statement/detail/${row.id}`);\n};\n\nonMounted(() => {\n getStatementList(true);\n});\n\n//新增报表\nconst dialogFormVisible = ref(false);\n\nconst form = reactive({\n id: undefined,\n name: '',\n code: '',\n description: '',\n});\n\nconst toAddForm = () => {\n dialogFormVisible.value = true;\n};\n\nconst toEditor = (row) => {\n dialogFormVisible.value = true;\n form.id = row.id;\n form.name = row.name;\n form.code = row.code;\n form.description = row.description;\n};\n\nconst toCopy = (row) => {\n ElMessageBox.confirm('当前操作会复制选定的报表,确认继续吗?', '提醒', {\n confirmButtonText: '复制',\n cancelButtonText: '取消',\n type: 'warning',\n }).then(() => {\n let form = {\n name: `${row.name}-copy`,\n code: `${row.code}-copy`,\n description: `${row.description}-copy`,\n chartConfig: row.chartConfig,\n config: row.config,\n listData: row.listData,\n };\n save(form)\n .then(() => {\n ElMessage.success('复制成功');\n getStatementList(true);\n })\n .catch(() => {\n ElMessage.error('复制失败');\n });\n });\n};\n\nconst toDelete = (row) => {\n ElMessageBox.confirm('当前操作会删除选定的报表,确认继续吗?', '警告', {\n confirmButtonText: '删除',\n cancelButtonText: '取消',\n type: 'warning',\n }).then(async () => {\n let res = await del(row.id);\n if (res.data) {\n getStatementList(true);\n }\n });\n};\n\nconst cancelForm = () => {\n dialogFormVisible.value = false;\n form.id = undefined;\n form.name = '';\n form.code = '';\n form.description = '';\n};\nconst saveForm = async () => {\n await save(form);\n getStatementList(true);\n cancelForm();\n};\n\n//搜索报表\nconst onSearch = (e?) => {\n if (e) {\n e.preventDefault();\n e.stopPropagation();\n }\n getStatementList(false);\n};\n\n//重置\nconst onReset = () => {\n listForm.key = '';\n getStatementList(true);\n};\n\n//分页功能\nwatch(\n () => listForm.pageNumber,\n () => {\n getStatementList();\n }\n);\nwatch(\n () => listForm.pageSize,\n () => {\n getStatementList();\n }\n);\n</script>\n\n<style lang=\"scss\">\n.statement-list-container {\n width: 100%;\n height: 100%;\n padding: 10px 0 0;\n box-sizing: border-box;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n\n .actions {\n display: flex;\n align-items: center;\n\n .form-context {\n flex: 1;\n margin: 0 10px;\n display: flex;\n }\n\n .el-form-item {\n margin-bottom: 0;\n margin-right: 10px;\n }\n }\n\n .el-table {\n flex: 1;\n }\n\n .el-dialog {\n .el-button--text {\n margin-right: 15px;\n }\n\n .el-form-item {\n width: 100%;\n }\n\n .el-select {\n width: 100%;\n }\n\n .el-input {\n width: 100%;\n }\n\n .dialog-footer button:first-child {\n margin-right: 10px;\n }\n }\n .import-excel-button {\n position: relative;\n .import-excel-input {\n position: absolute;\n left: 0;\n top: 0;\n opacity: 0;\n width: 100%;\n height: 100%;\n z-index: 10;\n }\n }\n}\n</style>\n"],"names":["router","useRouter","listForm","reactive","data","ref","getStatementList","flag","res","getList","copyLink","row","type","href","hrefName","copyString","ElMessage","tableSelections","selectionChangeHandle","selections","importReport","e","file","reader","event","jsonData","item","loading","ElLoading","i","save","exportReport","code","config","description","name","blob","url","fileName","dayjs","a","toDesign","lockEditor","ElMessageBox","unlockEditor","toView","onMounted","dialogFormVisible","form","toAddForm","toEditor","toCopy","toDelete","del","cancelForm","saveForm","onSearch","onReset","watch","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_hoisted_3","_cache","$event","_createTextVNode","_unref","rct","_createVNode","ElButton","_hoisted_4","ElFormItem","ElInput","ElTable","ElTableColumn","_withCtx","scope","ElPagination","ElDialog","_hoisted_5","ElForm"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { _ as o } from "./StatementDesign-DWbriri6.mjs";
2
+ export {
3
+ o as YhCodemirror
4
+ };
5
+ //# sourceMappingURL=index-BM0Y2_2N.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BM0Y2_2N.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -8,7 +8,7 @@ import { cloneDeep, get } from "lodash-es";
8
8
  import { useRouter, useRoute } from "vue-router";
9
9
  import axios from "@/libs/api.request.js";
10
10
  import * as echarts from "echarts";
11
- var CellType = /* @__PURE__ */ ((S) => (S.ROW = "row", S.COL = "col", S.CELL = "cell", S.HEAD = "head", S.TEXT = "text", S.ICON = "icon", S.FUN = "fun", S.IMAGE = "img", S.FIELD = "field", S.BARCODE = "barcode", S.QRCODE = "qrcode", S))(CellType || {}), FormatType = /* @__PURE__ */ ((S) => (S.TEXT = "text", S.NUMBER = "number", S.CURRENCY = "currency", S.PERCENT = "percent", S.PROMILLE = "promille", S.SCIENTIFIC = "scientific", S.DATETIME = "datetime", S.STRING = "string", S))(FormatType || {}), ComputedType = /* @__PURE__ */ ((S) => (S.loopRow = "loopRow", S.static = "static", S.loopGroup = "loopGroup", S))(ComputedType || {}), DataSourceColumnDataType = /* @__PURE__ */ ((S) => (S.STRING = "STRING", S.PLONG = "PLONG", S.LONG = "LONG", S.DOUBLE = "DOUBLE", S.TEXT = "TEXT", S.BOOL = "BOOL", S.DATE = "DATE", S.TIME = "TIME", S.DATETIME = "DATETIME", S.PASSWORD = "PASSWORD", S.ID = "ID", S.LIST = "LIST", S.TABLE = "TABLE", S.TREE = "TREE", S.IMG = "IMG", S.OPEN = "OPEN", S.SQL = "SQL", S.COLOR = "COLOR", S.EDITOR = "EDITOR", S))(DataSourceColumnDataType || {});
11
+ var CellType = /* @__PURE__ */ ((S) => (S.ROW = "row", S.COL = "col", S.CELL = "cell", S.HEAD = "head", S.TEXT = "text", S.ICON = "icon", S.FUN = "fun", S.IMAGE = "img", S.FIELD = "field", S))(CellType || {}), FormatType = /* @__PURE__ */ ((S) => (S.TEXT = "text", S.NUMBER = "number", S.CURRENCY = "currency", S.PERCENT = "percent", S.PROMILLE = "promille", S.SCIENTIFIC = "scientific", S.DATETIME = "datetime", S.STRING = "string", S.BARCODE = "barcode", S.QRCODE = "qrcode", S))(FormatType || {}), ComputedType = /* @__PURE__ */ ((S) => (S.loopRow = "loopRow", S.static = "static", S.loopGroup = "loopGroup", S))(ComputedType || {}), DataSourceColumnDataType = /* @__PURE__ */ ((S) => (S.STRING = "STRING", S.PLONG = "PLONG", S.LONG = "LONG", S.DOUBLE = "DOUBLE", S.TEXT = "TEXT", S.BOOL = "BOOL", S.DATE = "DATE", S.TIME = "TIME", S.DATETIME = "DATETIME", S.PASSWORD = "PASSWORD", S.ID = "ID", S.LIST = "LIST", S.TABLE = "TABLE", S.TREE = "TREE", S.IMG = "IMG", S.OPEN = "OPEN", S.SQL = "SQL", S.COLOR = "COLOR", S.EDITOR = "EDITOR", S))(DataSourceColumnDataType || {});
12
12
  const defaultCell = {
13
13
  type: CellType.TEXT,
14
14
  format: FormatType.TEXT,
@@ -6695,6 +6695,9 @@ function formatCellValue(S, w = FormatType.TEXT, t) {
6695
6695
  return formatScientific(u, t);
6696
6696
  case FormatType.DATETIME:
6697
6697
  return formatDatetime(S, t);
6698
+ case FormatType.BARCODE:
6699
+ case FormatType.QRCODE:
6700
+ return S;
6698
6701
  default:
6699
6702
  return (S === 0 || S === "0") && (t == null ? void 0 : t.defaultCellContent) !== void 0 ? t.defaultCellContent : S;
6700
6703
  }
@@ -6707,42 +6710,51 @@ function renderColgroup(S, w) {
6707
6710
  if (f.isHidden)
6708
6711
  continue;
6709
6712
  const n = document.createElement("col");
6710
- u += f.size, n.style.width = `${f.size}px`, t.appendChild(n);
6713
+ u += f.size ?? 80, n.style.width = `${f.size ?? 80}px`, t.appendChild(n);
6711
6714
  }
6712
6715
  return w && (w.style.width = `${u}px`), t;
6713
6716
  }
6717
+ function renderImageStyle(S) {
6718
+ if (!S) return "";
6719
+ const w = [];
6720
+ return S.width !== void 0 && w.push(`width:${S.width}px`), S.height !== void 0 && w.push(`height:${S.height}px`), S.fit && w.push(`object-fit:${S.fit}`), w.length ? w.join(";") : "";
6721
+ }
6714
6722
  function renderCell(S, w, t) {
6715
- var n;
6723
+ var r;
6716
6724
  const u = document.createElement("td");
6717
- u.setAttribute("data-cell-config", `${w.row}-${w.col}`), u.setAttribute("rowspan", w.rowSpan), u.setAttribute("colspan", w.colSpan);
6718
- let d = "", f = !1;
6725
+ u.setAttribute("data-cell-config", `${w.row}-${w.col}`), u.setAttribute("rowspan", w.rowSpan), u.setAttribute("colspan", w.colSpan), u.style.boxSizing = "border-box";
6726
+ const d = document.createElement("div");
6727
+ d.style.cssText = `overflow:hidden;height:${S.size ?? 25}px;`;
6728
+ let f = "", n = !1, a = "";
6719
6729
  switch (w.type) {
6720
6730
  case CellType.ICON:
6721
- u.innerHTML = `<i class="iconfont ${w.data}"></i>`, f = !0;
6722
- break;
6723
- case CellType.IMAGE:
6724
- u.innerHTML = `<img src="${w.rawData ?? w.data}" alt="">`, f = !0;
6725
- break;
6726
- case CellType.BARCODE:
6727
- try {
6728
- const a = w.barcodeUrl || canvasPool.generateBarcode(w.data, w.barcodeOptions);
6729
- a ? (u.innerHTML = `<img src="${a}" alt="barcode">`, f = !0) : d = String(w.data ?? "");
6730
- } catch (a) {
6731
- console.error(`条形码生成失败 [${w.row}:${w.col}]:`, a), d = String(w.data ?? "");
6732
- }
6731
+ a = `<i class="iconfont ${w.data}"></i>`, n = !0;
6733
6732
  break;
6734
- case CellType.QRCODE:
6735
- w.qrcodeData ? (u.innerHTML = `<img src="${w.qrcodeData}" alt="qrcode">`, f = !0) : d = String(w.data ?? "");
6733
+ case CellType.IMAGE: {
6734
+ const e = renderImageStyle(w.imageOptions);
6735
+ a = `<img src="${w.rawData ?? w.data}" alt="" style="max-width:100%;max-height:100%;object-fit:contain${e ? ";" + e : ""}">`, n = !0;
6736
6736
  break;
6737
+ }
6737
6738
  default:
6738
- d = [void 0, null, ""].includes(w.text) ? ((n = w.formatType) == null ? void 0 : n.defaultCellContent) || "" : w.text;
6739
+ f = [void 0, null, ""].includes(w.text) ? ((r = w.formatType) == null ? void 0 : r.defaultCellContent) || "" : w.text;
6739
6740
  break;
6740
6741
  }
6741
- if (w.style && (u.setAttribute("style", renderCellStyle(w.style)), w.style.border)) {
6742
- const a = normalizeBorder(w.style.border);
6743
- a && (u.style.borderTop = getBorderCss(a.top, t), u.style.borderRight = getBorderCss(a.right, t), u.style.borderBottom = getBorderCss(a.bottom, t), u.style.borderLeft = getBorderCss(a.left, t));
6742
+ if (!n && w.format === FormatType.BARCODE)
6743
+ try {
6744
+ const e = w.barcodeUrl || canvasPool.generateBarcode(f, w.barcodeOptions);
6745
+ e && (a = `<img src="${e}" alt="barcode" style="max-width:100%;max-height:100%;object-fit:contain">`, n = !0);
6746
+ } catch (e) {
6747
+ console.error(`条形码生成失败 [${w.row}:${w.col}]:`, e);
6748
+ }
6749
+ else if (!n && w.format === FormatType.QRCODE) {
6750
+ const e = w.qrcodeData;
6751
+ e && (a = `<img src="${e}" alt="qrcode" style="max-width:100%;max-height:100%;object-fit:contain">`, n = !0);
6752
+ }
6753
+ if (n ? d.innerHTML = a : d.innerText = f, u.appendChild(d), w.style && (u.setAttribute("style", renderCellStyle(w.style)), w.style.border)) {
6754
+ const e = normalizeBorder(w.style.border);
6755
+ e && (u.style.borderTop = getBorderCss(e.top, t), u.style.borderRight = getBorderCss(e.right, t), u.style.borderBottom = getBorderCss(e.bottom, t), u.style.borderLeft = getBorderCss(e.left, t));
6744
6756
  }
6745
- return f || (u.innerText = d), u;
6757
+ return u.style.padding = "0", u.style.boxSizing = "border-box", u;
6746
6758
  }
6747
6759
  function renderCellPrintStyle(S, w) {
6748
6760
  let t = "";
@@ -6788,14 +6800,14 @@ function renderReportByDomForPrint(S, w, t, u) {
6788
6800
  const l = S[i];
6789
6801
  if (l.isHidden) continue;
6790
6802
  const s = document.createElement("tr");
6791
- l.isFixed && (s.style.top = `${a - 1}px`, s.classList.add("fixed-row")), a += l.size - 1, s.style.height = `${l.size}px`, r = 0;
6803
+ l.isFixed && (s.style.top = `${a - 1}px`, s.classList.add("fixed-row")), a += (l.size ?? 25) - 1, s.style.height = `${l.size ?? 25}px`, r = 0;
6792
6804
  for (let o = 0; o < w.length; o++) {
6793
6805
  const p = w[o];
6794
6806
  if (p.isHidden) continue;
6795
6807
  const m = t[i][o];
6796
- if (l && m && l.size > 0) {
6808
+ if (l && m && (l.size ?? 25) > 0) {
6797
6809
  const c = renderCell(l, m, u);
6798
- p.isFixed === !0 && (c.classList.add("fixed-td"), c.style.left = `${r - 1}px`), r += p.size - 1, c.setAttribute("data-cell-data", `${i}-${o}`), m.rowSpan !== 0 && m.colSpan !== 0 && ([CellType.TEXT, CellType.FIELD, CellType.ICON, CellType.FUN].includes(m.type) && (m.style && c.setAttribute("style", renderCellPrintStyle(m.style, u)), m.style && m.style.border === !1 && c.classList.add("no-border")), s.appendChild(c));
6810
+ p.isFixed === !0 && (c.classList.add("fixed-td"), c.style.left = `${r - 1}px`), r += (p.size ?? 80) - 1, c.setAttribute("data-cell-data", `${i}-${o}`), m.rowSpan !== 0 && m.colSpan !== 0 && ([CellType.TEXT, CellType.FIELD, CellType.ICON, CellType.FUN].includes(m.type) && (m.style && c.setAttribute("style", renderCellPrintStyle(m.style, u)), m.style && m.style.border === !1 && c.classList.add("no-border"), c.style.padding = "0", c.style.boxSizing = "border-box"), s.appendChild(c));
6799
6811
  }
6800
6812
  }
6801
6813
  e.appendChild(s);
@@ -6815,15 +6827,15 @@ function renderReportByDom(S, w, t, u, d, f) {
6815
6827
  if (y.isHidden)
6816
6828
  continue;
6817
6829
  const g = document.createElement("tr");
6818
- g.dataset.ri = String(m), y.isFixed && (g.style.top = `${e - 1}px`, g.classList.add("fixed-row")), e += y.size - 1, g.style.height = `${y.size}px`, i = 0;
6830
+ g.dataset.ri = String(m), y.isFixed && (g.style.top = `${e - 1}px`, g.classList.add("fixed-row")), e += (y.size ?? 25) - 1, g.style.height = `${y.size ?? 25}px`, i = 0;
6819
6831
  for (let C = 0; C < w.length; C++) {
6820
6832
  const A = w[C];
6821
6833
  if (A.isHidden)
6822
6834
  continue;
6823
6835
  const N = t[c][C];
6824
- if (y && N && y.size > 0) {
6836
+ if (y && N && (y.size ?? 25) > 0) {
6825
6837
  const B = renderCell(y, N, f);
6826
- if (A.isFixed === !0 && (B.classList.add("fixed-td"), B.style.left = `${i - 1}px`), i += A.size - 1, B.setAttribute("data-cell-data", `${c}-${C}`), !(N.rowSpan === 0 || N.colSpan === 0)) {
6838
+ if (A.isFixed === !0 && (B.classList.add("fixed-td"), B.style.left = `${i - 1}px`), i += (A.size ?? 80) - 1, B.setAttribute("data-cell-data", `${c}-${C}`), !(N.rowSpan === 0 || N.colSpan === 0)) {
6827
6839
  if (g.appendChild(B), N.rowSpan > 1) {
6828
6840
  const H = s.length;
6829
6841
  s.push(B), o.push(N.rowSpan);
@@ -6902,22 +6914,7 @@ function changeConfig(S, w) {
6902
6914
  n.rawData = get(n.rowData, e);
6903
6915
  }
6904
6916
  }
6905
- if (n.type === CellType.IMAGE && n.data)
6906
- if (n.barcodeDataMode === "field" && (n.colData || n.rowData || w)) {
6907
- let e = n.data.replace("row:", "").toUpperCase();
6908
- n.rawData = get(n.rowData || n.colData || w, e);
6909
- } else (n.barcodeDataMode === "fixed" || !n.barcodeDataMode) && (n.rawData = n.data);
6910
- if (n.type === CellType.BARCODE && n.data)
6911
- if (n.barcodeDataMode === "field" && (n.colData || n.rowData || w)) {
6912
- let e = n.data.replace("row:", "").toUpperCase();
6913
- n.rawData = get(n.rowData || n.colData || w, e);
6914
- } else (n.barcodeDataMode === "fixed" || !n.barcodeDataMode) && (n.rawData = n.data);
6915
- if (n.type === CellType.QRCODE && n.data)
6916
- if (n.qrcodeDataMode === "field" && (n.colData || n.rowData || w)) {
6917
- let e = n.data.replace("row:", "").toUpperCase();
6918
- n.rawData = get(n.rowData || n.colData || w, e);
6919
- } else (n.qrcodeDataMode === "fixed" || !n.qrcodeDataMode) && (n.rawData = n.data);
6920
- if (n.type === CellType.FUN && n.fun)
6917
+ if (n.type === CellType.IMAGE && n.data && (n.rawData = n.data), n.type === CellType.FUN && n.fun)
6921
6918
  n.fun = n.fun.replace(StringFunRex, (e, i) => get(r, i.toUpperCase()) ?? 0), n.computedType === ComputedType.loopRow ? needComputedCell.set(`${a}:${n.index}`, n) : n.computedType === ComputedType.loopGroup && Array.isArray(n.groupIndices) && n.groupLevel !== void 0 ? needComputedCell.set(`${a}:${n.groupIndices[n.groupLevel]}:${n.groupLevel}`, n) : needComputedCell.set(a, n);
6922
6919
  else {
6923
6920
  let e = !1;
@@ -7360,9 +7357,9 @@ async function preGenerateBarcodes(S) {
7360
7357
  for (let n = 0; n < f.length; n++) {
7361
7358
  const a = f[n];
7362
7359
  if (!a) continue;
7363
- const r = a.rawData !== void 0 ? a.rawData : a.data;
7360
+ const r = a.text ?? a.rawData;
7364
7361
  if (!(r == null || r === "")) {
7365
- if (a.type === CellType.QRCODE && !a.qrcodeData) {
7362
+ if (a.format === FormatType.QRCODE && !a.qrcodeData) {
7366
7363
  const e = String(r);
7367
7364
  w.push(
7368
7365
  (async () => {
@@ -7374,7 +7371,7 @@ async function preGenerateBarcodes(S) {
7374
7371
  })()
7375
7372
  );
7376
7373
  }
7377
- if (a.type === CellType.BARCODE && !a.barcodeUrl)
7374
+ if (a.format === FormatType.BARCODE && !a.barcodeUrl)
7378
7375
  try {
7379
7376
  const e = String(r);
7380
7377
  a.barcodeUrl = canvasPool.generateBarcode(e, a.barcodeOptions);
@@ -35146,25 +35143,18 @@ const exportExcel = async (S, w, t = "gray", u = 0) => {
35146
35143
  const { channel: w, sendData: t } = useBroadcastChannel("postMessageReport");
35147
35144
  t("sendReportExportFile", S), w.close(), window.close();
35148
35145
  }, MM_TO_PX_RATIO = 96 / 25.4;
35149
- let _measuredRatio = null;
35146
+ let _measuredRatio = MM_TO_PX_RATIO;
35150
35147
  function measureMmToPxRatio() {
35151
- if (_measuredRatio != null) return _measuredRatio;
35152
- const S = document.createElement("div");
35153
- S.style.cssText = "position:absolute;left:-9999px;top:-9999px;visibility:hidden;width:10mm;height:10mm;", document.body.appendChild(S);
35154
- const w = S.getBoundingClientRect();
35155
- return document.body.removeChild(S), _measuredRatio = w.width / 10, _measuredRatio;
35156
- }
35157
- function mmToPxMeasured(S) {
35158
- return Math.round(S * measureMmToPxRatio());
35148
+ return _measuredRatio;
35159
35149
  }
35160
35150
  function mmToPx(S) {
35161
- return Math.round(S * MM_TO_PX_RATIO);
35151
+ return Math.round(S * measureMmToPxRatio());
35162
35152
  }
35163
35153
  function getPrintContentWidthPxMeasured(S) {
35164
- return mmToPxMeasured(S.width - S.marginLeft - S.marginRight);
35154
+ return mmToPx(S.width - S.marginLeft - S.marginRight);
35165
35155
  }
35166
35156
  function getPrintContentHeightPxMeasured(S) {
35167
- return S.height == null ? null : mmToPxMeasured(S.height - S.marginTop - S.marginBottom);
35157
+ return S.height == null ? null : mmToPx(S.height - S.marginTop - S.marginBottom);
35168
35158
  }
35169
35159
  const DEFAULT_PRINT_CONFIG = {
35170
35160
  enabled: !1,
@@ -35901,7 +35891,7 @@ function getPrintTableStylesString() {
35901
35891
  min-height: 20px;
35902
35892
  text-align: center;
35903
35893
  overflow: hidden;
35904
- border: 1px solid #333;
35894
+ border: 0.5px solid #333;
35905
35895
  box-sizing: border-box;
35906
35896
  padding: 2px 4px;
35907
35897
  background-color: transparent;
@@ -35928,7 +35918,7 @@ function getFixedRows(S) {
35928
35918
  return w;
35929
35919
  }
35930
35920
  function fixedRowsHeight(S) {
35931
- return S.reduce((w, t) => w + t.row.size - 1, 0);
35921
+ return S.reduce((w, t) => w + t.row.size, 0);
35932
35922
  }
35933
35923
  function getMaxRowSpanFrom(S, w, t) {
35934
35924
  let u = w;
@@ -35959,24 +35949,24 @@ function buildPageDom(S, w) {
35959
35949
  function splitNextReportPage(S, w, t = !1) {
35960
35950
  const { rowConfig: u, colConfig: d, config: f, fixedRows: n, fixedHeight: a, visibleRows: r } = S;
35961
35951
  if (S.currentRowIdx >= r.length) return null;
35962
- const e = u[r[S.currentRowIdx]].size - 1;
35952
+ const e = u[r[S.currentRowIdx]].size;
35963
35953
  if (!t && a + e > w) return null;
35964
35954
  let i = a, l = [], s = S.currentRowIdx;
35965
35955
  for (; s < r.length; ) {
35966
- const c = r[s], y = u[c].size - 1;
35956
+ const c = r[s], y = u[c].size;
35967
35957
  if (i + y > w && l.length > 0) break;
35968
35958
  l.push(c), i += y, s++;
35969
35959
  }
35970
35960
  const o = getMaxRowSpanFrom(f, l[0], l);
35971
35961
  for (; o > l[l.length - 1] + 1 && s < r.length; ) {
35972
35962
  const c = r[s];
35973
- l.push(c), i += u[c].size - 1, s++;
35963
+ l.push(c), i += u[c].size, s++;
35974
35964
  }
35975
35965
  let p = buildPageDom(S, l), m = measureDomHeight(p);
35976
35966
  for (; m > w && l.length > 1; ) {
35977
35967
  s--;
35978
35968
  const c = l.pop();
35979
- i -= u[c].size - 1, p = buildPageDom(S, l), m = measureDomHeight(p);
35969
+ i -= u[c].size, p = buildPageDom(S, l), m = measureDomHeight(p);
35980
35970
  }
35981
35971
  return S.currentRowIdx = s, { dom: p, height: m };
35982
35972
  }
@@ -35994,7 +35984,7 @@ function exportChartToImage(S) {
35994
35984
  function measureDomHeight(S) {
35995
35985
  const w = document.createElement("div");
35996
35986
  w.style.cssText = "position:absolute;left:-9999px;top:-9999px;visibility:hidden;", w.appendChild(S), document.body.appendChild(w);
35997
- const t = w.scrollHeight;
35987
+ const t = Math.round(w.getBoundingClientRect().height);
35998
35988
  return document.body.removeChild(w), t;
35999
35989
  }
36000
35990
  function buildPrintDocumentHTML(S) {
@@ -36123,14 +36113,14 @@ const _hoisted_1$1 = { class: "print-preview-toolbar" }, _hoisted_2$1 = { class:
36123
36113
  if (k && k.length > 0)
36124
36114
  for (const _ of k) {
36125
36115
  const x = createReportSplitState(_, getThemeColors(R.theme || "none").border);
36126
- H.push({ kind: "report", pending: { state: x } });
36116
+ await preGenerateBarcodes([{ config: x.config }]), H.push({ kind: "report", pending: { state: x } });
36127
36117
  }
36128
36118
  const v = (c = t.batchTableConfigs) == null ? void 0 : c.get(M);
36129
- v && v.length > 0 && v.forEach((_, x) => {
36119
+ v && v.length > 0 && v.forEach(async (_, x) => {
36130
36120
  x > 0 && H.push({ kind: "break" });
36131
36121
  for (const E of _) {
36132
36122
  const O = createReportSplitState(E, getThemeColors(R.theme || "none").border);
36133
- H.push({ kind: "report", pending: { state: O } });
36123
+ await preGenerateBarcodes([{ config: O.config }]), H.push({ kind: "report", pending: { state: O } });
36134
36124
  }
36135
36125
  });
36136
36126
  } else {
@@ -36175,7 +36165,7 @@ const _hoisted_1$1 = { class: "print-preview-toolbar" }, _hoisted_2$1 = { class:
36175
36165
  }
36176
36166
  C(), g();
36177
36167
  } else {
36178
- const M = t.printConfig, R = mmToPxMeasured(M.marginTop + M.marginBottom), k = [];
36168
+ const M = t.printConfig, R = mmToPx(M.marginTop + M.marginBottom), k = [];
36179
36169
  for (const v of H) {
36180
36170
  if (v.kind === "break") {
36181
36171
  const _ = document.createElement("div");
@@ -36199,10 +36189,6 @@ const _hoisted_1$1 = { class: "print-preview-toolbar" }, _hoisted_2$1 = { class:
36199
36189
  const k = F[M].items;
36200
36190
  for (const v of k) {
36201
36191
  const _ = v.dom.cloneNode(!0);
36202
- if (v.type === "report") {
36203
- const x = _.querySelector("table");
36204
- x && (x.style.width = `${B}px`, x.style.minWidth = `${B}px`);
36205
- }
36206
36192
  R.appendChild(_), a.value.push(_);
36207
36193
  }
36208
36194
  }
@@ -36440,7 +36426,7 @@ async function registerRoute(S, w) {
36440
36426
  title: "报表列表",
36441
36427
  icon: "iconfont icon-s-grid"
36442
36428
  },
36443
- component: () => import("./StatementList-BITrzcDz.mjs")
36429
+ component: () => import("./StatementList-5FwFT1kn.mjs")
36444
36430
  }), w.addRoute("Index", {
36445
36431
  path: "statement/design/:id",
36446
36432
  name: "报表设计",
@@ -36449,7 +36435,7 @@ async function registerRoute(S, w) {
36449
36435
  title: "报表设计",
36450
36436
  icon: "iconfont icon-s-grid"
36451
36437
  },
36452
- component: () => import("./StatementDesign-DH0EbG4e.mjs")
36438
+ component: () => import("./StatementDesign-DWbriri6.mjs").then((t) => t.S)
36453
36439
  }), w.addRoute("Index", {
36454
36440
  path: "statement/detail/:id",
36455
36441
  name: "后台报表查看",
@@ -36458,7 +36444,7 @@ async function registerRoute(S, w) {
36458
36444
  title: "后台报表查看",
36459
36445
  icon: "iconfont icon-s-grid"
36460
36446
  },
36461
- component: () => import("./StatementDetail-KwAJlfhe.mjs")
36447
+ component: () => import("./StatementDetail-ENSSRcUG.mjs")
36462
36448
  })), w.addRoute({
36463
36449
  path: "/statementdetail/:id",
36464
36450
  name: "报表查看",
@@ -36469,7 +36455,7 @@ async function registerRoute(S, w) {
36469
36455
  isWhite: !0
36470
36456
  },
36471
36457
  props: !0,
36472
- component: () => import("./StatementDetail-KwAJlfhe.mjs")
36458
+ component: () => import("./StatementDetail-ENSSRcUG.mjs")
36473
36459
  }), w.hasRoute("Index") && w.addRoute("Index", {
36474
36460
  path: "innerStatementdetail/:id",
36475
36461
  name: "系统内报表查看",
@@ -36480,7 +36466,7 @@ async function registerRoute(S, w) {
36480
36466
  isWhite: !0
36481
36467
  },
36482
36468
  props: !0,
36483
- component: () => import("./StatementDetail-KwAJlfhe.mjs")
36469
+ component: () => import("./StatementDetail-ENSSRcUG.mjs")
36484
36470
  });
36485
36471
  }
36486
36472
  const index = {
@@ -36538,14 +36524,14 @@ function dynamicReportView(S) {
36538
36524
  );
36539
36525
  }
36540
36526
  export {
36541
- validateAndCompleteTableConfig as A,
36542
- chartsTypeList as B,
36527
+ chartsTypeList as A,
36528
+ getDateSourceColumns as B,
36543
36529
  CellType as C,
36544
36530
  DEFAULT_PRINT_CONFIG as D,
36545
- getDateSourceColumns as E,
36531
+ getDateSourceList as E,
36546
36532
  FormatType as F,
36547
- getDateSourceList as G,
36548
- _sfc_main as H,
36533
+ getDateSourceData as G,
36534
+ transformArrayToObject as H,
36549
36535
  _sfc_main$1 as I,
36550
36536
  ItemTypes as J,
36551
36537
  getReportDefaultOption as K,
@@ -36553,7 +36539,7 @@ export {
36553
36539
  dynamicReportView as M,
36554
36540
  silenceExport as N,
36555
36541
  TypeItems as T,
36556
- _export_sfc as _,
36542
+ _sfc_main as _,
36557
36543
  del as a,
36558
36544
  defaultCol as b,
36559
36545
  copyString as c,
@@ -36566,19 +36552,19 @@ export {
36566
36552
  getThemeColors as j,
36567
36553
  renderCellStyle as k,
36568
36554
  getBorderCss as l,
36569
- getDateSourceData as m,
36555
+ componentTransition as m,
36570
36556
  normalizeBorder as n,
36571
- componentTransition as o,
36557
+ mmToPx as o,
36572
36558
  parseExpression as p,
36573
- mmToPx as q,
36559
+ colors as q,
36574
36560
  rct as r,
36575
36561
  save as s,
36576
- transformArrayToObject as t,
36577
- colors as u,
36578
- chartItem as v,
36579
- DataSourceColumnDataType as w,
36580
- numberToColumn as x,
36581
- allBorderStyles as y,
36582
- applyBorderOperation as z
36562
+ _export_sfc as t,
36563
+ chartItem as u,
36564
+ DataSourceColumnDataType as v,
36565
+ numberToColumn as w,
36566
+ allBorderStyles as x,
36567
+ applyBorderOperation as y,
36568
+ validateAndCompleteTableConfig as z
36583
36569
  };
36584
- //# sourceMappingURL=index-B_fjd8e4.mjs.map
36570
+ //# sourceMappingURL=index-CUHvNdkp.mjs.map