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
birt样式文件修改
master
1 parent
7dd05d7
commit
6d84ad5073ac3884c06e532ce443c63c958e32f8
hhb
authored
on 11 Feb 2022
Showing
3 changed files
project/hivuiBirt/styles/index.css
project/hivuiBirt/templates/compose/org-tree-edit.jsx
project/hivuiBirt/templates/pages/TreeTabTableQuery.js
Ignore Space
Show notes
View
project/hivuiBirt/styles/index.css
.custom-tree-node { flex: 1; display: flex; align-items: center; justify-content: space-between; font-size: 14px; padding-right: 8px; width: 80%; flex: 1 140px; } .custom-tree-node > span:nth-child(1){ overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .custom-tree-node .btn{ opacity: 0; transition: opacity 0.5s; -webkit-transition: opacity 0.5s; } .custom-tree-node:hover .btn{ opacity: 1; } .custom-tree-node .btn .el-icon-edit{ color: #67c23a; } .custom-tree-node .btn .el-icon-delete{ color: #f56c6c; } .cell .el-input-group__append{ padding: 0 5px !important; } /* .el-form-item__error{ line-height: 0; } */ .el-row>.zhc-birt-cell-children>.el-button { border: none; border-right: 1px solid #ddd; border-radius: 0; padding: 5px 15px; } /* 整个滚动条 */ ::-webkit-scrollbar { width: 8px; height: 10px; } /* 滚动条上的滚动滑块 */ ::-webkit-scrollbar-thumb { /* background-color: #49b1f5; */ /* 关键代码 */ /* background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.4) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.4) 75%, transparent 75%, transparent); */ background-color: rgba(0,0,0,.3); border-radius: 32px; } /* 滚动条轨道 */ ::-webkit-scrollbar-track { background-color: #dbeffd; border-radius: 32px; } .custom-tree-node .el-icon-folder-opened,.el-icon-folder{ color: #ffc107; } .custom-tree-node .el-icon-document{ color: #009688; } .custom-tree-node .icon-root{ color: blue; } .custom-tree-node .icon-ptm{ color: royalblue; } .custom-tree-node .el-icon-user{ color: coral;; } .custom-tree-node .icon-org, .icon-func{ color: aqua; } .custom-tree-node .icon-dpt, .icon-flow{ color: deepskyblue; } .custom-tree-node .el-button.is-disabled i{ color: #C0C4CC !important; cursor: not-allowed; } .el-table__header-wrapper th.isrequired ::before{ content: '*'; color: red; margin-right: 5px; } .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content { background-color: #f0f7ff; color: #2355f1; } /* 取消查找定义input红色边框 */ .el-form-item.is-error .queryPanel .el-input__inner, .el-form-item.is-error .el-pagination__sizes .el-input__inner, .el-form-item.is-error .el-pagination__jump .el-input__inner{ border-color: #DCDFE6; } /* 弹框样式 */ .el-dialog__body .el-main{ padding: 0; } .el-dialog .queryPanel .zhc-birt-data-list thead { display: none; } /* tabs */ .el-tabs--left .el-tabs__item, .el-tabs--right .el-tabs__item{ width: 60px; line-height: 24px; height: auto; word-wrap: break-word; white-space: pre-line; padding-bottom: 20px; } .el-tabs--right .el-tabs__item{ width: 40px; } .el-tabs--left, .el-tabs--right{ height: auto !important; } .el-tabs--right .queryPanel + div .el-button { margin-right: 10px; }
.custom-tree-node { flex: 1; display: flex; align-items: center; justify-content: space-between; font-size: 14px; padding-right: 8px; width: 80%; flex: 1 140px; } .custom-tree-node > span:nth-child(1){ overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .custom-tree-node .btn{ opacity: 0; transition: opacity 0.5s; -webkit-transition: opacity 0.5s; } .custom-tree-node:hover .btn{ opacity: 1; } .custom-tree-node .btn .el-icon-edit{ color: #67c23a; } .custom-tree-node .btn .el-icon-delete{ color: #f56c6c; } .el-input-group__append{ padding: 0 10px !important; } /* .el-form-item__error{ line-height: 0; } */ .el-row>.zhc-birt-cell-children>.el-button { border: none; border-right: 1px solid #ddd; border-radius: 0; padding: 5px 15px; } /* 整个滚动条 */ ::-webkit-scrollbar { width: 8px; height: 10px; } /* 滚动条上的滚动滑块 */ ::-webkit-scrollbar-thumb { /* background-color: #49b1f5; */ /* 关键代码 */ /* background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.4) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.4) 75%, transparent 75%, transparent); */ background-color: rgba(0,0,0,.3); border-radius: 32px; } /* 滚动条轨道 */ ::-webkit-scrollbar-track { background-color: #dbeffd; border-radius: 32px; } .el-icon-folder-opened,.el-icon-folder{ color: #ffc107; } .el-icon-document{ color: #009688; } .icon-root{ color: blue; } .icon-ptm{ color: royalblue; } .icon-org, .icon-func{ color: aqua; } .icon-dpt, .icon-flow{ color: deepskyblue; } .el-table__header-wrapper th.isrequired ::before{ content: '*'; color: red; margin-right: 5px; } .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content { background-color: #f0f7ff; color: #2355f1; } /* 取消查找定义input红色边框 */ .el-form-item.is-error .queryPanel .el-input__inner, .el-form-item.is-error .zhc-birt-data-list .el-input__inner, .el-form-item.is-error .el-pagination__sizes .el-input__inner, .el-form-item.is-error .el-pagination__jump .el-input__inner{ border-color: #DCDFE6; } /* 弹框样式 */ .el-dialog__body .el-main{ padding: 0; } .el-dialog .queryPanel .zhc-birt-data-list thead { display: none; } /* tabs */ .el-tabs--left .el-tabs__item, .el-tabs--right .el-tabs__item{ width: 40px; line-height: 24px; height: auto; word-wrap: break-word; white-space: pre-line; padding-bottom: 20px; } .el-tabs--left, .el-tabs--right{ height: auto !important; } .el-tabs--right .queryPanel + div .el-button { margin-right: 10px; } .m-message-container{ z-index: 3011; }
Ignore Space
Show notes
View
project/hivuiBirt/templates/compose/org-tree-edit.jsx
/** * 树型组件编辑:新增、修改、删除,根据名称过滤节点操作 * @param {*} dlgId 对话框随机id,防止id冲突与数据集id统一命名引用 * @param {*} dsId 绑定过滤数据集ID * @param {*} option 扩展选项 * @returns */ import pinyin from "pinyin"; import { JsonUtil } from "@birt/funclib/JsonUtil" export function treeEditFilter(dlgId, dsId, option) { debugger let filterField = option.hcTree.labelField; let lazy = option.hcTree.lazy; let fireAction = lazy ? "" : "keyup"; let treeId = "HcTree_org"; // 过滤编辑器 let inputFilter = { controlName: "HcInputFilter", controlId: "HcInputFilter_" + dlgId, size: "small", fireAction: fireAction, events: { filterChange: function (filterKey) { this.getRefCompt(treeId).filter( filterKey ); }, } }; // 删除 let btnDeleteId = "HcLookup_delete_" + dlgId; let buttonDelete = { controlName: "HcLookup", controlId: btnDeleteId, dataset: dsId, lookDialog: { footer: ["cancel", "delete"], // events: { // deleted:function() { // var _this = this.getWorkBook().dataset[dsId] // var vm = this // setDatas(_this, vm, 'delete') // }, // }, }, children: [ { controlName: "HcButton", title: "删除", icon: "el-icon-delete", size: "mini", style: "float:left;margin-left:5px;width:80px;", vshow: false, events: { click: function () { debugger let treeMenu = this.getRefCompt(treeId); let currentRow = treeMenu.elTree().getCurrentNode(); if (!currentRow || currentRow._isVirtualRoot) { this.$message({ message: '请选择要删除的节点', type: 'warning' }); return; } let btnDelete = this.getRefCompt(btnDeleteId); let pushRecd = btnDelete.getPushAddMapRecds(currentRow); let pushParam = { pushType: "delete", dataset: btnDelete.lookDataset.dataset, // data: [pushRecd] }; Object.assign(pushParam,pushRecd); btnDelete.openLookDialog({ __push: pushParam }) }, }, } ] } function remove(node,data,store,_this){ debugger let wb = _this.getWorkBook(); wb.param.node = node wb.param.treeData = data let btnDelete = _this.getRefCompt(btnDeleteId); var pushRecd = data; var pushParam = { pushType: "delete", dataset: btnDelete.lookDataset.dataset, data: [pushRecd] }; Object.assign(pushParam,pushRecd); btnDelete.openLookDialog({ __push: pushParam }) } JsonUtil.deepMerge(buttonDelete, option.hcLookupDelete); JsonUtil.deepMerge(buttonDelete, option.hcLookup); // 编辑树型按钮工具条 let treeEditToolbar = { controlName: "HcRow", style: "margin-top:5px;", children: [ buttonDelete, ] } // 编辑树组件 let hcTree = { controlName: "HcTree", controlId: treeId, dataset: dsId, labelField: filterField, // defaultExpandAll: true, // accordion: true, highlightCurrent: true, expandOnClickNode: false, lazy: false, filterNodeMethod:function(value, data,node) { if (!value){ return true }else{ let key =node.label +"_" + pinyin.getCamelChars(node.label); return key.indexOf(value.toUpperCase()) !== -1; } }, height: function (parentHeight) { return parentHeight - 80; }, style: "overflow: auto;border:1px solid rgb(235, 238, 245);margin-top: 5px;", renderContent(h, { node, data, store}) { var _this = this var iconClass = '' switch (data.FORGKIND) { case '.ROOT': iconClass = 'iconfont icon-root' break; case '.ORG': iconClass = 'iconfont icon-org' break; case '.DPT': iconClass = 'iconfont icon-dpt' break; case '.PTM': iconClass = 'iconfont icon-ptm' break; case '.PSM': iconClass = 'el-icon-user' break; default: iconClass = '' break; } return ( <span class="custom-tree-node"> <span title={data.FORGKINDNAME}> <i class={iconClass}></i> {node.label} </span> {/* <span class="btn"> <el-button size="large" title="删除" type="text" icon="el-icon-delete" on-click={ () => remove(node,data,store,_this) }></el-button> </span> */} </span>); } }; // 应用树个性化配置 Object.assign(hcTree, option.hcTree); // 返回布局结构 return [ inputFilter, treeEditToolbar, hcTree ] }
/** * 树型组件编辑:新增、修改、删除,根据名称过滤节点操作 * @param {*} dlgId 对话框随机id,防止id冲突与数据集id统一命名引用 * @param {*} dsId 绑定过滤数据集ID * @param {*} option 扩展选项 * @returns */ import pinyin from "pinyin"; export function treeEditFilter(dlgId, dsId, option) { let filterField = option.hcTree.labelField; let lazy = option.hcTree.lazy; let fireAction = lazy ? "" : "keyup"; let treeId = "HcTree_org"; // 过滤编辑器 let inputFilter = { controlName: "HcInputFilter", controlId: "HcInputFilter_" + dlgId, size: "small", fireAction: fireAction, events: { filterChange: function (filterKey) { this.getRefCompt(treeId).filter( filterKey ); }, } }; // 编辑树组件 let hcTree = { controlName: "HcTree", controlId: treeId, dataset: dsId, labelField: filterField, // defaultExpandAll: true, // accordion: true, highlightCurrent: true, expandOnClickNode: false, lazy: false, filterNodeMethod:function(value, data,node) { if (!value){ return true }else{ let key =node.label +"_" + pinyin.getCamelChars(node.label); return key.indexOf(value.toUpperCase()) !== -1; } }, height: function (parentHeight) { return parentHeight - 80; }, renderContent(h, { node, data, store}) { var _this = this var iconClass = '' switch (data.FORGKIND) { case '.ROOT': iconClass = 'iconfont icon-root' break; case '.ORG': iconClass = 'iconfont icon-org' break; case '.DPT': iconClass = 'iconfont icon-dpt' break; case '.PTM': iconClass = 'iconfont icon-ptm' break; default: iconClass = '' break; } return ( <span class="custom-tree-node"> <span title={data.FORGKINDNAME}> <i class={iconClass}></i> {node.label} </span> </span>); } }; // 应用树个性化配置 Object.assign(hcTree, option.hcTree); // 返回布局结构 return [ inputFilter, hcTree ] }
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"; import { BirtModelFactory } from "../BirtModelFactory"; 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); let treeChildren = treeEdit[1].children if(treeChildren){ treeChildren.map(item =>{ let birtModel = { birtModel: item.birtModel } item.birtModel = BirtModelFactory.buildModel(birtModel) return item }) } // 操作工具条 var hcFormToolbar = { controlName: "HcFormToolbar", controlId: "HcFormToolbar", dataset: mainDataset.controlId, layout: ["cancel", "save"], saveSucced:function(saveData){ debugger // 获取树数据集 let wb = this.getWorkBook() var dsTree = wb.dataset.dsTree // 清除树数据 dsTree.clear() // 重新加载树数据集 dsTree.query() var node = wb.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 } // 更新右边form的当前值 let dsSubPsm = wb.dataset.dsSubPsm let dsMain = wb.dataset.dsMain; if(node.data.FORGKIND == '.PSM'){ dsSubPsm.load({ join: "and", items: [{ sign: "eq", name: "FORGGUID", dataType: "string", value: node.data.FORGGUID, enable: true, }] }) }else{ dsMain.load({ join: "and", items: [{ sign: "eq", name: "FORGGUID", dataType: "string", value: node.data.FORGGUID, enable: true, }] }) } }, doSave:function(){ debugger var cData = this.store.getCurtRecord() var curtData = JSON.parse(JSON.stringify(cData)) // 禁用父节点时子节点同步禁用 if(curtData.FSTATE){ if(curtData.SysOrgBizEntityChildren && curtData.SysOrgBizEntityChildren.length > 0){ for(var i = 0; i < curtData.SysOrgBizEntityChildren.length; i++){ curtData.SysOrgBizEntityChildren[i].FSTATE = 0 } } if(curtData.SysOrgPtmEntityChildren && curtData.SysOrgPtmEntityChildren.length > 0){ for(var i = 0; i < curtData.SysOrgPtmEntityChildren.length; i++){ curtData.SysOrgPtmEntityChildren[i].FSTATE = 0 } } if(curtData.SysOrgPsmEntityChildren && curtData.SysOrgPsmEntityChildren.length > 0){ for(var i = 0; i < curtData.SysOrgPsmEntityChildren.length; i++){ curtData.SysOrgPsmEntityChildren[i].FSTATE = 0 } } this.store.setCurtRecord(curtData) } // 父节点idpath修改后,子节点idpath随之改变 var saveData = this._getSaveData(this.stores) if(saveData && saveData[0].data[0].FORGIDPATH){ if(curtData.SysOrgBizEntityChildren && curtData.SysOrgBizEntityChildren.length > 0){ for(var i = 0; i < curtData.SysOrgBizEntityChildren.length; i++){ var idpath = curtData.SysOrgBizEntityChildren[i].FORGIDPATH var arr = idpath.split('/') var newpath = curtData.FORGIDPATH + '/' + arr[arr.length - 1] curtData.SysOrgBizEntityChildren[i].FORGIDPATH = newpath } } if(curtData.SysOrgPtmEntityChildren && curtData.SysOrgPtmEntityChildren.length > 0){ for(var i = 0; i < curtData.SysOrgPtmEntityChildren.length; i++){ var idpath = curtData.SysOrgPtmEntityChildren[i].FORGIDPATH var arr = idpath.split('/') var newpath = curtData.FORGIDPATH + '/' + arr[arr.length - 1] curtData.SysOrgPtmEntityChildren[i].FORGIDPATH = newpath } } if(curtData.SysOrgPsmEntityChildren && curtData.SysOrgPsmEntityChildren.length > 0){ for(var i = 0; i < curtData.SysOrgPsmEntityChildren.length; i++){ var idpath = curtData.SysOrgPsmEntityChildren[i].FORGIDPATH var arr = idpath.split('/') var newpath = curtData.FORGIDPATH + '/' + arr[arr.length - 1] curtData.SysOrgPsmEntityChildren[i].FORGIDPATH = newpath } } var dirtData = saveData[0].data[0] if(dirtData.SysOrgBizEntityChildren && dirtData.SysOrgBizEntityChildren.data.length > 0){ for(var i = 0; i < dirtData.SysOrgBizEntityChildren.data.length; i++){ var idpath = dirtData.SysOrgBizEntityChildren.data[i].FORGIDPATH var arr = idpath.split('/') var newpath = dirtData.FORGIDPATH + '/' + arr[arr.length - 1] dirtData.SysOrgBizEntityChildren.data[i].FORGIDPATH = newpath } } if(dirtData.SysOrgPtmEntityChildren && dirtData.SysOrgPtmEntityChildren.data.length > 0){ for(var i = 0; i < dirtData.SysOrgPtmEntityChildren.data.length; i++){ var idpath = dirtData.SysOrgPtmEntityChildren.data[i].FORGIDPATH var arr = idpath.split('/') var newpath = dirtData.FORGIDPATH + '/' + arr[arr.length - 1] dirtData.SysOrgPtmEntityChildren.data[i].FORGIDPATH = newpath } } if(dirtData.SysOrgPsmEntityChildren && dirtData.SysOrgPsmEntityChildren.data.length > 0){ for(var i = 0; i < dirtData.SysOrgPsmEntityChildren.data.length; i++){ var idpath = dirtData.SysOrgPsmEntityChildren.data[i].FORGIDPATH var arr = idpath.split('/') var newpath = dirtData.FORGIDPATH + '/' + arr[arr.length - 1] dirtData.SysOrgPsmEntityChildren.data[i].FORGIDPATH = newpath } } saveData[0].data[0] = dirtData this.axios.post(this.saveUrl, { __body: JSON.stringify(saveData), __version: "1.0.0" }).then((res) => { // 保存成功回调 this.store.setCurtRecord(curtData) this._afterSaveSucced(this.stores, this.saveSucced, saveData, res); }); }else{ this.save({}, this.saveSucced); } }, size: "mini", style: "padding:5px;" } // 人员form数据集不一样,另开一个工具条 var hcFormToolbarPsm = { controlName: "HcFormToolbar", controlId: "HcFormToolbarPsm", dataset: 'dsSubPsm', vshow: false, layout: ["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: "mini", 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%',height: function (parentHeight) { return parentHeight - 450; }}) }); 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 }
/** * 左边树,右边网格明细查询 * @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); let treeChildren = treeEdit[1].children if(treeChildren){ treeChildren.map(item =>{ let birtModel = { birtModel: item.birtModel } item.birtModel = BirtModelFactory.buildModel(birtModel) return item }) } // 操作工具条 var hcFormToolbar = { controlName: "HcFormToolbar", controlId: "HcFormToolbar", dataset: mainDataset.controlId, layout: ["cancel", "save"], saveSucced:function(saveData){ debugger // 获取树数据集 let wb = this.getWorkBook() var dsTree = wb.dataset.dsTree // 清除树数据 dsTree.clear() // 重新加载树数据集 dsTree.query() var node = wb.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 } // 更新右边form的当前值 let dsSubPsm = wb.dataset.dsSubPsm let dsMain = wb.dataset.dsMain; if(node.data.FORGKIND == '.PSM'){ dsSubPsm.load({ join: "and", items: [{ sign: "eq", name: "FORGGUID", dataType: "string", value: node.data.FORGGUID, enable: true, }] }) }else{ dsMain.load({ join: "and", items: [{ sign: "eq", name: "FORGGUID", dataType: "string", value: node.data.FORGGUID, enable: true, }] }) } }, doSave:function(){ debugger var curtData = this.store.getCurtRecord() // 禁用父节点时子节点同步禁用 if(curtData.FSTATE){ if(curtData.SysOrgBizEntityChildren && curtData.SysOrgBizEntityChildren.length > 0){ for(var i = 0; i < curtData.SysOrgBizEntityChildren.length; i++){ curtData.SysOrgBizEntityChildren[i].FSTATE = 0 } } if(curtData.SysOrgPtmEntityChildren && curtData.SysOrgPtmEntityChildren.length > 0){ for(var i = 0; i < curtData.SysOrgPtmEntityChildren.length; i++){ curtData.SysOrgPtmEntityChildren[i].FSTATE = 0 } } if(curtData.SysOrgPsmEntityChildren && curtData.SysOrgPsmEntityChildren.length > 0){ for(var i = 0; i < curtData.SysOrgPsmEntityChildren.length; i++){ curtData.SysOrgPsmEntityChildren[i].FSTATE = 0 } } this.store.setCurtRecord(curtData) } // 父节点idpath修改后,子节点idpath随之改变 var saveData = this._getSaveData(this.stores) if(saveData && saveData[0].data[0].FORGIDPATH){ if(curtData.SysOrgBizEntityChildren && curtData.SysOrgBizEntityChildren.length > 0){ for(var i = 0; i < curtData.SysOrgBizEntityChildren.length; i++){ var idpath = curtData.SysOrgBizEntityChildren[i].FORGIDPATH var arr = idpath.split('/') var newpath = curtData.FORGIDPATH + '/' + arr[arr.length - 1] curtData.SysOrgBizEntityChildren[i].FORGIDPATH = newpath } } if(curtData.SysOrgPtmEntityChildren && curtData.SysOrgPtmEntityChildren.length > 0){ for(var i = 0; i < curtData.SysOrgPtmEntityChildren.length; i++){ var idpath = curtData.SysOrgPtmEntityChildren[i].FORGIDPATH var arr = idpath.split('/') var newpath = curtData.FORGIDPATH + '/' + arr[arr.length - 1] curtData.SysOrgPtmEntityChildren[i].FORGIDPATH = newpath } } if(curtData.SysOrgPsmEntityChildren && curtData.SysOrgPsmEntityChildren.length > 0){ for(var i = 0; i < curtData.SysOrgPsmEntityChildren.length; i++){ var idpath = curtData.SysOrgPsmEntityChildren[i].FORGIDPATH var arr = idpath.split('/') var newpath = curtData.FORGIDPATH + '/' + arr[arr.length - 1] curtData.SysOrgPsmEntityChildren[i].FORGIDPATH = newpath } } var dirtData = saveData[0].data[0] if(dirtData.SysOrgBizEntityChildren && dirtData.SysOrgBizEntityChildren.data.length > 0){ for(var i = 0; i < dirtData.SysOrgBizEntityChildren.data.length; i++){ var idpath = dirtData.SysOrgBizEntityChildren.data[i].FORGIDPATH var arr = idpath.split('/') var newpath = dirtData.FORGIDPATH + '/' + arr[arr.length - 1] dirtData.SysOrgBizEntityChildren.data[i].FORGIDPATH = newpath } } if(dirtData.SysOrgPtmEntityChildren && dirtData.SysOrgPtmEntityChildren.data.length > 0){ for(var i = 0; i < dirtData.SysOrgPtmEntityChildren.data.length; i++){ var idpath = dirtData.SysOrgPtmEntityChildren.data[i].FORGIDPATH var arr = idpath.split('/') var newpath = dirtData.FORGIDPATH + '/' + arr[arr.length - 1] dirtData.SysOrgPtmEntityChildren.data[i].FORGIDPATH = newpath } } if(dirtData.SysOrgPsmEntityChildren && dirtData.SysOrgPsmEntityChildren.data.length > 0){ for(var i = 0; i < dirtData.SysOrgPsmEntityChildren.data.length; i++){ var idpath = dirtData.SysOrgPsmEntityChildren.data[i].FORGIDPATH var arr = idpath.split('/') var newpath = dirtData.FORGIDPATH + '/' + arr[arr.length - 1] dirtData.SysOrgPsmEntityChildren.data[i].FORGIDPATH = newpath } } saveData[0].data[0] = dirtData this.axios.post(this.saveUrl, { __body: JSON.stringify(saveData), __version: "1.0.0" }).then((res) => { // 保存成功回调 this._afterSaveSucced(this.stores, this.saveSucced, saveData, res); }); this.store.setCurtRecord(curtData) }else{ this.save({}, this.saveSucced); } }, size: "mini", style: "padding:5px;" } // 人员form数据集不一样,另开一个工具条 var hcFormToolbarPsm = { controlName: "HcFormToolbar", controlId: "HcFormToolbarPsm", dataset: 'dsSubPsm', vshow: false, layout: ["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: "mini", 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%',height: function (parentHeight) { return parentHeight - 450; }}) }); 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