GitBucket
4.6.0
Toggle navigation
Sign in
Files
Branches
1
Tags
Issues
Pull Requests
Labels
Milestones
Wiki
08335
/
hivui-platform-template
hivui平台项目模板
Browse code
整合
master
1 parent
b473f2d
commit
7c0029b38260d86cd0fe5aa5e180d01990f42462
hhb
authored
on 20 Jan 2022
Showing
4 changed files
project/hivuiBirt/components/Birt/Page/index.vue
project/hivuiBirt/funclib/HCBIRT.js
project/hivuiBirt/index.js
project/hivuiBirt/templates/pages/TreeTabTableQuery.js
Ignore Space
Show notes
View
project/hivuiBirt/components/Birt/Page/index.vue
<template> <div> <birt-work-book v-if="birtModel.controlName == 'BirtWorkBook'" :ref="birtModel.controlId" :conf="birtModel" :param="birtParam" /> <!-- <birt-work-book v-for="wb in printPage" :key="wb.controlId" :ref="wb.controlId" :conf="wb" :param="birtParam" > </birt-work-book> --> </div> </template> <script> import page from "./mixins/page"; import func from "./mixins/func"; import flow from "./mixins/flow"; import axios from 'axios'; export default { name: "birt-page", mixins: [page, func, flow], props: { conf: { type: Object, default: function () { return {}; }, }, }, data() { return { param: {}, birtModel: {}, birtParam: {}, // printPage: [], }; }, methods: { // 获取报表workbook实例 _getWorkBook() { return this.$refs[this.birtModel.controlId]; }, // 根据模型路径获取数据集实例对象 _getStore(modelFilePath) { let wb = this._getWorkBook(); if (wb) { let stores = wb.getStores(); for (let i = 0, l = stores.length; i < l; i++) { let dsInsc = stores[i]; if (dsInsc.modelFilePath == modelFilePath) { return dsInsc; } } } }, // 应用地址栏参数 applyRouteParam() { if (this.birtModel && this.birtModel.controlName) { let param = ''; this._setParam(param); this._initPage(); } }, // 设置页面下推参数 setWorkBookParam() { this.$nextTick(() => { let wb = this._getWorkBook(); wb && wb.setParam(this.param); // this.$set(this, "birtParam", this.param); // this.birtParam = this.param; }); }, }, created() { this.applyRouteParam(); }, mounted() { this.setWorkBookParam(); }, }; </script>
<template> <div> <birt-work-book v-if="birtModel.controlName == 'BirtWorkBook'" :ref="birtModel.controlId" :conf="birtModel" :param="birtParam" /> <!-- <birt-work-book v-for="wb in printPage" :key="wb.controlId" :ref="wb.controlId" :conf="wb" :param="birtParam" > </birt-work-book> --> </div> </template> <script> import page from "./mixins/page"; import func from "./mixins/func"; import flow from "./mixins/flow"; import axios from 'axios'; export default { name: "birt-page", mixins: [page, func, flow], props: { conf: { type: Object, default: function () { return {}; }, }, }, data() { return { param: {}, birtModel: {}, birtParam: {}, // printPage: [], }; }, methods: { // 获取报表workbook实例 _getWorkBook() { return this.$refs[this.birtModel.controlId]; }, // 根据模型路径获取数据集实例对象 _getStore(modelFilePath) { let wb = this._getWorkBook(); if (wb) { let stores = wb.getStores(); for (let i = 0, l = stores.length; i < l; i++) { let dsInsc = stores[i]; if (dsInsc.modelFilePath == modelFilePath) { return dsInsc; } } } }, // 应用地址栏参数 applyRouteParam() { if (this.birtModel && this.birtModel.controlName) { let param = ''; this._setParam(param); this._initPage(); } }, // 设置页面下推参数 setWorkBookParam() { this.$nextTick(() => { let wb = this._getWorkBook(); wb && wb.setParam(this.param); // this.$set(this, "birtParam", this.param); // this.birtParam = this.param; }); }, }, created() { this.applyRouteParam(); }, mounted() { this.setWorkBookParam(); }, }; </script> <style lang="scss" scoped> </style>
Ignore Space
Show notes
View
project/hivuiBirt/funclib/HCBIRT.js
/** * HcBirt组件环境常量定义 * @author cls * @date 2021-05-19 * import { $HCBIRT } from "@birt/funclib/HCBIRT"; */ export const $HCBIRT = { // 预扣除tab选项卡高度,用于页面高度自适应计算 tabHeight: 160, // 表单宽度 formWidth: "100%", // 流转 flowOut: "流转", // 回退 flowBack: "回退", // 暂停,挂单 flowStop: "挂单", // 终止 flowTerminate: "终止", };
/** * HcBirt组件环境常量定义 * @author cls * @date 2021-05-19 * import { $HCBIRT } from "@birt/funclib/HCBIRT"; */ export const $HCBIRT = { // 预扣除tab选项卡高度,用于页面高度自适应计算 tabHeight: 160, // 表单宽度 formWidth: "90%", // 流转 flowOut: "流转", // 回退 flowBack: "回退", // 暂停,挂单 flowStop: "挂单", // 终止 flowTerminate: "终止", };
Ignore Space
Show notes
View
project/hivuiBirt/index.js
import App from './App.vue' // import ElementUI from 'element-ui'; // import "hi-ui/lib/hi-ui.css"; // import 'font-awesome/css/font-awesome.css' Vue.use(ELEMENT, { size: 'mini' }) import Message from './components/vue-m-message' Vue.use(Message) // will mount `Vue.prototype.$message` import './assets/icon/iconfont.css'; import './styles/index.css'; import './assets/icon/iconfont.css'; import './styles/index.css' import "hi-taskcenter/hi-taskcenter.css" import hitaskcenter from 'hi-taskcenter'; Vue.use(hitaskcenter); import 'zhc-flowchart/lib/zhc-flowchart.css' import zhcflowchart from "zhc-flowchart"; Vue.use(zhcflowchart) import ZhcBirtCmps from 'zhc-birt-cmps' Vue.use(ZhcBirtCmps) import hiSetting from './hiSetting' import { $HCBIRT } from "@birt/funclib/HCBIRT" import Cookies from 'js-cookie' debugger import { setToken, } from "./utils/auth.js"; // Vue.use(ElementUI) console.log('token', Cookies.get('EAP-Token')) setToken(Cookies.get('EAP-Token') || '') import axios from "./funclib/AxiosUtil"; Vue.prototype.$HCBIRT = $HCBIRT; Vue.prototype.$HI = { projectName: hiSetting.projectName, serverUrl: hiSetting.serverUrl, serverName: hiSetting.serverName, request: axios, queryOperate: 'like', pageSize: 20, saveUrl: hiSetting.saveUrl, queryUrl: hiSetting.queryUrl, querysUrl: hiSetting.querysUrl, policyUrl: hiSetting.policyUrl, enumsUrl: hiSetting.enumsUrl, datasetUrl: hiSetting.datasetUrl, upload: hiSetting.upload, download: hiSetting.download, review: hiSetting.review, getFlowInfo: hiSetting.getFlowInfo, getApprovalInfo: hiSetting.getApprovalInfo, processFlow: hiSetting.processFlow, queryTask: hiSetting.queryTask, withdrawtask: hiSetting.withdrawtask, taskDiagram: hiSetting.taskDiagram, openOrdernumber: hiSetting.openOrdernumber, birtModel: hiSetting.birtModel }; console.log(5555,hiSetting.queryUrl) new Vue({ render: h => h(App), }).$mount('#app')
import App from './App.vue' // import ElementUI from 'element-ui'; // import "hi-ui/lib/hi-ui.css"; // import 'font-awesome/css/font-awesome.css' Vue.use(ELEMENT, { size: 'mini' }) import Message from './components/vue-m-message/index.js' // import { Message } from 'element-ui'; Vue.use(Message) // will mount `Vue.prototype.$message` import ZhcBirtCmps from 'zhc-birt-cmps' Vue.use(ZhcBirtCmps) import hiSetting from './hiSetting' import Cookies from 'js-cookie' import './assets/icon/iconfont.css'; import './styles/index.css'; import { setToken } from "./utils/auth.js"; // Vue.use(ElementUI) setToken(Cookies.get('EAP-Token') || '') import pinyin from 'js-pinyin' Vue.prototype.Pinyin = pinyin import md5 from 'js-md5' Vue.prototype.Md5 = md5 import { Loading } from 'element-ui'; Vue.prototype.Loading = Loading import axios from "./funclib/AxiosUtil"; Vue.prototype.$HI = { projectName: hiSetting.projectName, serverUrl: hiSetting.serverUrl, request: axios, queryOperate: 'like', pageSize: 20, saveUrl: hiSetting.saveUrl, queryUrl: hiSetting.queryUrl, querysUrl: hiSetting.querysUrl, datasetUrl: hiSetting.datasetUrl, upload: hiSetting.upload, download: hiSetting.download, review: hiSetting.review, getFlowInfo: hiSetting.getFlowInfo, getApprovalInfo: hiSetting.getApprovalInfo, processFlow: hiSetting.processFlow, queryTask: hiSetting.queryTask, withdrawtask: hiSetting.withdrawtask, taskDiagram: hiSetting.taskDiagram, openOrdernumber: hiSetting.openOrdernumber, policyUrl: hiSetting.policyUrl, enumsUrl: hiSetting.enumsUrl, birtModel: hiSetting.birtModel }; new Vue({ render: h => h(App), }).$mount('#app')
Ignore Space
Show notes
View
project/hivuiBirt/templates/pages/TreeTabTableQuery.js
/** * 左边树,右边网格明细查询 * @param {*} saveDataset 保存数据集,命名规范 ds_[数组下标]_[对话框id] * @param {*} conf 组件定义配置项 * @returns */ import { StringUtil } from "@birt/funclib/StringUtil.js"; import { treeEditFilter } from "../compose/org-tree-edit.jsx"; import { FormStyleFactory } from "../compose/FormStyleFactory.js"; import { TableStyleFactory } from "../compose/TableStyleFactory.js"; export function TreeTabTableQuery(conf) { const dlgId = StringUtil.randomString(6); // 设置数据集id var treeDataset = conf.treeDataset; var mainDataset = conf.mainDataset; var subDatasets = conf.subDatasets; // 编辑过滤树 let treeEdit = treeEditFilter(dlgId, treeDataset.controlId, conf.treeEditFilter); // 操作工具条 var hcFormToolbar = { controlName: "HcFormToolbar", controlId: "HcFormToolbar", dataset: mainDataset.controlId, layout: ["remove", "cancel", "save"], saveSucced:function(saveData){ // 获取树数据集 var dsTree = this.getWorkBook().dataset.dsTree // 清楚树数据 dsTree.clear() // 重新加载树数据集 dsTree.query() var node = this.getWorkBook().param.node var elTree = this.getRefCompt('HcTree_org') elTree.defaultExpandedKeys.push(node.data.FORGGUID) let parent = node.parent; while (parent) { elTree.defaultExpandedKeys.push(parent.data.FORGGUID) parent = parent.parent } }, size: "small", style: "padding:5px;" } // 人员form数据集不一样,另开一个工具条 var hcFormToolbarPsm = { controlName: "HcFormToolbar", controlId: "HcFormToolbarPsm", dataset: 'dsSubPsm', vshow: false, layout: ["remove", "cancel", "save"], saveSucced:function(saveData){ // 获取树数据集 var dsTree = this.getWorkBook().dataset.dsTree // 清楚树数据 dsTree.clear() // 重新加载树数据集 dsTree.query() var node = this.getWorkBook().param.node var elTree = this.getRefCompt('HcTree_org') elTree.defaultExpandedKeys.push(node.data.FORGGUID) let parent = node.parent; while (parent) { elTree.defaultExpandedKeys.push(parent.data.FORGGUID) parent = parent.parent } }, size: "small", style: "padding:5px;" } // 应用表单个性化配置 Object.assign(hcFormToolbar, conf.hcFormToolbar || {}); Object.assign(hcFormToolbarPsm, conf.hcFormToolbar || {}); // 编辑表单列表 let hcForms = false; if (conf.hcForms) { hcForms = []; conf.hcForms.forEach((frm, i) => { let hcForm = { controlName: "HcForm", controlId: "HcForm_" + i, dataset: i == 2 ? subDatasets[2].controlId : mainDataset.controlId, labelWidth: "80px", vshow: function () { return i == 0 }, rules: { }, children: [], }; // 应用表单个性化配置 Object.assign(hcForm, FormStyleFactory.buildForm(frm) || {}); hcForms.push(hcForm); }) } // 子节点网格 let hcTables = false; if (conf.hcTables) { hcTables = []; conf.hcTables.forEach((tbl, i) => { if (!(tbl.isEdit === false)) { tbl.isEdit = true; } var hcTable = TableStyleFactory.buildTable(i, subDatasets[i].controlId, { hcTable: Object.assign(tbl,{style: 'width: 100%'}) }); hcTables.push(hcTable); }) } // 子节点选项卡 var tabsChildren = [] hcTables.forEach((tbl,i)=>{ tabsChildren.push({ controlName: "HcTabPane", controlId: "HcTabPane_list_" + i, label: tbl.title || ("列表" + i), name: "list_" + i, disabled: i != 0, children: [].concat(hcTables[i]) }) }) var hcTabs = { controlName: "HcTabs", controlId: "HcTabs_org", tabPosition: "top", activeTabName: "list_0", style:'width: 100%;margin: auto;', events: { // click: function () { // } }, mounted(){ debugger }, children: [ ].concat(tabsChildren), } // 系统表单自动填充字段 var hcSysForm = false; if (conf.hcSysForm) { var hcSysForm = { controlName: "HcForm", controlId: "HcForm_sys_" + dlgId, dataset: mainDataset.controlId, labelWidth: "80px", rules: { }, children: [], }; // 应用系统字段表单个性化配置 Object.assign(hcSysForm, FormStyleFactory.buildForm(conf.hcSysForm) || {}); } // 应用报表模型 var birtWorkBook = Object.assign({ controlName: "BirtWorkBook", controlId: "BirtWorkBook_" + dlgId, showToolBar: false, totalPage: 1, renderType: "pages", height: function (parentHeight) { return parentHeight - 10; } }, conf.birtWorkBook || {}) // 添加布局结构 birtWorkBook.children = [{ controlName: "BirtSheet", controlId: "BirtSheet_" + dlgId, name: "sheet_" + dlgId, pageIndex: 0, dataSets: [treeDataset, mainDataset].concat(subDatasets), children: [{ controlName: "BirtFormSheet", controlId: "BirtFormSheet_" + dlgId, children: [{ controlName: "HcRow", gutter: 10, children: [ { controlName: "HcCol", span: 6, children: treeEdit, }, { controlName: "HcCol", controlId: "HcCol_01_right", span: 18, children: [] .concat(hcFormToolbar) .concat(hcFormToolbarPsm) .concat(hcForms) .concat(hcTabs) .concat(hcSysForm) } ] }] }] }] return birtWorkBook }
/** * 左边树,右边网格明细查询 * @param {*} saveDataset 保存数据集,命名规范 ds_[数组下标]_[对话框id] * @param {*} conf 组件定义配置项 * @returns */ import { StringUtil } from "@birt/funclib/StringUtil.js"; import { treeEditFilter } from "../compose/org-tree-edit.jsx"; import { FormStyleFactory } from "../compose/FormStyleFactory.js"; import { TableStyleFactory } from "../compose/TableStyleFactory.js"; export function TreeTabTableQuery(conf) { const dlgId = StringUtil.randomString(6); // 设置数据集id var treeDataset = conf.treeDataset; var mainDataset = conf.mainDataset; var subDatasets = conf.subDatasets; // 编辑过滤树 let treeEdit = treeEditFilter(dlgId, treeDataset.controlId, conf.treeEditFilter); // 操作工具条 var hcFormToolbar = { controlName: "HcFormToolbar", controlId: "HcFormToolbar", dataset: mainDataset.controlId, layout: ["remove", "cancel", "save"], saveSucced:function(saveData){ // 获取树数据集 var dsTree = this.getWorkBook().dataset.dsTree // 清楚树数据 dsTree.clear() // 重新加载树数据集 dsTree.query() var node = this.getWorkBook().param.node var elTree = this.getRefCompt('HcTree_org') elTree.defaultExpandedKeys.push(node.data.FORGGUID) let parent = node.parent; while (parent) { elTree.defaultExpandedKeys.push(parent.data.FORGGUID) parent = parent.parent } }, size: "small", style: "padding:5px;" } // 人员form数据集不一样,另开一个工具条 var hcFormToolbarPsm = { controlName: "HcFormToolbar", controlId: "HcFormToolbarPsm", dataset: 'dsSubPsm', vshow: false, layout: ["remove", "cancel", "save"], saveSucced:function(saveData){ // 获取树数据集 var dsTree = this.getWorkBook().dataset.dsTree // 清楚树数据 dsTree.clear() // 重新加载树数据集 dsTree.query() var node = this.getWorkBook().param.node var elTree = this.getRefCompt('HcTree_org') elTree.defaultExpandedKeys.push(node.data.FORGGUID) let parent = node.parent; while (parent) { elTree.defaultExpandedKeys.push(parent.data.FORGGUID) parent = parent.parent } }, size: "small", style: "padding:5px;" } // 应用表单个性化配置 Object.assign(hcFormToolbar, conf.hcFormToolbar || {}); Object.assign(hcFormToolbarPsm, conf.hcFormToolbar || {}); // 编辑表单列表 let hcForms = false; if (conf.hcForms) { hcForms = []; conf.hcForms.forEach((frm, i) => { let hcForm = { controlName: "HcForm", controlId: "HcForm_" + i, dataset: i == 2 ? subDatasets[2].controlId : mainDataset.controlId, labelWidth: "80px", vshow: function () { return i == 0 }, rules: { }, children: [], }; // 应用表单个性化配置 Object.assign(hcForm, FormStyleFactory.buildForm(frm) || {}); hcForms.push(hcForm); }) } // 子节点网格 let hcTables = false; if (conf.hcTables) { hcTables = []; conf.hcTables.forEach((tbl, i) => { if (!(tbl.isEdit === false)) { tbl.isEdit = true; } var hcTable = TableStyleFactory.buildTable(i, subDatasets[i].controlId, { hcTable: Object.assign(tbl,{style: 'width: 100%'}) }); hcTables.push(hcTable); }) } // 子节点选项卡 var tabsChildren = [] hcTables.forEach((tbl,i)=>{ tabsChildren.push({ controlName: "HcTabPane", controlId: "HcTabPane_list_" + i, label: tbl.title || ("列表" + i), name: "list_" + i, disabled: i != 0, children: [].concat(hcTables[i]) }) }) var hcTabs = { controlName: "HcTabs", controlId: "HcTabs_org", tabPosition: "top", activeTabName: "list_0", style:'width: 90%;margin: auto;', events: { // click: function () { // } }, mounted(){ debugger }, children: [ ].concat(tabsChildren), } // 系统表单自动填充字段 var hcSysForm = false; if (conf.hcSysForm) { var hcSysForm = { controlName: "HcForm", controlId: "HcForm_sys_" + dlgId, dataset: mainDataset.controlId, labelWidth: "80px", rules: { }, children: [], }; // 应用系统字段表单个性化配置 Object.assign(hcSysForm, FormStyleFactory.buildForm(conf.hcSysForm) || {}); } // 应用报表模型 var birtWorkBook = Object.assign({ controlName: "BirtWorkBook", controlId: "BirtWorkBook_" + dlgId, showToolBar: false, totalPage: 1, renderType: "pages", height: function (parentHeight) { return parentHeight - 10; } }, conf.birtWorkBook || {}) // 添加布局结构 birtWorkBook.children = [{ controlName: "BirtSheet", controlId: "BirtSheet_" + dlgId, name: "sheet_" + dlgId, pageIndex: 0, dataSets: [treeDataset, mainDataset].concat(subDatasets), children: [{ controlName: "BirtFormSheet", controlId: "BirtFormSheet_" + dlgId, children: [{ controlName: "HcRow", gutter: 10, children: [ { controlName: "HcCol", span: 6, children: treeEdit, }, { controlName: "HcCol", controlId: "HcCol_01_right", span: 18, children: [] .concat(hcFormToolbar) .concat(hcFormToolbarPsm) .concat(hcForms) .concat(hcTabs) .concat(hcSysForm) } ] }] }] }] return birtWorkBook }
Show line notes below