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
@中文描述:新增iframe对话框用于显示2.0批处理界面
@版本号: @升级登记:1 @同步后端:0 @同步数据库:0 @同步配置:0 @向下兼容:1
master
1 parent
9568d3f
commit
1063f69ae17389e7832040838f57b62e9f15b17b
ganyi
authored
25 days ago
Showing
1 changed file
project/hivuiMain/views/taskCenter.vue
Ignore Space
Show notes
View
project/hivuiMain/views/taskCenter.vue
<template> <div class="taskCenter"> <template v-if="batchIframeUrl"> <hi-taskcenter ref="hiTask" @openfunc="openfunc" @openmonitor="openmonitorFn" :batchProcessFn="batchProcessFn" :batchProcessFunc="batchProcessFuncFn" :syncBatch="syncBatch" style=" background-color: #fff; padding-top: 10px; box-sizing: border-box; " > </hi-taskcenter> <el-dialog ref="batch" :title="batchTitleDialog" append-to-body v-if="visiblebatch" :visible.sync="visiblebatch" > <iframe ref="batchIframe" :src="batchIframeUrl" width="100%" height="340px" frameborder="0" @load="iframeLoaded" ></iframe> </el-dialog> </template> <template v-else> <hi-taskcenter ref="hiTask" @openfunc="openfunc" @openmonitor="openmonitorFn" :batchProcessFunc="batchProcessFuncFn" :syncBatch="syncBatch" style=" background-color: #fff; padding-top: 10px; box-sizing: border-box; " > </hi-taskcenter> </template> </div> </template> <script> import "hi-taskcenter/hi-taskcenter.css"; import HiTaskcenter from "hi-taskcenter"; import { getToken } from "@main/utils/auth"; export default { components: { HiTaskcenter, }, data() { return { // 同步请求批处理 syncBatch: HIVUI_SETTING.syncBatch, visiblebatch: false, batchTitle: "", batchIframeUrl: "", // 缓存批处理参数 batchParams: { method: "", batchData: [], }, testData: [ { forderguid: "438862b5e0f54cdfa81994d283983d91", fwithdraw: false, flowstate: "tsProcessing", fusername: "张景茂", fbzid: "00274", ftaskurgentlevel: "一般", fcreatorid: "20355", fsummaryinfo: "20355/吴海文/AF.80 申请事假0.125天,从2026-01-27 14:13:00到2026-01-27 17:14:00止", fversion: "1.0.0", fmodelpath: "fdszh/BanGongGuanLi/QingJiaShenQing/flow/QingJiaShenQingXinZeng.flow", fisphone: 2, ftime: "2026-01-27 11:14:06", fcreatorname: "吴海文", fpdisplayname: "请假申请", fdisplayname: "直属上级审批", fordernumber: "QZHR-260127-1003", forderstate: 0, freadstate: 0, fuserid: "00274", ftaskname: "TaskUnit_nG5ifZUs", fcreatorbz: "20355", ftaskguid: "61633b650c8f428684d335ea168d954c", fstate: "tsTask", FGUID: "1ad3a3fc-d485-46b7-8aa1-934cb1408f1d", fbatch: true, }, { forderguid: "3ee43c420ec0422280b4a75e02a1f281", fwithdraw: false, flowstate: "tsProcessing", fusername: "张景茂", fbzid: "00274", ftaskurgentlevel: "一般", fcreatorid: "20355", fsummaryinfo: "20355/吴海文/AF.80 申请事假0.125天,从2026-01-27 11:13:41到2026-01-27 12:13:00止", fversion: "1.0.0", fmodelpath: "fdszh/BanGongGuanLi/QingJiaShenQing/flow/QingJiaShenQingXinZeng.flow", fisphone: 2, ftime: "2026-01-27 11:13:47", fcreatorname: "吴海文", fpdisplayname: "请假申请", fdisplayname: "直属上级审批", fordernumber: "QZHR-260127-1002", forderstate: 0, freadstate: 0, fuserid: "00274", ftaskname: "TaskUnit_nG5ifZUs", fcreatorbz: "20355", ftaskguid: "5eea811916e84b6cb6451309d711857c", fstate: "tsTask", FGUID: "a86e5413-ae70-45d5-a8c5-eb3b7f70f757", fbatch: true, }, { FDATE: "更早", FNOW: "2026-06-25T17:06:29.193+0000", FGUID: "16dc6ebb-497a-4508-a717-097634c96e76", FPARENTID: "16dc6ebb-497a-4508-a717-097634c96e76", FSTATE: "tsStarted", FGRADE: 3, FPROCURL: "/eap/cwgl/fygl/fyft/fyftd", FCREATETIME: "2026-03-26T04:00:43.130+0000", FFINISHTIME: null, FLIMITTIME: "2026-03-26T04:00:43.130+0000", FRECEIVETIME: "2026-03-26T04:00:43.130+0000", FOVERTIME: null, FSTARTTIME: "2026-03-26T04:00:43.130+0000", FKIND: "ftkActivity", FPROCUNITID: "ProcActivity17", FSOGNID: "", FSOGNNAME: "", FSDEPTID: "AJ.04.18.01", FSDEPTNAME: "AJ.04.18.01", FSPOSITIONID: "HQRY", FSPOSITIONNAME: "备货专员", FSPERSONID: "03870/苏娟", FSPERSONNAME: "苏娟", FPRIORITY: "tpNormal", FFUNCURL: null, FEXECUTEMODE: "emSimultaneous", FPREEMPTMODE: "omFirstOpen", FVALUE: 1, FAUTOTYPE: 0, FC1: null, FC2: null, FC3: null, FRECEIVEDEPTID: "AF", FRECEIVEDEPTNAME: "计算机部", FRECEIVEPERSONID: "00274", FRECEIVEPERSONNAME: "张景茂", FRECEIVEPOSITIONID: "GJJL", FRECEIVEPOSITIONNAME: "技术计算机", FRECEIVEURL: "ORG:\\ORGANIZE.OGNROOT\\FD.OGN\\AF.DPT\\GJJL.PTM\\00274.PSM", FEXECUTESTATE: "esUnknown", FRECEIVEORGID: "00274", FRECEIVEORGNAME: "张景茂", FDESCRIPTION: null, FADJUNCT: null, FFLOWGUID: "601f99f0-8bf7-431f-88c5-38a03fbd211f", FAUDITPOINT: null, FPROCNAME: "费用分摊单审批", FSENDERURL: "ORG:\\ORGANIZE.OGNROOT\\FD.OGN\\AJ.DPT\\AJ.04.DPT\\AJ.04.18.DPT\\AJ.04.18.01.DPT\\HQRY.PTM\\03870.PSM", FSENDERORGID: "03870", FSENDERORGNAME: "苏娟", FPREVGUID: "d1541459-d6a3-4423-9508-3da5e725bd4a", FNEXTGUID: "-1", FMOBILE: null, FSUBJECT: "费用分摊单审批:费用分摊单[FTFM-260326-1003]", FBIZKIND: null, FEXECUTEMODE2: null, FFGUID: "601f99f0-8bf7-431f-88c5-38a03fbd211f", FVERSION: "1.1", FFlowName: "费用分摊单", FDESCRIPTION2: "03870/苏娟/AJ.04.18.01费用报销¥1,100.00元", FKEYVALUE: "FTFM-260326-1003", RID: 42, FCOLLECTTIME: "26-03-26", furl: "http://smart.fdauto.com:2222/smart/eap/cwgl/fygl/fyft/fyftd.work?__TASKGUID=16dc6ebb-497a-4508-a717-097634c96e76&__PARENTGUID=16dc6ebb-497a-4508-a717-097634c96e76&__FLOWGUID=601f99f0-8bf7-431f-88c5-38a03fbd211f&__PROCUNITID=ProcActivity17&__workVersion=1.1&__type=需处理&__orgId=00274", ftaskguid: "16dc6ebb-497a-4508-a717-097634c96e76", fbatch: 1, fcreatorname: "苏娟", fsummaryinfo: "费用分摊单审批:费用分摊单[FTFM-260326-1003]", fusername: "苏娟", fuserid: "03870", ftime: "2026-03-26 12:00:43", fordernumber: "FTFM-260326-1003", fpdisplayname: "费用分摊单", fdisplayname: "费用分摊单审批", }, ], }; }, computed: { batchTitleDialog() { return "任务批处理" + this.batchTitle; }, }, mounted() { let me = this; if (top.window.customSysCofig.batchIframeUrl) { me.batchIframeUrl = top.window.customSysCofig.batchIframeUrl; } document.addEventListener("iframeActiving", function (e) { //console.log(e.detail); if (top.window.__refreshTaskcenter) { top.window.__refreshTaskcenter = false; me.$refs.hiTask.taskschemeItemClick({ value: "untreated", label: me.$t("hivuiMain_taskcenter_untreated"), sel: true, }); } }); window.addEventListener("message", this.handleIframeMsg); }, beforeDestroy() { window.removeEventListener("message", this.handleIframeMsg); }, methods: { openfunc(__data1, __data2, __data3) { if (__data2.furl) { if ( top.window.customSysCofig.taskcenterCustomeropen && typeof top.window.customSysCofig.taskcenterCustomeropen == "function" ) { top.window.customSysCofig.taskcenterCustomeropen.call(this, __data2); } else { top.window.open(__data2.furl); } } else { top.window.SysPage.newPage( __data2.fpdisplayname, location.origin + (window._global ? "" : window.HIVUI_SETTING.serverName) + "/" + __data2.fmodelpath, { fmodelpath: __data2.fmodelpath, version: __data2.fversion, ftaskguid: __data2.ftaskguid, flowstate: __data2.flowstate, forderguid: __data2.forderguid, fnumber: __data2.fordernumber, fbzid: __data2.fbzid, pn: window.HIVUI_SETTING.projectName, } ); } }, openmonitorFn(_this, __data2) { //流程监控 if (__data2 && __data2.furl) { if ( top.window.customSysCofig.taskcenterCustomeropenmonitor && typeof top.window.customSysCofig.taskcenterCustomeropenmonitor == "function" ) { top.window.customSysCofig.taskcenterCustomeropenmonitor.call( this, _this, __data2 ); } } }, // 批处理 batchProcessFuncFn(config) { if (config.row && config.row.furl) { if ( top.window.customSysCofig.taskcenterbatchProcess && typeof top.window.customSysCofig.taskcenterbatchProcess == "function" ) { return top.window.customSysCofig.taskcenterbatchProcess.call( this, this.$refs.hiTask, config ); } } else { return this.$refs.hiTask.processFlow(config); } }, // iframe加载完成后发送批量数据 iframeLoaded() { const iframe = this.$refs.batchIframe; if (!iframe || !iframe.contentWindow) return; // 向子页面传递选中的批处理数据 iframe.contentWindow.postMessage( { type: "refreshTable", serverUrl: window.HIVUI_SETTING.serverUrl, pn: window.HIVUI_SETTING.projectName, method: this.batchParams.method, list: this.testData, token: getToken(), }, "*" ); }, // 接收子页面回调 handleIframeMsg(e) { // if (e.origin !== this.iframeOrigin) return; console.log("接收子页面回调", e); const data = e.data; if (data.type === "batchFinish") { // this.visiblebatch = false; // 刷新任务列表 this.$refs.hiTask.taskschemeItemClick({ value: "untreated", label: this.$t("hivuiMain_taskcenter_untreated"), sel: true, }); } }, // 批处理入口:缓存两个参数 batchProcessFn(method, batchData) { console.log(method, batchData); this.batchTitle = method == "flowOut" ? "(流转)" : "(回退)"; this.batchParams = { method, batchData, }; this.visiblebatch = true; }, }, }; </script> <style scoped> .taskCenter { height: 100%; } </style>
<template> <hi-taskcenter ref="hiTask" @openfunc="openfunc" @openmonitor="openmonitorFn" :batchProcessFunc="batchProcessFuncFn" :syncBatch="syncBatch" style="background-color:#fff;padding-top:10px;box-sizing:border-box;"></hi-taskcenter> </template> <script> import "hi-taskcenter/hi-taskcenter.css"; import HiTaskcenter from "hi-taskcenter"; export default { components: { HiTaskcenter, }, data() { return { // 同步请求批处理 syncBatch: HIVUI_SETTING.syncBatch, }; }, mounted() { let me = this; document.addEventListener("iframeActiving", function (e) { //console.log(e.detail); if (top.window.__refreshTaskcenter) { top.window.__refreshTaskcenter = false; me.$refs.hiTask.taskschemeItemClick({ value: "untreated", label: me.$t('hivuiMain_taskcenter_untreated'), sel: true }); } }); }, methods: { openfunc(__data1, __data2, __data3) { if (__data2.furl) { if (top.window.customSysCofig.taskcenterCustomeropen && typeof top.window.customSysCofig.taskcenterCustomeropen == "function") { top.window.customSysCofig.taskcenterCustomeropen.call(this, __data2); } else { top.window.open(__data2.furl); } } else { top.window.SysPage.newPage(__data2.fpdisplayname, location.origin + (window._global ? "" : window.HIVUI_SETTING.serverName) + "/" + __data2.fmodelpath, { fmodelpath: __data2.fmodelpath, version: __data2.fversion, ftaskguid: __data2.ftaskguid, flowstate: __data2.flowstate, forderguid: __data2.forderguid, fnumber: __data2.fordernumber, fbzid: __data2.fbzid, pn: window.HIVUI_SETTING.projectName, }); } }, openmonitorFn(_this, __data2) {//流程监控 if (__data2 && __data2.furl) { if (top.window.customSysCofig.taskcenterCustomeropenmonitor && typeof top.window.customSysCofig.taskcenterCustomeropenmonitor == "function") { top.window.customSysCofig.taskcenterCustomeropenmonitor.call(this, _this, __data2); } } }, // 批处理 batchProcessFuncFn(config) { if (config.row && config.row.furl) { if (top.window.customSysCofig.taskcenterbatchProcess && typeof top.window.customSysCofig.taskcenterbatchProcess == "function") { return top.window.customSysCofig.taskcenterbatchProcess.call(this, this.$refs.hiTask, config); } } else { return this.$refs.hiTask.processFlow(config); } } }, }; </script>
Show line notes below