{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\eslint-loader\\index.js??ref--13-0!D:\\jenkins\\workspace\\xq-web-bpm\\src\\tripartite\\buildBigScreen\\src\\mixins\\index.js","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\tripartite\\buildBigScreen\\src\\mixins\\index.js","mtime":1675071992522},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\eslint-loader\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["import \"core-js/modules/es6.array.find\";\nimport \"core-js/modules/es6.function.name\";\nimport \"core-js/modules/web.dom.iterable\";\n// 查看页面和编辑页面公用的参数和方法\nimport report from '@/api/report.js';\nimport common from '@/tripartite/buildBigScreen/src/config';\nimport { config } from '@/tripartite/buildBigScreen/src/option/config';\nimport container from '@/tripartite/buildBigScreen/src/page/group/container';\nimport { getList } from '@/tripartite/buildBigScreen/src/api/map';\nexport default {\n components: {\n container: container\n },\n provide: function provide() {\n return {\n main: this,\n contain: this\n };\n },\n data: function data() {\n return {\n DIC: {\n MAP: []\n },\n contentWidth: '',\n config: config,\n obj: {},\n id: '',\n visual: {},\n nav: [],\n common: common,\n active: [],\n overactive: '',\n historyCache: [],\n // 历史操作数据用于undo redo\n currentHistoryIndex: -1,\n // redo undo 指针\n copyNav: '' // 用于监听去干扰,字符串类型,方便比较\n\n };\n },\n watch: {\n nav: {\n handler: function handler(val, oldval) {\n this.recordMain(val, oldval);\n },\n deep: true\n }\n },\n computed: {\n list: function list() {\n var result = []; //循环处理数据\n\n var detail = function detail(item) {\n if (item.children) {\n item.children.forEach(function (ele) {\n detail(ele);\n });\n } else {\n result.push(item);\n }\n };\n\n this.nav.forEach(function (ele) {\n detail(ele);\n });\n var len = result.length - 1;\n result.forEach(function (ele, index) {\n ele.zIndex = len - index;\n });\n return result;\n },\n // 能否撤销\n canUndo: function canUndo() {\n return this.currentHistoryIndex > 0;\n },\n canRedo: function canRedo() {\n return this.historyCache.length > this.currentHistoryIndex + 1;\n }\n },\n created: function created() {\n this.initDic();\n },\n methods: {\n //初始化字典\n initDic: function initDic() {\n var _this = this;\n\n report.getMapManagement({\n pageBean: {\n page: 1,\n pageSize: 50,\n total: 0\n }\n }).then(function (res) {\n var data = res.rows;\n _this.DIC.MAP = data.map(function (ele) {\n return {\n label: ele.name,\n value: window.context.report + 'bigScreen/bladeVisualMap/v1/' + ele.id\n };\n });\n }); // const data = [{\n // id: \"1235103352843448322\",\n // name: \"中国地图\",\n // }]\n // this.DIC.MAP = data.map(ele => {\n // return {\n // label: ele.name,\n // value: window.context.report + 'bigScreen/bladeVisualMap/v1/' + ele.id\n // }\n // });\n },\n findnav: function findnav(id, type) {\n var _this2 = this;\n\n //循环处理数据\n var obj = undefined;\n var count = 0;\n var parent = undefined;\n var pcount = 0;\n var len = 0;\n\n var detail = function detail(item, list, i) {\n var number = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n\n if (!item.children || type) {\n if (id === item.index) {\n obj = item;\n len = Array.isArray(list) ? list.length - 1 : list.children.length - 1;\n parent = list;\n pcount = number;\n count = i;\n }\n }\n\n if (item.children) {\n item.children.forEach(function (ele, index) {\n detail(ele, item, index, number + 1);\n });\n }\n };\n\n this.nav.forEach(function (ele, index) {\n detail(ele, _this2.nav, index);\n });\n return {\n obj: obj,\n count: count,\n len: len,\n pcount: pcount,\n parent: parent\n };\n },\n findlist: function findlist(index) {\n return this.list.find(function (ele) {\n return ele.index == index;\n }) || {};\n },\n handleInitActive: function handleInitActive() {\n this.active = [];\n },\n handleMouseDown: function handleMouseDown() {\n this.handleInitActive();\n },\n // =====================历史纪录=======================\n // 监听调用主程序\n recordMain: function recordMain(val, oldval) {\n //分两种情况:\n // 1. 版本在回撤时, 不要走监听(同时啥也没改)\n // 2. 版本回撤改了呢?那也要走监听重新推新的 \n if (JSON.stringify(val) != this.copyNav) {\n // 不一样的东西才值得记录\n // 这里监听不用deep,很多移动操作无法监听,但用了deep杂质很多,随便鼠标点一下就能触发监听\n // 注意不要这么判断 (val !== oldval) 因为很多时候新老值对比是一样的\n var newst = JSON.stringify(val);\n\n if (newst != this.copyNav) {\n // console.log('我不一样哦');\n this.copyNav = newst;\n this.addHistoryCache(val);\n } else {\n // console.log(\"一模一样,你记录个锤子啊!!\");\n return;\n }\n }\n },\n\n /**\r\n * 新增一条历史纪录\r\n * @param \r\n */\n addHistoryCache: function addHistoryCache(val) {\n if (this.currentHistoryIndex + 1 < this.historyCache.length) {\n this.historyCache.splice(this.currentHistoryIndex + 1);\n }\n\n this.historyCache.push({\n nav: this.deepClone(val) // activePageUUID: this.activePageUUID,\n // activeElementUUID: this.activeElementUUID\n\n }); // 限制undo 纪录步数,最多支持100步操作undo\n\n this.historyCache.splice(100);\n this.currentHistoryIndex++;\n },\n editorUndo: function editorUndo() {\n if (!this.canUndo) {\n return;\n }\n\n this.currentHistoryIndex--;\n this.relapceEditorState();\n },\n editorRedo: function editorRedo() {\n if (!this.canRedo) {\n return;\n }\n\n this.currentHistoryIndex++;\n this.relapceEditorState();\n },\n\n /**\r\n * 更新编辑器项目数据,从history中拿数据替换\r\n * @param data\r\n */\n relapceEditorState: function relapceEditorState() {\n var prevState = this.historyCache[this.currentHistoryIndex];\n this.nav = this.deepClone(prevState.nav); // 版本回退,本地保存一个,方便后面对比\n\n this.copyNav = JSON.stringify(prevState.nav);\n }\n }\n};",null]}