{"remainingRequest":"D:\\jenkins\\workspace\\examine-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\examine-fvue\\src\\components\\eipControl\\EipFontUeditor.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\examine-fvue\\src\\components\\eipControl\\EipFontUeditor.vue","mtime":1667280203998},{"path":"D:\\jenkins\\workspace\\examine-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\examine-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\examine-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport utils from \"@/utils.js\";\r\nimport hotentUiUtils from \"@/hotent-ui-util.js\";\r\nimport { Base64 } from \"js-base64\";\r\nimport sub_pio_mixin from \"@/sub-permission-mixin.js\";\r\nexport default {\r\n name: \"eip-font-ueditor\",\r\n props: [\"textValue\", \"permission\"],\r\n mixins: [sub_pio_mixin],//混入方式引入表单组件中公共属性,处理子表、孙表行内联动(切面修改permission_sub)\r\n data() {\r\n return {\r\n res:true,\r\n config_text: {\r\n initialFrameHeight: 30,\r\n UEDITOR_HOME_URL:\r\n window.location.origin +\r\n \"/\" +\r\n window.location.pathname.split(\"/\")[1] +\r\n \"/static/ueditor/\",\r\n toolbars: [],\r\n elementPathEnabled: false, //是否启用元素路径,默认是true显示\r\n wordCount: false, //是否开启字数统计\r\n // 初始容器宽度\r\n initialFrameWidth: \"100%\",\r\n zIndex: 99,\r\n enableAutoSave: false,\r\n readonly: true,\r\n },\r\n data: {},\r\n ueditorVal: \"\",\r\n };\r\n },\r\n methods: {\r\n getObjectValue(text, t, v) {\r\n let start = \"\";\r\n let end = \"\";\r\n if(!text && v){\r\n return v;\r\n }\r\n let val2 = text.substring(text.indexOf(\"{\") +2, text.indexOf(\"}\")).split(\".\");\r\n if(val2.length == 1){\r\n return text;\r\n }\r\n let rtn = \"\";\r\n let regVal = null;\r\n let reg = /\\{\\{[\\.\\d\\w]+\\}\\}/;\r\n let check = new RegExp(\"[\\u4e00-\\u9fa5]\");\r\n //从左到右遍历text,将匹配到的bo数据替换到返回值中\r\n while((regVal = reg.exec(text)) != null){\r\n rtn += text.substr(0,regVal.index);\r\n let val = regVal[0];\r\n if(check.test(val.replace(/(\\{\\{)|(\\}\\})/g,\"\")) || !val.startsWith(\"{{data.\")){\r\n rtn += val;\r\n text = text.substr(regVal.index + val.length);\r\n continue;\r\n }\r\n let length = val.length;\r\n val = val.replace(/(\\{\\{)|(\\}\\})/g,\"\");\r\n let arr = val.split(\".\").splice(1);\r\n if(arr.length == 2){\r\n //主表 [\"mainEnt\", \"field\"]\r\n if(t.data[arr[0]][arr[1]]){\r\n rtn += t.data[arr[0]][arr[1]];\r\n }\r\n text = text.substr(regVal.index + length);\r\n }else if(arr.length == 3){\r\n //子表 [\"mainEnt\", \"sub_\"+\"subEnt\", \"field\"]\r\n let subIndex = utils.getSomeAttributeFromParentElement(t.$el,\"sub-index\"); //子表下标\r\n let curData = t.data[arr[0]][arr[1]][subIndex] //子表单行数据\r\n if(curData[arr[2]]){\r\n rtn += curData[arr[2]];\r\n }\r\n text = text.substr(regVal.index + length);\r\n }\r\n }\r\n //循环结束后,将剩余的数据加到返回值中\r\n if(text){\r\n rtn += text;\r\n }\r\n return rtn;\r\n // let start = \"\";\r\n // let end = \"\";\r\n // if (!text && v) {\r\n // return v;\r\n // }\r\n // start = text.substring(0, text.indexOf(\"{\"));\r\n // end = text.substring(text.lastIndexOf(\"}\") + 1, text.length);\r\n // let val = text\r\n // .substring(text.indexOf(\"{\") + 2, text.indexOf(\"}\"))\r\n // .split(\".\");\r\n // if (val.length == 1) {\r\n // return text;\r\n // }\r\n // let check = new RegExp(\"[\\u4e00-\\u9fa5]\");\r\n // val = val.filter((v) => {\r\n // return v != \"data\";\r\n // });\r\n // if (check.test(val)) {\r\n // return text;\r\n // }\r\n // if (val.length == 2) {\r\n // //主表\r\n // if (t.data[val[0]][val[1]]) {\r\n // return start + t.data[val[0]][val[1]] + end;\r\n // } else if (!start && !end) {\r\n // return \"''\";\r\n // }\r\n // return start + \"\" + end;\r\n // } else if (val.length == 3) {\r\n // //子表\r\n // //获取子表的下标\r\n // let subIndex = utils.getSomeAttributeFromParentElement(\r\n // t.$el,\r\n // \"sub-index\"\r\n // );\r\n // let attrArr = t.atter.split(\".\");\r\n // let attr = attrArr[attrArr.length - 1];\r\n // let data = t.data[val[0]][val[1]];\r\n // data.forEach((v) => {\r\n // if (v[val[2]] != v[attr]) {\r\n // v[attr] = start + v[val[2]] + end;\r\n // }\r\n // });\r\n // if (start + data[subIndex][val[2]] + end) {\r\n // return start + data[subIndex][val[2]] + end;\r\n // } else if (!start && !end) {\r\n // return \"''\";\r\n // }\r\n // }\r\n },\r\n },\r\n mounted() {\r\n let _this = this;\r\n _this.data = _this.$parent.$vnode.context.$vnode.context.data;\r\n let text = \"\";\r\n if (this.textValue) {\r\n text = Base64.decode(this.textValue);\r\n text = _this.getObjectValue(text, _this);\r\n _this.ueditorVal = text;\r\n }\r\n\r\n this.$root.$on(\"updateData\",function (res) {\r\n let text = \"\";\r\n _this.data = _this.$parent.$vnode.context.$vnode.context.data;\r\n if (_this.textValue) {\r\n text = Base64.decode(_this.textValue);\r\n text = _this.getObjectValue(text, _this);\r\n _this.ueditorVal = text;\r\n _this.$forceUpdate();\r\n }\r\n })\r\n\r\n\r\n\r\n },\r\n};\r\n",null]}