{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\bizComponents\\eipControl\\EipFontUeditor.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\bizComponents\\eipControl\\EipFontUeditor.vue","mtime":1675071991460},{"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\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\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 \"@/components/bizComponents/utils.js\";\r\nimport hotentUiUtils from \"@/hotent-ui-util.js\";\r\nimport { Base64 } from \"js-base64\";\r\nimport sub_pio_mixin from \"@/components/bizComponents/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]}