{"remainingRequest":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/thread-loader/dist/cjs.js!/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/babel-loader/lib/index.js!/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/cache-loader/dist/cjs.js??ref--0-0!/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/vue-loader/lib/index.js??vue-loader-options!/data/jenkins/workspace/badp-bcxin-web-5.x-vue/src/components/view_delegate.vue?vue&type=script&lang=js&","dependencies":[{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/src/components/view_delegate.vue","mtime":1732857533164},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/babel.config.js","mtime":1725957645200},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/thread-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/babel-loader/lib/index.js","mtime":315532800000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/vue-loader/lib/index.js","mtime":1655715099000}],"contextDependencies":[],"result":["import \"core-js/modules/es7.object.get-own-property-descriptors\";\nimport \"core-js/modules/es6.object.keys\";\nimport \"core-js/modules/es6.regexp.search\";\nimport _defineProperty from \"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/@babel/runtime-corejs2/helpers/esm/defineProperty.js\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.function.name\";\nimport _typeof from \"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/@babel/runtime-corejs2/helpers/esm/typeof.js\";\nimport \"core-js/modules/es6.regexp.split\";\nimport \"core-js/modules/es6.regexp.replace\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport API from \"@/api.js\";\nimport Constant from \"@/Constant.js\";\nimport view_emptyview from \"@/components/view_emptyview.vue\";\nimport view_listview from \"@/components/view_listview.vue\";\nimport view_gridview from \"@/components/view_gridview.vue\";\nimport view_mapview from \"@/components/view_mapview.vue\";\nimport view_treeview from \"@/components/view_treeview.vue\";\nimport view_collapsibleview from \"@/components/view_collapsibleview.vue\";\nimport view_cardview from \"@/components/view_cardview.vue\";\nimport view_calendarview from \"@/components/view_calendarview.vue\";\nimport activity from \"@/components/activity.vue\";\nimport form_normalform from \"@/components/form_normalform.vue\";\nimport customDialog from \"@/components/dialog.vue\";\nimport excelUpload from \"@/components/excel_upload.vue\";\n// import Watermark from '@/assets/js/watermark'; //路径不要写错\nimport view_print from \"@/components/view_print\";\nimport form_customize_searchform from \"@/components/form_customize_searchform.vue\";\nimport common_linkcontent from \"@/components/common_linkcontent\";\nimport view_gantt from \"@/components/view_gantt\";\nimport view_table from \"@/expandedComponents/view_table.vue\"; // 公用的table组件\n\nexport default {\n name: \"view-delegate\",\n props: [\"openParams\", \"clearCheckboxVal\", \"mutil\",\n //判断视图选择框多选或者拼接\n \"selectOne\",\n //判断视图选择框多选或者拼接\n \"isView\", \"showtype\", \"allowOpenDoc\", \"toTab\", \"openType\", \"includeDisplayType\",\n //包含元素或者选项卡为只读时的displayType=1,=4\n \"isFormPrint\",\n //表单打印时等于5\n \"currentTab\", \"widgetChartView\",\n //widget点击统计图时,传到这里的数据\n \"showCleanBtn\"],\n inject: [\"addTab\", \"openNewpage\"],\n watch: {\n listenIncludeViewUpdate: function listenIncludeViewUpdate(newVal) {\n //如果是包含元素打开标签页,返回或者关闭页签时刷新视图\n if (newVal == this.includeRefreshId) {\n this.$refs.delegate.getData();\n }\n },\n isShowSearchTemplate: function isShowSearchTemplate() {\n this.$refs.delegate.handleOpenSearchTemplate();\n },\n exportDialog: function exportDialog(newVal) {\n if (!newVal) {\n this.isShowProgress = false;\n this.exportProgress = 0;\n }\n }\n },\n created: function created() {\n if (this.widgetChartView) {\n //首页widget统计图数据\n this.delegateWidth = 0;\n this.view = this.widgetChartView;\n this.loading = false;\n } else {\n this.init();\n }\n },\n mounted: function mounted() {\n window.handleClose = this.handleClose; //调整按钮以iframe嵌套打开,在iframe页面调用此方法关闭弹窗\n },\n beforeDestroy: function beforeDestroy() {\n window.clearInterval(this.task);\n },\n components: {\n view_emptyview: view_emptyview,\n view_listview: view_listview,\n view_gridview: view_gridview,\n view_treeview: view_treeview,\n view_mapview: view_mapview,\n view_collapsibleview: view_collapsibleview,\n view_cardview: view_cardview,\n view_calendarview: view_calendarview,\n activity: activity,\n form_normalform: form_normalform,\n customDialog: customDialog,\n excelUpload: excelUpload,\n view_print: view_print,\n form_customize_searchform: form_customize_searchform,\n common_linkcontent: common_linkcontent,\n view_gantt: view_gantt,\n view_table: view_table\n },\n data: function data() {\n return {\n isBlockClick: false,\n // screenHeight: document.documentElement.clientHeight - 180,//高度修改bcx\n screenHeight: \"\",\n //不要设置高度\n isShowActivity: true,\n //视图操作按钮为0时,不显示操作按钮行\n exportProgress: 0,\n //导出进度条进度\n isShowProgress: false,\n //导出进度条是否显示\n switchValue: true,\n //全选\n view: {\n columns: []\n },\n //视图的列\n loading: true,\n title: \"\",\n dialogTitle: \"新建\",\n newIncludeO: \"\",\n dialogVisible: false,\n isRouterAliveInclude: true,\n currentOpenType: \"\",\n currentDocIds: [],\n popupVisible: false,\n attitude: \"\",\n currentAct: \"\",\n customizeVisible: false,\n width: \"40%\",\n excelPath: \"\",\n act: \"\",\n isPrint: false,\n printParams: \"\",\n viewPrintData: \"\",\n delegateWidth: \"\",\n isSubmissionProcess: \"\",\n //是否是视图列的提交流程\n viewRowId: \"\",\n //视图列的提交流程docId\n emptyParams: \"\",\n isShowSearchTemplate: false,\n jumpParams: \"\",\n //跳转按钮参数\n jumpPopup: false,\n //跳转按钮弹出窗\n isJumpForm: \"\",\n //跳转按钮参数\n isJumpView: \"\",\n //跳转按钮参数\n isExternalLink: \"\",\n //判断是否是外部链接\n checkedNum: 0,\n //获取视图选择框选中的数值\n jumpParamsForm: \"\",\n //弹出层打开的视图进入表单的参数\n viewTableData: {\n // table的数据\n tableHeight: 370,\n datas: [],\n // 被选中的数据\n columns: [] // 显示的列\n },\n checkedListDialog: false,\n // 视图选择框选中的列表\n excelColumns: [],\n //导出数据应该显示的列\n exportDialog: false,\n //文件导出的弹窗\n exportData: 1,\n //2为导出全部数据,1为导出选中数据\n currentClickBtnAct: \"\",\n //当前点击按钮的act数据\n popupLayerType: \"\",\n //判断弹出层是打开表单还是视图\n excelSelectList: [],\n searchDocItems: \"\",\n //查询表单的数据\n imageParams: {\n hiddenDialog: false,\n pathLists: [],\n initialIndex: 0\n },\n dialogView: {\n //视图弹出层打开设置了宽高\n width: \"\",\n height: \"\"\n },\n cvFormData: {},\n //复制runBeforeAction的参数formdata,保存在cvFormData里用于给getAxecuteAddress传参\n signatureDialog: false,\n signatureData: [],\n signatureValue: \"\",\n task: \"\",\n //导出时的定时器\n isExporting: false,\n //正在导出\n isMultiLevelListHeader: false,\n multiLevelColumnData: [],\n //多级列列表头\n copyColumns: [],\n //深拷贝视图列给excell导出使用\n isDialogOpenExternalLink: false,\n refreshId: \"\",\n cardBack: \"\"\n };\n },\n methods: {\n viewDialogClean: function viewDialogClean() {\n this.$parent.$parent.$parent.clearCheckbox(); //视图选择框的clearCheckbox()//view_listview.vue-->toggleSelection()清空选中 this.$refs.multipleTable.clearSelection();\n },\n viewDialogSure: function viewDialogSure() {\n this.$parent.$parent.$parent.onOk(); //视图选择框的onOk()\n },\n init: function init(isCloseDialog) {\n // debugger\n\n var op = this.openParams;\n var exparams = {};\n if (op.exparams) {\n //如果携带参数\n var ex = op.exparams.replace(/^(\\s|&)+|(\\s|&)+$/g, \"\");\n var list = ex.split(\"&\");\n for (var i = 0; i < list.length; i++) {\n var e = list[i].split(\"=\");\n if (e[1]) {\n exparams[e[0]] = e[1];\n }\n }\n }\n if (op.formParams) {\n exparams = this.setParams(op.formParams, exparams);\n }\n this.initView({\n appId: op.appId || this.$route.query.appId,\n // 防止传入的openParams对象中appId属性丢失\n viewId: op.actionContent,\n exparams: exparams ? exparams : {},\n isCloseDialog: isCloseDialog\n });\n },\n setParams: function setParams(params, obj) {\n params = params.replace(/^(\\s|&)+|(\\s|&)+$/g, \"\");\n var list = params.split(\"&\");\n for (var i = 0; i < list.length; i++) {\n var p = list[i].split(\"=\");\n var isJson = this.isJSON(p[1]);\n if (isJson) {\n obj[p[0]] = encodeURI(p[1]);\n } else {\n obj[p[0]] = p[1] ? p[1] : \"\";\n }\n }\n return obj;\n },\n isJSON: function isJSON(str) {\n //判断是json字符串\n if (typeof str == \"string\") {\n try {\n var obj = JSON.parse(str);\n if (_typeof(obj) == \"object\" && obj) {\n return true;\n } else {\n return false;\n }\n } catch (e) {\n return false;\n }\n }\n },\n //选中的导出方式\n // handleChange(opt){\n // if(opt === 1) {\n // this.switchValue = false;\n // // this.isDisabled = false;\n // this.excelSelectList = [];\n // }\n // else if(opt === 2) {\n // let selectAll = [];\n // let columns = this.excelColumns;\n // for (let i = 0; i < columns.length; i++) {\n // selectAll.push(columns[i].name);\n // }\n // this.excelSelectList = selectAll;\n // // this.switchValue = false;\n // // this.isDisabled = true;\n // }\n // },\n isShowSwitch: function isShowSwitch(val) {\n if (val.length === this.excelColumns.length) {\n this.switchValue = true;\n } else {\n this.switchValue = false;\n }\n },\n //el-switch全选\n dataAll: function dataAll(val) {\n if (val === true) {\n var selectAll = [];\n var columns = this.excelColumns;\n for (var i = 0; i < columns.length; i++) {\n selectAll.push(columns[i].name);\n }\n this.excelSelectList = selectAll;\n } else {\n this.excelSelectList = [];\n }\n },\n setDialogStatus: function setDialogStatus(params) {\n this.imageParams = params;\n },\n setSearchDocItems: function setSearchDocItems(doc) {\n this.searchDocItems = doc;\n },\n //查询--单个查询\n onSearch: function onSearch(searchData, data) {\n var _this = this;\n //单个查询按钮--子组件为form_customize_searchform.vue 在祖组件view_delegate.vue视图\n this.$store.commit('page', 1);\n this.$store.commit('searchDataStore', searchData); //第五步,缓存查询条件到vuex数组里面\n setTimeout(function () {\n _this.$refs.delegate.onSearch(searchData, data);\n }, 800); //异步调用20230816--行业信息-从高筛选择保安公司--弹窗视图查询bug\n },\n //执行常用查询的重置\n executeCommonReset: function executeCommonReset() {\n this.$refs.searchform.commonReset();\n },\n //打开或者关闭查询表单\n openSearchTemplate: function openSearchTemplate() {\n // alert(this.isShowSearchTemplate)\n if (this.isShowSearchTemplate) {\n //收起 重置高筛搜索条件\n this.$refs.delegate && this.$refs.delegate.$refs.searchform.reset(); //重置高筛搜索条件\n }\n this.isShowSearchTemplate = !this.isShowSearchTemplate;\n },\n updateView: function updateView() {\n var _this2 = this;\n this.isRouterAliveInclude = false;\n this.$nextTick(function () {\n return _this2.isRouterAliveInclude = true;\n });\n },\n hiddenCustomizeVisible: function hiddenCustomizeVisible() {\n var _this3 = this;\n //该方法实现视图修改数据,或者删除数据重新加载视图数据\n var openType = this.view.openType;\n if (this.view.simpleClassName == \"GanttView\") {\n //当是甘特视图直接刷新整个页面\n // this.updateView();\n this.$refs.delegate.reloadListView();\n } else if (openType == 288) {\n //网格视图\n setTimeout(function () {\n _this3.customizeVisible = false;\n _this3.updateView();\n }, 1000);\n } else {\n setTimeout(function () {\n _this3.customizeVisible = false;\n _this3.$refs.delegate && _this3.$refs.delegate.reloadListView();\n }, 1000);\n }\n },\n setExcelPath: function setExcelPath(path) {\n this.excelPath = path;\n },\n //批量提交或者提交流程\n onOk: function onOk() {\n var _this4 = this;\n if (this.isSubmissionProcess) {\n if (!this.attitude) {\n this.$message({\n message: this.$t(\"view.input_ss\"),\n type: \"warning\"\n });\n } else {\n var obj = {\n approveLimit: \"\",\n attitude: this.attitude,\n docId: this.viewRowId\n };\n this.$api.operateSubmit(this.openParams.appId, this.view.id, obj, {\n onSucess: function onSucess(res) {\n _this4.popupVisible = false;\n if (res.data.errcode == 0) {\n _this4.attitude = \"\";\n _this4.$notify({\n title: res.data.data,\n message: \"\",\n type: \"success\"\n });\n } else {\n _this4.$notify.error({\n title: _this4.$t(\"msg.err\"),\n message: \"\"\n });\n }\n }\n });\n }\n } else {\n if (!this.attitude) {\n this.$message({\n message: this.$t(\"view.input_ss\"),\n type: \"warning\"\n });\n } else {\n // this.v3ActionSubmit(this.currentAct, this.currentDocIds); //bcx替换合并一个接口\n this.runBeforeAction(this.currentAct, this.currentDocIds);\n }\n }\n },\n handleClose: function handleClose() {\n this.dialogVisible = false;\n this.jumpPopup = false;\n if (this.isDialogOpenExternalLink) {\n // this.$refs.delegate.getData();\n var isCloseDialog = true;\n this.init(isCloseDialog);\n }\n },\n //包含元素弹出层和当前页打开都是使用这个刷新\n closeDialog: function closeDialog(isSave) {\n this.$refs.delegate.reloadListView();\n if (!isSave) {\n this.dialogVisible = false;\n this.jumpPopup = false;\n }\n var _st = this.showtype;\n if (_st && _st == \"include\") {\n this.$emit(\"refresh\");\n }\n },\n includeReload: function includeReload() {\n var _this5 = this;\n //重新刷新组件刷新\n this.$emit(\"change\");\n this.isRouterAliveInclude = false;\n this.$nextTick(function () {\n return _this5.isRouterAliveInclude = true;\n });\n },\n initView: function initView(_ref) {\n var _this6 = this;\n var appId = _ref.appId,\n viewId = _ref.viewId,\n exparams = _ref.exparams,\n isCloseDialog = _ref.isCloseDialog;\n //重新加载视图\n var op = this.openParams;\n var st = this.showtype;\n exparams = exparams || {};\n if (op.queryString) {\n var qs = op.queryString;\n var list = qs.split(\"&\");\n for (var i = 0; i < list.length; i++) {\n var p = list[i].split(\"=\");\n if (p[1]) {\n exparams[p[0]] = p[1];\n }\n }\n }\n var urlParams = op.urlParams; //跳转按钮携带的参数\n if (urlParams) {\n var fp = urlParams.replace(/^(\\s|&)+|(\\s|&)+$/g, \"\");\n var _list = fp.split(\"&\");\n for (var _i = 0; _i < _list.length; _i++) {\n var _p = _list[_i].split(\"=\");\n if (_p[0] && _p[0] != \"appId\" && _p[0] != \"viewId\") {\n if (_p[1]) {\n exparams[_p[0]] = _p[1];\n }\n }\n }\n }\n if (st && st == \"tab\" || st && st == \"include\") {\n //如果是控件选项卡\n exparams.parentId = op.parentId;\n exparams.isRelate = op.isRelate;\n }\n this.$api.getViewTemplate(appId, viewId, exparams, {\n onSucess: function onSucess(response) {\n // alert(88)\n _this6.loading = true;\n if (response.data.data) {\n if (!response.data.data.activities) {\n //后台配置的视图操作按钮为0\n _this6.isShowActivity = false;\n }\n var viewWidth = \"\";\n var viewDom = _this6.$refs.viewDelegate;\n _this6.delegateWidth = viewWidth = viewDom.clientWidth;\n // this.delegateWidth = this.$refs.viewDelegate.clientWidth;\n // alert(viewWidth)\n if (viewWidth > 0) {\n if (_this6.showtype == \"home\") {\n _this6.delegateWidth = viewWidth - 40;\n } else {\n _this6.delegateWidth = viewWidth; //自动排版要设置固定宽度\n }\n }\n var viewData = response.data.data;\n var columns = viewData.columns;\n _this6.copyColumns = JSON.parse(JSON.stringify(columns));\n if (!columns) {\n _this6.$message({\n message: _this6.$t(\"msg.set_viewlist\"),\n type: \"warning\"\n });\n return;\n }\n var isMultiLevelListHeader = false; //多级表头\n for (var _i2 = 0; _i2 < columns.length; _i2++) {\n var name = columns[_i2].name;\n if (!isMultiLevelListHeader) {\n if (name.indexOf(\"__\") > -1) {\n isMultiLevelListHeader = true;\n }\n }\n if (!columns[_i2].visible) {\n columns.splice(_i2, 1);\n _i2--;\n }\n }\n var iType = _this6.includeDisplayType;\n if (viewData.readonly || iType && (iType == Constant.PermissionType_READONLY || iType == Constant.PermissionType_DISABLED)) {\n //只读或者包含元素为只读,视图都要只读\n var btnArr = viewData.activities;\n if (btnArr && btnArr.length > 0) {\n for (var _i3 = btnArr.length - 1; _i3 >= 0; _i3--) {\n if (btnArr[_i3].type != 1 && btnArr[_i3].type != 16 && btnArr[_i3].type != 26 && btnArr[_i3].type != 36 && btnArr[_i3].type != 43 && btnArr[_i3].type != 27) {\n btnArr.splice(_i3, 1);\n }\n }\n }\n // 1 16 26 36\n }\n var formPrint = _this6.isFormPrint;\n if (formPrint && formPrint == \"5\") {\n //判断视图列打印时是否隐藏\n // let bodyWidth = document.documentElement.clientWidth - 52;\n var tdsWidth = 0;\n for (var j = 0; j < columns.length; j++) {\n if (!columns[j].visible4PagePrint) {\n columns.splice(j, 1);\n j--;\n } else {\n if (columns[j].width) {\n tdsWidth = tdsWidth + parseInt(columns[j].width);\n } else {\n columns[j].width = 100;\n tdsWidth = tdsWidth + 100;\n }\n }\n }\n for (var _j = 0; _j < columns.length; _j++) {\n if (columns[_j].width) {\n var tdWidth = Math.floor(columns[_j].width / tdsWidth * 100);\n columns[_j].tdWidth = tdWidth + \"%\";\n }\n }\n }\n if (viewData.openType != 288) {\n //判断是视图类型不是网格视图时,把保存按钮删除\n if (viewData.activities) {\n if (viewData.activities.length > 0) {\n for (var _i4 = 0; _i4 < viewData.activities.length; _i4++) {\n if (viewData.activities[_i4].type === 34) {\n viewData.activities.splice(_i4, 1);\n break;\n }\n }\n }\n }\n }\n viewData.columns.forEach(function (item, index) {\n if (item.iconMapping) {\n if (!viewData.columns[index].visible) {\n viewData.columns[index].iconMapping = JSON.parse(item.iconMapping); // item.iconMapping//JSON.parse(item.iconMapping)\n }\n }\n });\n if (viewData.width) {\n //视图是弹出层打开时有宽高\n _this6.dialogView.width = viewData.width;\n }\n if (viewData.height) {\n _this6.dialogView.height = viewData.height;\n }\n var columnsArray = columns;\n for (var _i5 = 0; _i5 < columnsArray.length; _i5++) {\n if (!columnsArray[_i5].visible || columnsArray[_i5].hiddenColumn) {\n columnsArray.splice(_i5, 1);\n _i5--;\n }\n }\n _this6.view = viewData;\n _this6.title = response.data.data.description || response.data.data.name;\n _this6.currentOpenType = response.data.data.openType;\n if (viewData.style && viewData.style.content) {\n var viewCss = \"#view_\" + viewData.id + \" \" + viewData.style.content;\n var css = viewCss,\n head = document.head || document.getElementsByTagName(\"head\")[0],\n style = document.createElement(\"style\");\n head.appendChild(style);\n style.type = \"text/css\";\n style.appendChild(document.createTextNode(css));\n }\n if (isCloseDialog) {\n //弹窗打开视图后重新加载数据\n _this6.$refs.delegate.getData();\n }\n\n //多级表头\n if (isMultiLevelListHeader) {\n var listArr = [];\n var loopOpe = function loopOpe(columns) {\n var arr = [];\n for (var _i6 = 0; _i6 < columns.length; _i6++) {\n var _name = columns[_i6].name;\n if (_name.indexOf(\"__\") > -1) {\n var nArr = _name.split(\"__\");\n var t = nArr[0];\n var t2 = nArr.slice(1).join(\"__\");\n var nobj = {\n id: t,\n name: t2,\n label: _name,\n columns: columns[_i6],\n haveChildren: true\n };\n arr.push(nobj);\n } else {\n var _nobj = {\n id: _name,\n name: _name,\n label: _name,\n columns: columns[_i6],\n haveChildren: false\n };\n arr.push(_nobj);\n }\n }\n arr.forEach(function (el) {\n for (var _i7 = 0; _i7 < listArr.length; _i7++) {\n if (listArr[_i7].id == el.id) {\n listArr[_i7].children.push({\n name: el.name,\n label: el.label,\n columns: el.columns,\n id: el.name\n });\n return;\n }\n }\n if (el.haveChildren) {\n listArr.push({\n id: el.id,\n children: [{\n id: el.name,\n name: el.name,\n label: el.label,\n columns: el.columns\n }]\n });\n } else {\n listArr.push({\n id: el.id,\n label: el.label,\n columns: el.columns\n });\n }\n // listArr.push({\n // id: el.id,\n // children: [{\n // name: el.name,\n // }]\n // })\n });\n };\n if (columns && columns.length > 0) {\n loopOpe(columns);\n }\n var loopOpe2 = function loopOpe2(columns, index) {\n var arr = [];\n var lArr = [];\n for (var _i8 = 0; _i8 < columns.length; _i8++) {\n var _name2 = columns[_i8].name;\n if (_name2.indexOf(\"__\") > -1) {\n var nArr = _name2.split(\"__\");\n var t = nArr[0];\n var t2 = nArr.slice(1).join(\"__\");\n var nobj = {\n id: t,\n name: t2,\n label: t2,\n columns: columns[_i8].columns,\n haveChildren: true\n };\n arr.push(nobj);\n } else {\n var _nobj2 = {\n id: _name2,\n name: _name2,\n label: _name2,\n columns: columns[_i8].columns,\n haveChildren: false\n };\n arr.push(_nobj2);\n }\n }\n arr.forEach(function (el) {\n for (var _i9 = 0; _i9 < lArr.length; _i9++) {\n if (lArr[_i9].id == el.id) {\n lArr[_i9].children.push({\n id: el.name,\n name: el.name,\n label: el.label,\n columns: el.columns\n });\n return;\n }\n }\n if (el.haveChildren) {\n lArr.push({\n id: el.id,\n children: [{\n id: el.name,\n name: el.name,\n label: el.label,\n columns: el.columns\n }]\n });\n } else {\n lArr.push({\n id: el.id,\n label: el.label,\n columns: el.columns\n });\n }\n });\n listArr[index].children = lArr;\n };\n if (listArr && listArr.length > 0) {\n listArr.forEach(function (el, index) {\n if (el.children && el.children.length > 0) {\n loopOpe2(el.children, index);\n }\n });\n }\n _this6.multiLevelColumnData = listArr;\n _this6.isMultiLevelListHeader = true;\n }\n _this6.loading = false;\n // 传递给子组件 view_treeview 判断是否需要显示清除按钮\n _this6.$emit(\"getViewType\", response.data.data.simpleClassName);\n if (st && st == \"tab\" && viewData.openType == 288) {\n //视图是选项卡打开并且是网格视图,为了外层保存按钮保存网格视图\n _this6.$emit(\"setTabOpentype\", op.tabIndex);\n }\n }\n clearTimeout(timeLoading);\n }\n });\n },\n openForm: function openForm(params, emptyParams) {\n this.emptyParams = emptyParams;\n this.newIncludeO = params;\n if (params.title != undefined) {\n this.dialogTitle = params.title;\n }\n this.dialogVisible = true;\n },\n //创建新表单\n doCreate: function doCreate(act, extraParams) {\n var _this7 = this;\n var view = this.view;\n var openParams = this.openParams;\n var params = {\n linkType: \"00\",\n appId: openParams.appId,\n active: true,\n actionContent: act.onActionForm,\n name: view.name,\n refreshId: openParams.id,\n id: new Date().getTime()\n };\n\n //以下的参数形式是在新建后执行执行后脚本\n var sd = this.searchDocItems;\n var formData = {\n docId: \"\",\n document: {},\n formId: view.relatedForm,\n parentId: \"\",\n templateForm: \"\",\n viewId: openParams.actionContent,\n _selects: this.currentDocIds\n };\n if (extraParams && extraParams.treedocid) {\n params.treedocid = extraParams.treedocid;\n formData.treedocid = extraParams.treedocid;\n }\n if (sd) {\n formData.document = sd;\n }\n var appId = openParams.appId;\n var divId = act.id;\n var docId = \"\";\n var parentId = openParams.parentId ? openParams.parentId : \"\";\n var _templateForm = \"\";\n var _ = \"\";\n params.isNewCreate = true;\n params.runAfterParams = {\n appId: appId,\n divId: divId,\n docId: docId,\n actionContent: openParams.actionContent,\n relatedForm: view.relatedForm,\n _templateForm: _templateForm,\n parentId: parentId,\n _: _,\n formData: formData\n };\n var includeRunAfterParams = params.runAfterParams; //包含元素里嵌套视图,视图新建执行后有脚本\n if (view.newPage) {\n //新窗口打开\n this.isBlockClick = false;\n params.isOpenNewWindow = true;\n params.runAfterParams = JSON.stringify(params.runAfterParams);\n var routeData = this.$router.resolve({\n // name: \"form_blank\",\n name: \"open\",\n query: params\n });\n var winObj = window.open(routeData.href, \"_blank\");\n var loop = setInterval(function () {\n if (winObj.closed) {\n clearInterval(loop);\n _this7.$refs.delegate.reloadListView();\n }\n }, 1500);\n } else if (this.widgetChartView) {\n //如果是widget的视图新建\n this.isBlockClick = false;\n this.$emit(\"action\", params);\n } else if (openParams.isOpenNewWindow && view.openType !== 277) {\n //如果是新窗口打开且没设置视图打开方式为弹出层\n this.isBlockClick = false;\n var newParams = JSON.parse(JSON.stringify(params));\n newParams.isOpenNewWindow = true;\n var _routeData = this.$router.resolve({\n name: \"open\",\n query: newParams\n });\n window.open(_routeData.href, \"_blank\");\n } else if (openParams.isPopupLayerDisplay) {\n //如果打开类型是弹出层,新建时打开表单\n this.isBlockClick = false;\n this.$emit(\"popupOpenType\", \"FORM\", params);\n } else if (openParams.isExternalLink) {\n //外链打开,然后新建表单,通过opener组件\n // params = {\n // linkType: '00',\n // appId: openParams.appId,\n // actionContent: act.onActionForm,//url,\n // isExternalLink: true, //url是打开opener组件,判断是外链。\n // };\n this.isBlockClick = false;\n params.isExternalLink = true;\n this.$emit(\"onAction\", params);\n } else {\n if (!this.showtype || this.showtype == \"target\") {\n this.isBlockClick = false;\n //普通视图新建或者后台设置了菜单的打开链接方式是新窗口打开(target)\n if (view.newPage) {\n //打开新窗口\n var _newParams = JSON.parse(JSON.stringify(params));\n _newParams.runAfterParams = JSON.stringify(_newParams.runAfterParams);\n _newParams.isOpenNewWindow = true;\n var _routeData2 = this.$router.resolve({\n // name: \"form_blank\",\n name: \"open\",\n query: _newParams\n });\n window.open(_routeData2.href, \"_blank\");\n } else {\n if (this.view.openType == 277) {\n //弹出层\n params.type = 277;\n params.dialogId = \"dialog_normalform_\" + openParams.actionContent; ////用于弹窗打开表单有包含元素时,计算包含元素宽度\n this.newIncludeO = params;\n this.dialogVisible = true;\n } else {\n if (this.view.openType == 293) {\n //新页签打开\n this.$emit(\"add-tab\", params);\n } else {\n //当前页打开\n this.openNewpage(params);\n }\n }\n }\n } else {\n if (this.showtype == \"include\") {\n //包含元素\n this.isBlockClick = false;\n var _params = {\n linkType: \"00\",\n appId: openParams.appId,\n active: true,\n actionContent: act.onActionForm,\n name: this.view.name,\n refreshId: openParams.id,\n randomRefreshId: new Date().getTime(),\n runAfterParams: includeRunAfterParams\n };\n _params.parentId = openParams.parentId ? openParams.parentId : \"\"; //包含元素时判断是否有parentId\n _params.isRelate = openParams.isRelate ? true : \"\";\n _params.isIncludeCreate = \"include\";\n _params.isNewCreate = true;\n this.includeRefreshId = _params.randomRefreshId;\n if (this.currentOpenType == 1) {\n if (this.view.simpleClassName == \"CollapsibleView\") {\n _params.viewType = \"CollapsibleView\";\n this.toTab(_params);\n } else {\n this.$refs.delegate.addRow(_params);\n }\n } else if (this.currentOpenType == 277) {\n this.newIncludeO = _params;\n this.dialogVisible = true;\n } else if (this.currentOpenType == 293) {\n //标签页打开\n _params.name = this.view.name;\n _params.openType = this.view.openType;\n this.toTab(_params);\n }\n } else if (this.showtype == \"tab\") {\n //选项卡\n this.isBlockClick = false;\n params.parentId = openParams.parentId ? openParams.parentId : \"\"; //包含元素时判断是否有parentId\n params.isRelate = openParams.isRelate ? true : \"\";\n params.istabCreate = \"tab\";\n this.includeRefreshId = params.randomRefreshId;\n if (this.currentOpenType == 1) {\n if (extraParams && extraParams.innerType == \"FORM\") {\n //树形视图新建打开表单\n this.toTab(params);\n } else {\n this.$refs.delegate.addRow(params);\n }\n } else if (this.currentOpenType == 277) {\n params.isTabCreate = \"tab\";\n params.type = 277;\n params.dialogId = \"dialog_normalform_\" + openParams.actionContent; //用于弹窗打开表单有包含元素时,计算包含元素宽度\n this.newIncludeO = params;\n this.dialogVisible = true;\n } else if (this.currentOpenType == 293) {\n //标签页打开\n // this.$emit(\"add-tab\", {\n // linkType: \"00\",\n // appId: this.openParams.appId,\n // active: true,\n // actionContent: act.onActionForm,\n // name: this.view.name,\n // refreshId:this.openParams.id,\n // });\n this.toTab(params);\n }\n }\n }\n }\n },\n setViewRefreshId: function setViewRefreshId(id) {\n this.includeRefreshId = id;\n },\n setPopupOpenType: function setPopupOpenType(type, params) {\n //当视图是弹出层打开,新建或打开视图列表\n if (type == \"FORM\") {\n params.isPopupLayerDisplay = true;\n this.jumpParamsForm = params;\n this.popupLayerType = type;\n } else if (type == \"VIEW\") {\n this.popupLayerType = type;\n }\n },\n //是否删除的弹窗提示\n doRemove: function doRemove(act, value) {\n var _this8 = this;\n var docIds = \"\";\n if (this.currentDocIds && this.currentDocIds.length > 0) {\n docIds = this.currentDocIds;\n } else {\n //树形视图时\n docIds = value;\n }\n if (docIds && docIds.length > 0) {\n this.$confirm(this.$t(\"msg.del_select\") + \"\".concat(docIds.length) + this.$t(\"msg.data\"), this.$t(\"tip\"), {\n confirmButtonText: this.$t(\"msg.confirm\"),\n cancelButtonText: this.$t(\"btns.cancel\"),\n type: \"warning\"\n }).then(function () {\n _this8.runBeforeAction(act, docIds);\n }).catch(function () {});\n } else {\n this.$confirm(this.$t(\"msg.least_one_data\"), this.$t(\"tip\"), {\n confirmButtonText: this.$t(\"msg.confirm\"),\n cancelButtonText: this.$t(\"btns.cancel\"),\n type: \"warning\"\n }).then(function () {}).catch(function () {});\n }\n },\n //删除视图\n removeDocuments: function removeDocuments(act, docIds) {\n var _this9 = this;\n this.$api.batchRemoveDocuments(this.openParams.appId, docIds, {\n onSucess: function onSucess(res) {\n if (res.data.errcode == 0) {\n _this9.$notify({\n title: _this9.$t(\"success\"),\n message: \"\",\n type: \"success\"\n });\n _this9.runAfterAction(act, []);\n _this9.$refs.delegate.reloadListView();\n var _st = _this9.showtype;\n if (_st && _st == \"include\") {\n //包含元素删除视图应刷新表单页面,新建也一样\n _this9.$emit(\"refresh\");\n }\n // this.includeReload();\n }\n }\n });\n },\n setDocIds: function setDocIds(val) {\n this.currentDocIds = val;\n },\n //是否清空所有数据的弹窗\n clearDataPopup: function clearDataPopup(data) {\n var _this10 = this;\n this.$confirm(this.$t(\"msg.del_all\"), this.$t(\"tip\"), {\n confirmButtonText: this.$t(\"msg.confirm\"),\n cancelButtonText: this.$t(\"btns.cancel\"),\n type: \"warning\"\n }).then(function () {\n _this10.runBeforeAction(data);\n }).catch(function () {});\n },\n //清空所有数据\n clearAllData: function clearAllData(act) {\n var _this11 = this;\n var appId = this.openParams.appId;\n var formId = this.view.relatedForm;\n this.$api.deleteAllData(appId, formId, {\n onSucess: function onSucess(res) {\n if (res.data.errcode == 0) {\n _this11.$notify({\n title: res.data.data,\n message: \"\",\n type: \"success\"\n });\n _this11.runAfterAction(act, []);\n _this11.includeReload();\n }\n }\n });\n },\n //执行脚本前\n /**\n * docIds 视图选中的id\n * extraParams 树形视图新建传过来的参数,以后其他视图可能也会用到\n * **/\n runBeforeAction: function runBeforeAction(act, docIds, extraParams) {\n var _this12 = this;\n this.isBlockClick = true;\n var view = this.view;\n var sd = this.searchDocItems;\n var openParams = this.openParams;\n var formData = {\n docId: \"\",\n document: sd ? sd : {},\n formId: view.relatedForm,\n parentId: \"\",\n templateForm: view.templateForm,\n viewId: openParams.actionContent,\n _selects: docIds && docIds.length > 0 ? docIds : this.currentDocIds\n };\n this.cvFormData = formData; //复制runBeforeAction的参数formdata,保存在cvFormData里用于给getAxecuteAddress传参\n var st = this.showtype;\n if (st && st == \"tab\" || st && st == \"include\") {\n //如果是控件选项卡或包含元素\n formData.parentId = openParams.parentId;\n formData.isRelate = openParams.isRelate;\n }\n var treedocid = \"\";\n if (extraParams && extraParams.treedocid) {\n treedocid = extraParams.treedocid;\n formData.treedocid = extraParams.treedocid;\n formData.document = extraParams.document;\n }\n if (openParams.isRelate) {\n formData.isRelate = openParams.isRelate;\n }\n if (openParams.parentId) {\n formData.parentId = openParams.parentId;\n }\n if (this.$route.query) {\n formData = _objectSpread(_objectSpread({}, formData), this.$route.query);\n }\n var divId = act.id;\n var actType = act.type;\n this.$api.runBeforeActionScript(openParams.appId, divId, formData, actType, treedocid ? treedocid : \"\",\n //treedocid\n \"\",\n //flowType\n {\n onSucess: function onSucess(response) {\n if (response.data.data) {\n _this12.isBlockClick = false;\n //如果有数据返回,结束下一步\n var resData = response.data.data;\n var errmsg = response.data.data.content;\n if (!resData.type) {\n //没有type值,但是有返回数据,把数据放进document\n if (resData.changedField) {\n _this12.$notify.success({\n title: resData.content,\n message: \"\"\n });\n }\n } else if (resData.type == 1) {\n if (resData.content == \"站内信发送成功\") {\n _this12.$notify.success({\n title: resData.content,\n message: \"\"\n });\n } else {\n _this12.$notify.error({\n title: errmsg,\n message: \"\",\n customClass: \"notify-success\" //载入视图执行前脚本返回值显示为红色\n });\n }\n } else if (resData.type == 16) {\n _this12.$notify.error({\n title: errmsg,\n message: \"\"\n });\n } else if (resData.type == 32) {\n _this12.$confirm(\"\".concat(errmsg), _this12.$t(\"tip\"), {\n confirmButtonText: _this12.$t(\"msg.confirm\"),\n cancelButtonText: _this12.$t(\"btns.cancel\"),\n type: \"warning\"\n }).then(function () {\n switch (act.type) {\n case 1:\n //载入视图\n _this12.getTemplate(act);\n break;\n case 2:\n //新建表单\n _this12.doCreate(act, extraParams);\n break;\n case 3:\n //删除数据\n _this12.removeDocuments(act, docIds);\n break;\n case 16:\n //导出excel\n // debugger\n _this12.isBlockClick = false;\n _this12.currentClickBtnAct = act;\n var excelColumns = [];\n var columns = _this12.copyColumns;\n var selectAll = [];\n for (var i = 0; i < columns.length; i++) {\n if (columns[i].visible4ExpExcel) {\n excelColumns.push(columns[i]);\n }\n selectAll.push(columns[i].name);\n }\n _this12.excelColumns = excelColumns;\n _this12.excelSelectList = selectAll;\n _this12.exportDialog = true;\n _this12.switchValue = true;\n _this12.exportData = 1;\n break;\n case 18:\n //清空所有数据\n _this12.clearAllData(act);\n break;\n case 20:\n //批量提交\n _this12.onSubmit(act, docIds);\n break;\n case 26:\n //文件下载\n _this12.fileDownload(act.id);\n break;\n case 27:\n //导入excel\n _this12.showLeadDialog(act);\n break;\n case 36:\n //网页打印(视图)\n _this12.viewPrint(act);\n break;\n case 43:\n //跳转\n _this12.jumpType(act);\n break;\n default:\n break;\n }\n }).catch(function () {});\n }\n } else {\n switch (act.type) {\n case 1:\n //载入视图\n _this12.getTemplate(act);\n break;\n case 2:\n //新建表单\n _this12.doCreate(act, extraParams);\n break;\n case 3:\n //删除数据\n _this12.removeDocuments(act, docIds);\n break;\n case 16:\n //导出excel\n debugger;\n _this12.isBlockClick = false;\n _this12.currentClickBtnAct = act;\n var excelColumns = [];\n var columns = _this12.copyColumns;\n var selectAll = [];\n for (var i = 0; i < columns.length; i++) {\n if (columns[i].visible4ExpExcel) {\n excelColumns.push(columns[i]);\n }\n selectAll.push(columns[i].name);\n }\n _this12.excelColumns = excelColumns;\n _this12.excelSelectList = selectAll;\n _this12.exportDialog = true;\n _this12.switchValue = true;\n _this12.exportData = 1;\n break;\n case 18:\n //清空所有数据\n _this12.clearAllData(act);\n break;\n case 20:\n //批量提交\n _this12.onSubmit(act, docIds);\n break;\n case 26:\n //文件下载\n _this12.fileDownload(act.id);\n break;\n case 27:\n //导入excel\n _this12.showLeadDialog(act);\n break;\n case 29:\n break;\n case 36:\n //网页打印(视图)\n _this12.viewPrint(act);\n break;\n case 43:\n //跳转\n _this12.jumpType(act);\n break;\n default:\n break;\n }\n }\n\n // if(response.data.errcode == 0 && response.data.data) {\n // let errcode = response.data.errcode;\n // let errmsg = response.data.data.content;\n // this.$notify.error({\n // title: errmsg,\n // message: ''\n // });\n // }else if(response.data.errcode == 0){\n // switch(act.type) {\n // case 1: //载入视图\n // this.getTemplate(act);\n // break;\n // case 2: //新建表单\n // this.doCreate(act);\n // break;\n // case 3: //删除数据\n // this.removeDocuments(act,docIds);\n // break;\n // case 16: //导出excel\n // this.currentClickBtnAct = act;\n // let selectAll = [];\n // let columns = this.view.columns;\n // columns.forEach(el => {\n // selectAll.push(el.name);\n // });\n // this.excelSelectList = selectAll;\n // this.exportDialog = true;\n // break;\n // case 18: //清空所有数据\n // this.clearAllData(act);\n // break;\n // case 20: //批量提交\n // this.onSubmit(act, docIds);\n // break;\n // case 26: //文件下载\n // this.fileDownload(act.id);\n // break;\n // case 36: //网页打印(视图)\n // this.viewPrint(act);\n // break;\n // case 43: //跳转\n // this.jumpType(act);\n // break;\n // default:\n // break;\n // }\n // }\n }\n });\n },\n //执行脚本后\n runAfterAction: function runAfterAction(act, docIds, extraParams) {\n var _this13 = this;\n var sd = this.searchDocItems;\n var op = this.openParams;\n var formData = {\n docId: \"\",\n document: sd ? sd : {},\n formId: this.view.relatedForm,\n parentId: \"\",\n templateForm: \"\",\n viewId: op.actionContent,\n _selects: docIds && docIds.length > 0 ? docIds : this.currentDocIds\n };\n var st = this.showtype;\n var parentId = \"\";\n if (st && st == \"tab\" || st && st == \"include\") {\n //如果是控件选项卡或包含元素\n formData.parentId = op.parentId;\n formData.isRelate = op.isRelate;\n parentId = op.parentId;\n }\n if (extraParams && extraParams.treedocid) {\n formData.treedocid = extraParams.treedocid;\n formData.document = extraParams.document;\n }\n var appId = op.appId;\n var divId = act.id;\n var docId = \"\";\n var _templateForm = \"\";\n var _ = \"\";\n this.$api.runAfterActionScript(appId, divId, docId, op.actionContent, this.view.relatedForm, _templateForm, parentId, _, formData, act.type, \"\",\n //treedocid\n {\n onSucess: function onSucess(response) {\n _this13.isBlockClick = false;\n if (response.data.data) {\n var returnData = response.data.data;\n if (returnData.changedField) {\n _this13.$notify.success({\n title: returnData.content,\n message: \"\"\n });\n } else {\n var errmsg = response.data.data.content;\n if (returnData.type && returnData.type == \"message\") {\n if (errmsg.type == 16) {\n _this13.$notify.success({\n title: errmsg.content,\n message: \"\"\n });\n }\n } else if (returnData.type && returnData.type == \"1\") {\n _this13.$notify.success({\n title: errmsg,\n message: \"\"\n });\n } else {\n _this13.$notify.error({\n title: errmsg,\n message: \"\"\n });\n }\n }\n } else {\n if (act.type == 1) {\n // this.$refs.delegate.reloadListView();\n } else if (act.type == 20) {\n _this13.popupVisible = false;\n }\n }\n // if(response.data.errcode == 0) {\n // if(response.data.data.content) {\n // let errmsg = response.data.data.content.content;\n // this.$notify({\n // title: errmsg,\n // message: '',\n // type: 'warning'\n // });\n // }else {\n // if(act.type == 20) {\n // this.popupVisible = false;\n // }\n // }\n // }\n }\n });\n },\n //计算基本打开窗口跳转\n openDialogJump: function openDialogJump(params, type) {\n var _this14 = this;\n if (type == \"FORM\") {\n params.dialogId = \"dialog_normalform_\" + this.openParams.actionContent; //用于弹窗打开表单有包含元素时,计算包含元素宽度\n this.isJumpView = false;\n this.isJumpForm = true;\n this.jumpParams = params;\n this.jumpPopup = true;\n } else if (type == \"VIEW\") {\n this.popupLayerType = \"VIEW\";\n this.isJumpForm = false;\n this.isJumpView = true;\n params.isPopupLayerDisplay = true;\n this.jumpParams = params;\n this.jumpPopup = true;\n } else if (type == \"JUMP\") {\n this.popupLayerType = \"VIEW\";\n this.isJumpForm = false;\n this.isJumpView = false;\n this.jumpParams = params;\n this.jumpPopup = true;\n this.isExternalLink = true;\n }\n this.$nextTick(function () {\n _this14.$refs.elDialog.$el.firstChild.style.height = _this14.jumpParams.styleParams ? _this14.jumpParams.styleParams.dialogHeight : \"\"; //elDialog设置弹窗自定义高度--点击视图弹窗加载\n });\n },\n //跳转按钮的跳转类型---新增跳转\n jumpType: function jumpType(act) {\n var _this15 = this;\n // debugger\n var name = this.view.fullName.split(\"_\").join(\"、\");\n var _selects = this.cvFormData._selects;\n var op = this.openParams;\n var obj = {\n docId: \"\",\n appId: this.$api.appid,\n viewId: act.parentView,\n opentarget: \"\",\n containTitle: name,\n field: \"\",\n isRelate: undefined,\n parentId: \"\",\n _selects: _selects\n };\n if (op.parentId) {\n obj.parentId = op.parentId;\n }\n if (op.isRelate != null) {\n obj.isRelate = op.isRelate;\n }\n obj = _objectSpread(_objectSpread({}, obj), this.$route.query); //执行获取url参数\n this.$api.getAxecuteAddress(this.openParams.appId, act.id, obj, {\n onSucess: function onSucess(res) {\n _this15.isBlockClick = false;\n if (res.data.errcode === 0) {\n var url = res.data.data.content;\n var queryString = act.dispatcherParams;\n var isForm = url.search(\"form.html\") != -1; //兼容good的url的写法(后期改)\n var isView = url.search(\"view.html\") != -1; //兼容good的url的写法(后期改)\n var isReport = url.search(\"report.html\") != -1; //兼容good的url的写法(后期改)\n var isOpenCurrentSoftwareData = url.search(\"open?\") != -1;\n var urlArrayF = url.split(\"?\");\n var urlArray = \"\";\n if (urlArrayF[1]) {\n urlArray = urlArrayF[1].split(\"&\");\n } else {\n if (url.indexOf(\"?\") == -1) {\n url = url + \"?\";\n }\n }\n _this15.isJumpForm = isForm;\n _this15.isJumpView = isView;\n var type = \"\";\n var isExternalLink = false;\n if (url && url.indexOf(\"processHtmlTem.html\") > -1) {\n API.softwareApplication(_this15.openParams.appId, {\n onSucess: function onSucess(res) {\n var errcode = res.data.errcode;\n if (errcode == 0) {\n var software = JSON.stringify(res.data.data);\n sessionStorage.setItem(\"appId\", _this15.openParams.appId);\n sessionStorage.setItem(\"software\", software);\n }\n }\n });\n }\n if (isForm) {\n type = \"00\";\n } else if (isView) {\n type = \"01\";\n } else if (isReport) {\n //报表\n type = \"09\";\n } else if (!isForm && !isView && !isOpenCurrentSoftwareData) {\n isExternalLink = true;\n _this15.isExternalLink = true; //判断是否是外部链接\n }\n var params = {\n linkType: type,\n appId: op.appId,\n actionContent: \"\",\n name: act.name,\n _select: \"\",\n viewId: \"\"\n };\n if (op.parentId) {\n params.parentId = op.parentId;\n }\n if (op.isRelate != null) {\n params.isRelate = op.isRelate;\n }\n var _obj = {};\n if (urlArray && urlArray.length > 0) {\n for (var i = 0; i < urlArray.length; i++) {\n var val = urlArray[i].split(\"=\");\n _obj[val[0]] = val[1];\n }\n }\n _obj.refreshId = op.id;\n switch (act.jumpActOpenType) {\n case 0:\n if (!isExternalLink) {\n if (isOpenCurrentSoftwareData) {\n //如果外链形式还是打开产品的控件,那么不用iframe的方法嵌套\n if (op.exparams) {\n _obj.exparams = op.exparams;\n }\n _obj.name = act.name;\n if (op.isPopupLayerDisplay) {\n //弹窗打开视图后,跳转按钮打开表单,还是在弹窗打开\n _this15.$emit(\"popupOpenType\", \"FORM\", _obj);\n } else {\n _this15.$emit(\"openNewpage\", _obj);\n }\n } else {\n params.actionContent = _obj.viewId ? _obj.viewId : _obj.formId;\n params.clearTemp = _obj.clearTemp ? _obj.clearTemp : \"\";\n param.isCurrentPageOpen = true;\n param.queryString = queryString;\n _this15.$emit(\"openNewpage\", params);\n }\n } else {\n params = {\n linkType: \"103\",\n appId: op.appId,\n actionContent: url\n };\n // this.$emit(\"openNewpage\",params)\n _this15.openNewpage(params);\n }\n break;\n case 1:\n if (!isExternalLink) {\n if (isOpenCurrentSoftwareData) {\n var formParams = \"\";\n for (var key in _obj) {\n if (key != \"name\" && key != \"actionContent\" && key != \"searchData\" && key != \"showtype\" && key != \"realformId\" && key != \"templateForm\" && key != \"urlParams\" && key != \"exparams\" && key != \"runAfterParams\" && key != \"queryString\" && key != \"isOpenDialog\") {\n if (_obj[key]) {\n formParams += \"&\" + key + \"=\" + _obj[key];\n }\n }\n }\n if (op.exparams) {\n if (formParams) {\n formParams = formParams + \"\" + op.exparams;\n } else {\n formParams = op.exparams;\n }\n }\n if (formParams) {\n _obj.formParams = formParams;\n }\n _obj.name = act.name;\n _obj.isPopupLayerDisplay = true;\n if (_obj.linkType == \"00\") {\n //表单\n _this15.isJumpForm = true;\n } else if (_obj.linkType == \"01\") {\n //视图\n _this15.isJumpView = true;\n _this15.popupLayerType = \"VIEW\";\n }\n if (_obj.isRefresh && _obj.isRefresh == \"true\") {\n _this15.isDialogOpenExternalLink = true;\n }\n _this15.jumpParams = _obj;\n } else {\n params.actionContent = _obj.viewId ? _obj.viewId : _obj.formId;\n params.clearTemp = _obj.clearTemp ? _obj.clearTemp : \"\";\n params.isPopupLayerDisplay = true;\n _this15.jumpParams = params;\n _this15.popupLayerType = \"VIEW\";\n }\n _this15.jumpPopup = true;\n } else {\n params.linkType = \"103\";\n params.actionContent = url; //url + \"&isOpenDialog=true\"\n params.clearTemp = _obj.clearTemp ? _obj.clearTemp : \"\";\n params.isExternalLink = true;\n var linkType = \"\";\n for (var _i10 = 0; _i10 < urlArray.length; _i10++) {\n if (urlArray[_i10].indexOf(\"linkType\") > -1) {\n if (urlArray[_i10].indexOf(\"01\") > -1) {\n linkType = \"VIEW\";\n params.actionContent = url + \"&isOpenDialog=true\";\n } else if (urlArray[_i10].indexOf(\"00\") > -1) {\n linkType = \"FORM\";\n params.actionContent = url + \"&isOpenDialog=true\";\n }\n }\n }\n _this15.jumpParams = params;\n _this15.popupLayerType = linkType;\n _this15.jumpPopup = true;\n }\n break;\n case 2:\n if (!isExternalLink) {\n if (isOpenCurrentSoftwareData) {\n if (op.exparams) {\n _obj.exparams = op.exparams;\n }\n _obj.name = act.name;\n _this15.addTab(_obj);\n } else {\n params.actionContent = _obj.viewId ? _obj.viewId : _obj.formId;\n params.clearTemp = _obj.clearTemp ? _obj.clearTemp : \"\";\n if (isReport) {\n //报表\n if (_obj.reportId) {\n params.actionContent = _obj.reportId;\n }\n Object.assign(params, _obj);\n }\n _this15.addTab(params);\n }\n } else {\n params.linkType = \"103\";\n params.actionContent = url;\n params.clearTemp = _obj.clearTemp ? _obj.clearTemp : \"\";\n params.isExternalLink = true;\n if (isReport) {\n //报表\n if (_obj.reportId) {\n params.actionContent = _obj.reportId;\n }\n Object.assign(params, _obj);\n }\n // this.$emit(\"add-tab\", params);\n _this15.addTab(params);\n }\n break;\n case 3:\n if (!isExternalLink) {\n params.actionContent = _obj.viewId ? _obj.viewId : _obj.formId;\n params.clearTemp = _obj.clearTemp ? _obj.clearTemp : \"\";\n if (isForm) {\n params.urlParams = urlArrayF[1]; //携带url后面的参数\n var routeData = _this15.$router.resolve({\n // name: \"form_blank\",\n name: \"open\",\n query: params\n });\n window.open(routeData.href, \"_blank\");\n } else if (isView) {\n var _routeData3 = _this15.$router.resolve({\n name: \"view_blank\",\n query: params\n });\n window.open(_routeData3.href, \"_blank\");\n } else if (isOpenCurrentSoftwareData) {\n url += \"&isOpenNewWindow=true\";\n window.open(url);\n }\n } else {\n params = {\n linkType: \"103\",\n appId: op.appId,\n actionContent: url\n };\n window.open(params.actionContent);\n }\n break;\n case 4:\n break;\n default:\n break;\n }\n }\n }\n });\n },\n //提交\n onSubmit: function onSubmit(act, docIds) {\n var _this16 = this;\n var attitude = this.attitude;\n var appId = this.openParams.appId;\n var doJson = {\n actId: act.id,\n attitude: attitude,\n docIds: docIds,\n limistStrList: \"\",\n remark: \"\"\n };\n this.$api.batchApprove(appId, doJson, {\n onSucess: function onSucess(res) {\n if (res.data.data && res.data.errcode == 0) {\n _this16.$notify.success({\n title: _this16.$t(\"success\"),\n message: res.data.data.content\n });\n _this16.popupVisible = false;\n _this16.runAfterAction(act, docIds);\n _this16.$refs.delegate.reloadListView(); //刷新\n } else if (res.data.errcode == 0) {\n _this16.$notify.success({\n title: _this16.$t(\"success\"),\n message: res.data.data.content\n });\n _this16.popupVisible = false;\n _this16.runAfterAction(act, docIds);\n _this16.$refs.delegate.reloadListView(); //刷新\n } else if (res.data.errcode == 4001) {\n _this16.isBlockClick = false;\n _this16.$notify.error({\n title: _this16.$t(\"msg.err\"),\n message: res.data.errmsg\n });\n }\n }\n });\n },\n //获取视图模板\n getTemplate: function getTemplate(act) {\n var _this17 = this;\n var op = this.openParams;\n // this.view = \"\";\n var appId = op.appId;\n var viewId = act.onActionView;\n var exparams = {};\n var st = this.showtype;\n if (st && st == \"tab\" || st && st == \"include\") {\n //如果是控件选项卡或包含元素\n exparams.parentId = op.parentId;\n exparams.isRelate = op.isRelate;\n }\n exparams.appId = appId;\n exparams.viewId = viewId;\n this.$api.getViewTemplate(appId, viewId, exparams, {\n onSucess: function onSucess(response) {\n if (response.data.errcode == 0) {\n setTimeout(function () {\n _this17.view = response.data.data;\n _this17.runAfterAction(act, []);\n }, 1000);\n // this.runAfterAction(act, []);//外面执行this.view仍为''\n }\n }\n });\n },\n //批量提交按钮弹窗\n showSubmitPanel: function showSubmitPanel(act, docIds) {\n if (this.currentDocIds && this.currentDocIds.length > 0 || docIds && docIds.length > 0) {\n if (docIds && docIds.length > 0) {\n this.currentDocIds = docIds;\n }\n this.currentAct = act;\n this.popupVisible = true;\n } else {\n this.$alert(this.$t(\"msg.least_one_data\"), this.$t(\"tip\"), {\n confirmButtonText: this.$t(\"msg.confirm\"),\n callback: function callback() {}\n });\n }\n },\n //文件下载\n fileDownload: function fileDownload(divId) {\n var _this18 = this;\n var op = this.openParams;\n var appId = op.appId;\n var docId = \"\";\n var actId = divId;\n var params = {\n parentId: op.parentId ? op.parentId : \"\",\n isRelate: op.isRelate\n };\n API.viewDocumentDownload(appId, docId, actId, params, {\n onSucess: function onSucess(response) {\n _this18.isBlockClick = false;\n if (response.data.errcode != 0) {\n _this18.$notify({\n title: _this18.$t(\"form.warning\"),\n message: _this18.$t(\"view.nofile\"),\n type: \"warning\"\n });\n } else {\n var fileName = \"\";\n var url = \"\";\n var contextPath = obpmConfig.contextPath;\n var filePath = response.data.data; //uploads/doc/202108/文本框pdf导出 (7).pdf\n if (filePath && (filePath.indexOf(\"https://\") > -1 || filePath.indexOf(\"http://\") > -1)) {\n window.open(encodeURI(filePath));\n return false;\n }\n fileName = filePath.substring(filePath.lastIndexOf(\"/\") + 1);\n url = contextPath + \"/runtime/file/download?filepath=\" + filePath + \"&filename=\" + fileName;\n window.open(encodeURI(url));\n }\n // let type = response.headers['content-type'];\n // if(response.headers['content-disposition']) {\n // fileName = decodeURIComponent(response.headers['content-disposition'].split(\"=\")[1]);\n // }else {\n // fileName=this.$t('report.download');\n // }\n // if(response.data.size >0){\n // this.download(response, type, fileName);\n // }else {\n // this.$notify({\n // title: this.$t('form.warning'),\n // message: this.$t('view.nofile'),\n // type: 'warning'\n // });\n // }\n },\n onError: function onError(error) {\n _this18.isBlockClick = false;\n if (error.response && error.response.status == 500) _this18.$notify({\n title: _this18.$t(\"form.warning\"),\n message: _this18.$t(\"view.nofile\"),\n type: \"warning\"\n });\n }\n });\n },\n download: function download(res, type, filename, act) {\n var _this19 = this;\n var blob = new Blob([res.data], {\n // 如果后端没返回下载文件类型,则需要手动设置:type: 'application/pdf;chartset=UTF-8' 表示下载文档为pdf,如果是word则设置为msword,excel为excel\n type: type\n });\n var a = document.createElement(\"a\");\n var herf = window.URL.createObjectURL(blob);\n // 下载链接\n a.href = herf;\n // 下载文件名,如果后端没有返回,可以自己写a.download = '文件.pdf'\n a.download = filename;\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n window.URL.revokeObjectURL(herf);\n this.runAfterAction(act, this.currentDocIds);\n setTimeout(function () {\n window.clearInterval(_this19.task);\n _this19.exportDialog = false;\n _this19.isShowProgress = false; //进度条下载后隐藏\n _this19.exportProgress = 0; //进度条数值下载后为0\n _this19.isExporting = false;\n }, 500);\n },\n //Excel导出弹窗\n confirmExportFile: function confirmExportFile(act) {\n var _this20 = this;\n if (this.exportData === 1 && this.currentDocIds.length === 0) {\n this.$alert(this.$t(\"msg.least_one_data\"), this.$t(\"tip\"), {\n confirmButtonText: this.$t(\"msg.confirm\"),\n type: \"warning\",\n callback: function callback() {}\n });\n } else {\n if (this.excelSelectList.length === 0) {\n this.$alert(this.$t(\"msg.select_list\"), this.$t(\"tip\"), {\n confirmButtonText: this.$t(\"msg.confirm\"),\n type: \"warning\",\n callback: function callback() {}\n });\n return false;\n }\n if (this.isExporting) {\n return;\n }\n // this.$message({type:'warning',message:'当前最多只能导出5000条数据'})\n var view = this.view;\n this.isExporting = true;\n var op = this.openParams;\n var applicationId = op.appId,\n viewId = view.id,\n actId = act.id,\n name = view.name,\n isExpSub = act.expSub,\n parentId = \"\",\n isRelate = undefined;\n var st = this.showtype;\n if (st && st == \"tab\" || st && st == \"include\") {\n //如果是控件选项卡或包含元素\n parentId = op.parentId, isRelate = op.isRelate;\n }\n var params = this.$refs.delegate.getExcelParams();\n var selectDocId = this.exportData == 2 ? [] : this.currentDocIds;\n var sc = this.excelSelectList;\n var selectColumns = sc && sc.length > 0 ? sc.join(\",\") : \"\";\n var obj = {\n selectColumns: selectColumns,\n selectDocIds: selectDocId,\n items: {}\n };\n var sd = this.searchDocItems;\n var commonSearchFlag = true; //常用查询是否有值\n for (var key in sd) {\n if (sd[key]) {\n commonSearchFlag = false;\n }\n }\n if (commonSearchFlag) {\n //常用查询\n if (this.$refs.searchform) {\n sd = this.$refs.searchform.buildSearchData();\n obj.items = sd;\n }\n }\n debugger;\n if (view.searchFormId != undefined) {\n //高级查询\n var sfd = this.$refs.delegate.getSearchformBuildData();\n sd = Object.assign(sd, sfd); //导出全部--获取高筛搜索条件sfd\n obj.items = sd;\n }\n this.task = setInterval(function () {\n _this20.$api.exportExcelProgress({\n onSucess: function onSucess(response) {\n if (response.data.errcode == 0) {\n var process; //进度条数值\n _this20.isShowProgress = true;\n var excelExportCount = response.data.data.excelExportCount; //获取已经导出的条数\n var excelRowCount = response.data.data.excelRowCount; //需要导出总条数\n if (excelRowCount == 0) {\n //导出空表\n process = 100;\n } else {\n process = Math.floor(excelExportCount / excelRowCount * 100);\n }\n _this20.exportProgress = process;\n if (process == 100) {\n window.clearInterval(_this20.task);\n }\n if (excelRowCount == 10000) {\n process = 100;\n _this20.$message({\n type: \"warning\",\n message: \"当前最多只能导出10000条数据\"\n });\n return;\n }\n }\n }\n });\n }, 500);\n this.$api.exportExcel(applicationId, viewId, actId, name, isExpSub, parentId, isRelate, params, obj, {\n onSucess: function onSucess(response) {\n var fileName = \"\";\n var type = response.headers[\"content-type\"];\n if (response.headers[\"content-disposition\"]) {\n fileName = decodeURIComponent(response.headers[\"content-disposition\"].split(\"=\")[1]);\n var suffix = fileName.split(\".\")[1];\n fileName = name + \".\" + suffix;\n } else {\n fileName = _this20.$t(\"report.download\");\n }\n setTimeout(function () {\n _this20.isExporting = false;\n }, 1000);\n _this20.download(response, type, fileName, act);\n }\n });\n }\n },\n //网页打印\n viewPrint: function viewPrint(act) {\n var openParams = this.openParams;\n var view = this.view;\n var routeData = this.$router.resolve({\n name: \"printView\",\n query: {\n //给print_view.vue接收\n viewId: this.view.id,\n isPrint: true,\n openType: view.openType,\n simpleClassName: view.simpleClassName,\n appId: openParams.appId,\n isRelate: openParams.isRelate,\n parentId: openParams.parentId\n }\n });\n window.open(routeData.href, \"_blank\");\n this.runAfterAction(act, []);\n },\n //视图提交流程打开弹窗\n viewColumnSubmission: function viewColumnSubmission(val, docId) {\n this.isSubmissionProcess = val;\n this.viewRowId = docId;\n this.popupVisible = true;\n },\n //弹出导入Excel的窗口\n showLeadDialog: function showLeadDialog(act) {\n this.isBlockClick = false;\n this.act = act;\n this.customizeVisible = true;\n },\n onAction: function onAction(act) {\n var _this21 = this;\n //绑定视图的处理事件\n var actId = act.id;\n var activityType = act.type;\n switch (act.type) {\n case 1:\n //载入视图\n this.runBeforeAction(act);\n // this.v3ActionSubmit(act, \"\", \"\", activityType, \"\", act); //bcx替换合并一个接口\n break;\n case 2:\n //创建\n this.isBlockClick = true;\n var formId = this.view.relatedForm;\n this.$api.hasPermissionToForm(this.openParams.appId, formId, {\n onSucess: function onSucess(res) {\n if (res.data.data) {\n _this21.runBeforeAction(act);\n // this.v3ActionSubmit(act, \"\", \"\", activityType, \"\", act); //bcx替换合并一个接口\n } else {\n _this21.isBlockClick = false;\n _this21.$message({\n message: _this21.$t(\"msg.refuse\"),\n type: \"warning\"\n });\n }\n }\n });\n break;\n case 3:\n //删除\n this.doRemove(act);\n break;\n case 5:\n //流程处理\n this.$parent.flowHandle();\n break;\n case 8:\n //关闭窗口\n this.$parent.runBeforeAction(act.id, \"\", \"\", activityType);\n break;\n case 10:\n //返回\n this.doBack();\n break;\n case 11:\n //保存并返回\n this.$parent.runBeforeAction(act.id, \"\", \"\", activityType);\n break;\n case 14:\n //网页打印(表单)\n this.$parent.runBeforeAction(act.id, \"\", \"\", activityType);\n break;\n case 15:\n //网页打印含历史\n this.$parent.runBeforeAction(act.id, \"\", \"\", activityType);\n break;\n case 16:\n //导出excel\n this.isShowProgress = false;\n this.exportProgress = 0;\n this.runBeforeAction(act);\n break;\n case 18:\n //清空所有数据\n this.clearDataPopup(act);\n //this.runBeforeAction(act);\n break;\n case 20:\n //批量提交\n this.showSubmitPanel(act);\n break;\n case 26:\n //文件下载\n this.runBeforeAction(act);\n break;\n case 27:\n //导入excel\n this.showLeadDialog(act);\n break;\n case 28:\n //电子签章\n break;\n case 29:\n //批量签章\n this.pdfsignatures(act);\n break;\n case 34:\n //保存\n this.$parent.runBeforeAction(act.id, \"\", \"\", activityType);\n break;\n case 36:\n //网页打印(视图)\n this.runBeforeAction(act);\n break;\n case 37:\n //邮件短信分享\n break;\n case 42:\n //保存并新建\n this.$parent.runBeforeAction(act.id, \"\", \"\", activityType);\n break;\n case 43:\n //跳转\n this.runBeforeAction(act);\n break;\n case 46:\n //签章\n break;\n default:\n break;\n }\n },\n pdfsignatures: function pdfsignatures(act) {\n var _this22 = this;\n this.isBlockClick = false;\n var cd = this.currentDocIds;\n var appId = this.openParams.appId;\n if (cd.length <= 0) {\n this.$message({\n message: this.$t(\"msg.least_one_data\"),\n type: \"warning\"\n });\n } else {\n this.$api.getPdfsignatures(appId, cd, {\n onSucess: function onSucess(res) {\n _this22.signatureData = res.data.data;\n _this22.signatureDialog = true;\n }\n });\n }\n },\n //获取子组件的选中的数据\n selectNum: function selectNum(val) {\n this.checkedNum = val.length;\n // 已选中的视图列表\n this.viewTableData.datas = val;\n if (val.length > 0 && val[0] != undefined) {\n var select = \"\";\n for (var i = 0; i < val.length; i++) {\n select += val[i].docId + \";\";\n }\n var params = {\n linkType: \"00\",\n appId: this.openParams.appId,\n actionContent: val[0].formId,\n _select: select,\n viewId: this.view.id\n };\n this.$emit(\"updateViewData\", params, val);\n } else {\n this.$emit(\"updateViewData\", [], val);\n }\n },\n gridviewTem: function gridviewTem(act) {\n this.getTemplate(act);\n },\n clearViewSelect: function clearViewSelect() {\n var openParams = this.openParams;\n var formId = openParams.actionContent;\n if (this.view.displayType && this.view.displayType == \"templateForm\") {\n //判断是模板表单还是数据源表单\n formId = this.view.templateForm;\n }\n var params = {\n linkType: \"00\",\n appId: openParams.appId,\n actionContent: formId,\n //row.formId,\n _select: \"\",\n viewId: this.view.id,\n parentId: openParams.parentId ? openParams.parentId : \"\",\n //包含元素时判断是否有parentId\n isRelate: openParams.isRelate ? openParams.isRelate : \"\",\n //包含元素时判断isRelate是否为true\n templateForm: this.view.templateForm ? this.view.templateForm : \"\" //模板表单携带的formId\n };\n var isRadio = true;\n this.$emit(\"updateViewData\", params, [], isRadio);\n },\n /**\n * 显示已选择的列表\n */\n showCheckedList: function showCheckedList() {\n this.checkedListDialog = true;\n },\n /**\n * 接受view_listview传递table的column\n */\n getViewTableColumns: function getViewTableColumns(val) {\n var tempColumns = [];\n var columnObj = {};\n for (var k in val) {\n columnObj = {\n prop: k,\n label: val[k].name,\n //字段名\n columnName: val[k].columnName //列名称\n };\n tempColumns.push(columnObj);\n }\n this.viewTableData.columns = tempColumns;\n },\n /**\n * 接受view_cardview的下一层级出现返回按钮的标志\n */\n cardBackSign: function cardBackSign(val) {\n this.cardBack = val;\n },\n returnPrevious: function returnPrevious(val) {\n //点击返回触发的事件 重新加载上一次的数据 (可以保留在父节点的数据 在层数高的时候可以使用多层在浏览器缓存太多不合算)\n this.$refs.delegate.returnPrevious();\n // if(val){\n // this.cardBack=false;\n // }\n // else{\n // // this.$refs.view_cardview.\n // }\n },\n // handleSelectionChange(val) {//参考列表视图把数据传回去 2个问题能不能正确回显和显示参数\n // //将长度传回去\n // // this.$emit('selectNum',val)\n // if (this.isView) {\n // //视图选择框\n // if (val.length > 0 && val[0] != undefined) {\n // let select = \"\";\n // for (let i = 0; i < val.length; i++) {\n // select += val[i].docId + \";\";\n // }\n // let params = {\n // linkType: \"00\",\n // appId: this.openParams.appId,\n // actionContent: val[0].formId,\n // _select: select,\n // viewId: this.view.id,\n // };\n // this.$emit(\"updateViewData\", params, val);\n // }else{\n // this.$emit(\"updateViewData\", [], val);\n // }\n // } else {\n // let docIds = []\n // let hasChildren = \"\"\n // if (val.length > 0) {\n // for (let i = 0; i < val.length; i++) {\n // docIds.push(val[i].docId);\n // if (val[i].children) {\n // hasChildren = true\n // }\n // }\n // } else {\n // docIds = []\n // }\n // let sy = this.showtype\n // if(sy == 'include' || sy == 'tab') { //如果是包含元素或者tab页,获取的docId传到最上层表单\n // this.setListViewDocIds(docIds)\n // }\n // this.$emit(\"getDocIds\", docIds, hasChildren);\n // }\n // },\n //重构自定义、普通按钮的功能\n //普通按钮(type=11: 比如: 考试申报->资格证报名管理->报名人员->报名->提交按钮),\n //自定义按钮(type=13: 比如: 报名审核 ->学员管理->材料审核->提交审核)\n v3ActionSubmit: function v3ActionSubmit(act, docIds, extraParams) {\n this.isBlockClick = true;\n var view = this.view;\n var sd = this.searchDocItems;\n var openParams = this.openParams;\n var formData = {\n docId: \"\",\n document: sd ? sd : {},\n formId: view.relatedForm,\n parentId: \"\",\n templateForm: view.templateForm,\n viewId: openParams.actionContent,\n _selects: docIds && docIds.length > 0 ? docIds : this.currentDocIds\n };\n this.cvFormData = formData; //复制runBeforeAction的参数formdata,保存在cvFormData里用于给getAxecuteAddress传参\n var st = this.showtype;\n if (st && st == \"tab\" || st && st == \"include\") {\n //如果是控件选项卡或包含元素\n formData.parentId = openParams.parentId;\n formData.isRelate = openParams.isRelate;\n }\n var treedocid = \"\";\n if (extraParams && extraParams.treedocid) {\n treedocid = extraParams.treedocid;\n formData.treedocid = extraParams.treedocid;\n formData.document = extraParams.document;\n }\n if (openParams.isRelate) {\n formData.isRelate = openParams.isRelate;\n }\n if (openParams.parentId) {\n formData.parentId = openParams.parentId;\n }\n if (this.$route.query) {\n formData = _objectSpread(_objectSpread({}, formData), this.$route.query);\n }\n debugger;\n var divId = act.id;\n var actType = act.type;\n\n //重构start \n var step = \"BeforeAction\";\n this.v3Activities(step, openParams.appId, divId, formData, actType, treedocid ? treedocid : \"\",\n //treedocid\n \"\",\n //flowType\n act); //重构执行前代码\n //重构end\n },\n v3Activities: function v3Activities(step, appId, divId, formData, actType, treedocid, flowType, act) {\n var _this23 = this;\n API.v3ActivitiesApi(step, appId, divId, formData, actType, treedocid ? treedocid : \"\",\n //treedocid\n flowType,\n //flowType\n {\n onSucess: function onSucess(response) {\n if (response.data.data) {\n _this23.isBlockClick = false;\n //如果有数据返回,结束下一步\n var resData = response.data.data;\n var errmsg = response.data.data.content;\n if (!resData.type) {\n //没有type值,但是有返回数据,把数据放进document\n if (resData.changedField) {\n _this23.$notify.success({\n title: resData.content,\n message: \"\"\n });\n }\n } else if (resData.type == 1) {\n if (resData.content == \"站内信发送成功\") {\n _this23.$notify.success({\n title: resData.content,\n message: \"\"\n });\n } else {\n _this23.$notify.error({\n title: errmsg,\n message: \"\",\n customClass: \"notify-success\" //载入视图执行前脚本返回值显示为红色\n });\n }\n } else if (resData.type == 16) {\n _this23.$notify.error({\n title: errmsg,\n message: \"\"\n });\n } else if (resData.type == 32) {\n _this23.$confirm(\"\".concat(errmsg), _this23.$t(\"tip\"), {\n confirmButtonText: _this23.$t(\"msg.confirm\"),\n cancelButtonText: _this23.$t(\"btns.cancel\"),\n type: \"warning\"\n }).then(function () {\n var step = response.data.data.next - step;\n _this23.v3Activities(step, appId, divId, formData, actType, treedocid, flowType, act); //重构执行前代码 \n switch (act.type) {\n case 1:\n //载入视图\n _this23.getTemplate(act);\n break;\n case 2:\n //新建表单\n _this23.doCreate(act, extraParams);\n break;\n case 3:\n //删除数据\n _this23.removeDocuments(act, docIds);\n break;\n case 16:\n //导出excel\n // debugger\n _this23.isBlockClick = false;\n _this23.currentClickBtnAct = act;\n var excelColumns = [];\n var columns = _this23.copyColumns;\n var selectAll = [];\n for (var i = 0; i < columns.length; i++) {\n if (columns[i].visible4ExpExcel) {\n excelColumns.push(columns[i]);\n }\n selectAll.push(columns[i].name);\n }\n _this23.excelColumns = excelColumns;\n _this23.excelSelectList = selectAll;\n _this23.exportDialog = true;\n _this23.switchValue = true;\n _this23.exportData = 1;\n break;\n case 18:\n //清空所有数据\n _this23.clearAllData(act);\n break;\n case 20:\n //批量提交\n _this23.onSubmit(act, docIds);\n break;\n case 26:\n //文件下载\n _this23.fileDownload(act.id);\n break;\n case 27:\n //导入excel\n _this23.showLeadDialog(act);\n break;\n case 36:\n //网页打印(视图)\n _this23.viewPrint(act);\n break;\n case 43:\n //跳转\n _this23.jumpType(act);\n break;\n default:\n break;\n }\n }).catch(function () {});\n }\n } else {\n switch (act.type) {\n case 1:\n //载入视图\n _this23.getTemplate(act);\n break;\n case 2:\n //新建表单\n _this23.doCreate(act, extraParams);\n break;\n case 3:\n //删除数据\n _this23.removeDocuments(act, docIds);\n break;\n case 16:\n //导出excel\n // debugger\n _this23.isBlockClick = false;\n _this23.currentClickBtnAct = act;\n var excelColumns = [];\n var columns = _this23.copyColumns;\n var selectAll = [];\n for (var i = 0; i < columns.length; i++) {\n if (columns[i].visible4ExpExcel) {\n excelColumns.push(columns[i]);\n }\n selectAll.push(columns[i].name);\n }\n _this23.excelColumns = excelColumns;\n _this23.excelSelectList = selectAll;\n _this23.exportDialog = true;\n _this23.switchValue = true;\n _this23.exportData = 1;\n break;\n case 18:\n //清空所有数据\n _this23.clearAllData(act);\n break;\n case 20:\n //批量提交\n _this23.onSubmit(act, docIds);\n break;\n case 26:\n //文件下载\n _this23.fileDownload(act.id);\n break;\n case 27:\n //导入excel\n _this23.showLeadDialog(act);\n break;\n case 29:\n break;\n case 36:\n //网页打印(视图)\n _this23.viewPrint(act);\n break;\n case 43:\n //跳转\n _this23.jumpType(act);\n break;\n default:\n break;\n }\n }\n\n // if(response.data.errcode == 0 && response.data.data) {\n // let errcode = response.data.errcode;\n // let errmsg = response.data.data.content;\n // this.$notify.error({\n // title: errmsg,\n // message: ''\n // });\n // }else if(response.data.errcode == 0){\n // switch(act.type) {\n // case 1: //载入视图\n // this.getTemplate(act);\n // break;\n // case 2: //新建表单\n // this.doCreate(act);\n // break;\n // case 3: //删除数据\n // this.removeDocuments(act,docIds);\n // break;\n // case 16: //导出excel\n // this.currentClickBtnAct = act;\n // let selectAll = [];\n // let columns = this.view.columns;\n // columns.forEach(el => {\n // selectAll.push(el.name);\n // });\n // this.excelSelectList = selectAll;\n // this.exportDialog = true;\n // break;\n // case 18: //清空所有数据\n // this.clearAllData(act);\n // break;\n // case 20: //批量提交\n // this.onSubmit(act, docIds);\n // break;\n // case 26: //文件下载\n // this.fileDownload(act.id);\n // break;\n // case 36: //网页打印(视图)\n // this.viewPrint(act);\n // break;\n // case 43: //跳转\n // this.jumpType(act);\n // break;\n // default:\n // break;\n // }\n // }\n }\n });\n }\n },\n computed: {\n viewType: function viewType() {\n //let type = \"view_emptyview\";\n var type = \"\";\n if (this.view) {\n switch (this.view.simpleClassName) {\n case \"CollapsibleView\":\n //折叠视图\n if (this.view.collapsibleShowMode == \"card\") {\n type = \"view_cardview\";\n } else {\n type = \"view_collapsibleview\";\n }\n break;\n case \"CalendarView\":\n //日历视图\n type = \"view_calendarview\";\n break;\n case \"TreeView\":\n //树形视图\n type = \"view_treeview\";\n break;\n case \"MapView\":\n //地图视图\n type = \"view_mapview\";\n break;\n case \"GanttView\":\n //甘特视图\n type = \"view_gantt\";\n break;\n case \"ListView\":\n //列表视图\n if (this.view.openType == 288) {\n //网格打开\n type = \"view_gridview\";\n } else {\n //正常打开\n type = \"view_listview\";\n }\n break;\n default:\n }\n }\n return type;\n },\n listenIncludeViewUpdate: function listenIncludeViewUpdate() {\n return this.$store.state.includeViewId;\n }\n }\n};",null]}