{"remainingRequest":"D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\cssc-fvue\\src\\components\\eipControl\\EipTextarea.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\cssc-fvue\\src\\components\\eipControl\\EipTextarea.vue","mtime":1667804639118},{"path":"D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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-textarea\",\r\n props: [\r\n \"validate\",\r\n \"value\",\r\n \"name\",\r\n \"permission\",\r\n \"atter\",\r\n \"type\",\r\n \"initialFrameHeight\" ,\r\n \"initialFrameWidth\" ,\r\n \"placeholder\",\r\n \"isEditor\",\r\n \"noToolbar\",\r\n \"isInputEdit\",\r\n \"textValue\",\r\n \"precision\",\r\n \"textAlign\",\r\n ],\r\n mixins: [sub_pio_mixin],//混入方式引入表单组件中公共属性,处理子表、孙表行内联动(切面修改permission_sub)\r\n data() {\r\n return {\r\n config_text:{\r\n\t\t\t\tinitialFrameHeight: 50,\r\n\t\t\t\tUEDITOR_HOME_URL: window.location.origin +'/'+ window.location.pathname.split('/')[1]+'/static/ueditor/',\r\n\t\t\t\ttoolbars:[],\r\n elementPathEnabled:false,//是否启用元素路径,默认是true显示 \r\n wordCount:false, //是否开启字数统计\r\n\t\t\t\t// 初始容器宽度\r\n\t\t\t\tinitialFrameWidth: \"100%\",\r\n\t\t\t\tzIndex:99,\r\n\t\t\t\tenableAutoSave: false,\r\n\t\t\t\treadonly : true\r\n\t\t\t},\r\n width:\"100%\",\r\n unwatchAry: [],\r\n newValidate:null,\r\n data: {}\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 //start = text.substring(0, text.indexOf(\"{\"));\r\n //end = text.substring(text.lastIndexOf(\"}\") + 1, text.length);\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 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 // 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 // let subIndex = utils.getSomeAttributeFromParentElement(t.$el,\"sub-index\");\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 getField(data,fieldArr){\r\n if(!data || !fieldArr || fieldArr.length < 3 || fieldArr[0] != 'data'){\r\n return \"\";\r\n }\r\n if(fieldArr.length == 3){\r\n //子表\r\n\r\n }\r\n }\r\n },\r\n computed: {\r\n inputVal:{\r\n get() {\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 }\r\n if(!this.value){\r\n let moment = require(\"moment\");\r\n if(text){\r\n setTimeout(() => {\r\n let isJoin = false;\r\n if(text.indexOf(\"{发起时间:startDate}\") != -1){\r\n text=text.replace(/\\{发起时间:startDate}/g,\"发起时间:\"+moment().format(\"YYYY-MM-DD\")+\" \");\r\n isJoin = true;\r\n }\r\n if(text.indexOf(\"{发起人:startUser}\") != -1){\r\n let currentUser= this.$store.state.user.currentUserDetail.user;\r\n text=text.replace(/\\{发起人:startUser}/g,\"发起人:\"+currentUser.fullname+\" \");\r\n isJoin = true;\r\n }\r\n if(text.indexOf(\"{所在部门:userOrg}\") != -1){\r\n let currentOrg=this.$store.state.user.currentOrgDetail;\r\n var name=\"无\";\r\n if(currentOrg && currentOrg.name){\r\n name=currentOrg.name;\r\n }\r\n text=text.replace(/\\{所在部门:userOrg}/g,\"所在部门:\"+name+\" \");\r\n isJoin = true;\r\n }\r\n if(!isJoin){\r\n text = _this.getObjectValue(text, _this);\r\n }\r\n this.$emit(\"input\", text);\r\n return text;\r\n },900);\r\n }\r\n }else{\r\n return _this.getObjectValue(text,_this,this.value);\r\n }\r\n },\r\n set(val) {\r\n this.$emit(\"input\", val);\r\n }\r\n },\r\n text: function(){\r\n if(this.textValue){\r\n return Base64.decode(this.text);\r\n }\r\n },\r\n inputName: function() {\r\n let labeldesc = \"\";\r\n if (\r\n this.$slots &&\r\n this.$slots.labeldesc &&\r\n this.$slots.labeldesc[0].children &&\r\n this.$slots.labeldesc[0].children[0].text\r\n ) {\r\n labeldesc = this.$slots.labeldesc[0].children[0].text;\r\n return this.name ? this.name : utils.getName() + \"-\" + labeldesc;\r\n } else {\r\n return this.name ? this.name : utils.getName();\r\n }\r\n },\r\n inputValidate: function() {\r\n if(this.newValidate){\r\n return this.newValidate;\r\n }\r\n return this.validate;\r\n },\r\n config:function(){\r\n let configTemp ={\r\n initialFrameHeight: 240,\r\n UEDITOR_HOME_URL: window.location.origin +'/'+ window.location.pathname.split('/')[1]+'/static/ueditor/',\r\n toolbars: [\r\n [\r\n // 'source', //源代码\r\n 'undo', //撤销\r\n 'bold', //加粗\r\n 'indent', //首行缩进\r\n 'italic', //斜体\r\n 'underline', //下划线\r\n 'strikethrough', //删除线\r\n 'subscript', //下标\r\n 'fontborder', //字符边框\r\n 'superscript', //上标\r\n 'formatmatch', //格式刷\r\n 'forecolor',//字体颜色\r\n 'justifyleft', //居左对齐\r\n 'justifycenter', //居中对齐\r\n 'justifyright', //居右对齐\r\n 'justifyjustify', //两端对齐\r\n 'fontfamily', //字体\r\n 'fontsize', //字号\r\n 'insertorderedlist', //有序列表\r\n 'insertunorderedlist', //无序列表\r\n 'lineheight',//行间距\r\n 'inserttable', //插入表格\r\n 'link', //超链接\r\n 'simpleupload', //单图上传\r\n 'insertimage', //多图上传\r\n 'attachment', //附件\r\n ]\r\n ],\r\n elementPathEnabled:false,//是否启用元素路径,默认是true显示 \r\n wordCount:false, //是否开启字数统计\r\n // 初始容器宽度\r\n initialFrameWidth: \"100%\",\r\n zIndex:90,\r\n enableAutoSave: false,\r\n readonly : false\r\n };\r\n //是否显示工具栏\r\n if(this.noToolbar || this.permission_sub=='r'){\r\n configTemp.toolbars = [];\r\n }\r\n return configTemp;\r\n }\r\n },\r\n async mounted() {\r\n\r\n const { subScopeEl, index } = hotentUiUtils.getSubScopeElAndIndex(this.$el);\r\n //如果是编辑或者必填的情况下。但是该行不允许编辑,则将权限修改为只读\r\n if (subScopeEl && (subScopeEl.getAttribute(\"row_readonly\") == 'true' || subScopeEl.getAttribute(\"row_readonly\") === true) && (this.permission_sub =='w'|| this.permission_sub =='b' )) {\r\n this.permission_sub = 'r';\r\n }\r\n\r\n if(this.initialFrameHeight){\r\n this.config.initialFrameHeight=this.initialFrameHeight;\r\n }\r\n if(this.initialFrameWidth){\r\n this.config.initialFrameWidth=this.initialFrameWidth;\r\n }\r\n if(this.isInputEdit||this.permission_sub=='r'){\r\n this.config.readonly=true;\r\n }\r\n },\r\n created() {\r\n this.$validator = this.$root.$validator;\r\n }\r\n};\r\n",null]}