1 |
- (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-5f5abd67"],{"1c4c":function(t,e,n){"use strict";n.d(e,"c",(function(){return r})),n.d(e,"b",(function(){return c})),n.d(e,"a",(function(){return i}));var a=n("b775");function r(t){return Object(a["a"])({url:"/source/data/search",method:"post",data:t})}function c(t){return Object(a["a"])({url:"/source/data/info",method:"post",data:t})}function i(t){return Object(a["a"])({url:"/source/data/find",method:"post",data:t})}},"43f6":function(t,e,n){},6534:function(t,e,n){"use strict";n("43f6")},"7cb9":function(t,e,n){"use strict";n.r(e);var a,r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"template-textarea"},[1==t.isEdit?[n("div",{staticClass:"editor-area sticky-editor"},[n("ckeditor",{ref:"editor",attrs:{config:t.editorConfig,editorUrl:t.editorUrl},on:{focus:t.onFocus,blur:t.onBlur,input:t.onInputText,ready:t.onEditorReady},model:{value:t.com.content,callback:function(e){t.$set(t.com,"content",e)},expression:"com.content"}})],1)]:[n("div",{ref:"richEditor",staticClass:"rich-editor",domProps:{innerHTML:t._s(t.content)},on:{click:t.handleImageClick}})],t.loading?n("div",{staticClass:"overlay"},[n("el-progress",{staticClass:"full-width-progress",attrs:{percentage:t.progress}})],1):t._e()],2)},c=[],i=n("ade3"),s=n("4478"),o=n("2909"),u=n("b85c"),l=n("c7eb"),d=n("1da1"),p=(n("d9e2"),n("99af"),n("4de4"),n("caad"),n("14d9"),n("b0c0"),n("a9e3"),n("b680"),n("b64b"),n("d3b7"),n("07ac"),n("4d63"),n("c607"),n("ac1f"),n("2c3e"),n("25f0"),n("2532"),n("3ca3"),n("466d"),n("5319"),n("0643"),n("2382"),n("4e3e"),n("159b"),n("ddb0"),n("1c4c")),h=n("bc3a"),b=n.n(h),f=(n("1157"),n("22d6")),m={name:"app",emits:["onUpdate","onUpdateAttr","onUpdateProdAttr"],components:{CanvasEditor:f["a"]},props:{coms:{type:Array,default:function(){return[]}},isEdit:{type:Number,default:2},isAdmin:{type:Number,default:2},currentIndex:{type:Number,default:0},com:{type:Object,default:null},insertCmd:{type:Object,default:null}},watch:{isEdit:{handler:function(t){console.log(t);var e=this;null==e.com&&e.replaceData(e.com.content).then((function(t){e.content=t,e.$nextTick((function(){e.bindEvents()}))}))},immediate:!0,deep:!0},com:{handler:function(t){var e=this;return Object(d["a"])(Object(l["a"])().mark((function n(){var a,r;return Object(l["a"])().wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(a=e,null!=t){n.next=3;break}return n.abrupt("return");case 3:if(void 0!=t.content&&null!=t.content){n.next=5;break}return n.abrupt("return");case 5:return n.prev=5,n.next=8,a.replaceData(t.content);case 8:r=n.sent,a.content=r,a.$nextTick((function(){a.bindEvents(),a.initializeInputWidths()})),n.next=16;break;case 13:n.prev=13,n.t0=n["catch"](5),console.error("处理 com 时出错:",n.t0);case 16:case"end":return n.stop()}}),n,null,[[5,13]])})))()},immediate:!0,deep:!0},insertCmd:{handler:function(t){if(null!=t&&1==this.isEdit){var e=this.$refs.editor.instance.getSelection().getSelectedText();t.content.indexOf("Directory",0)>=0&&(this.$emit("onUpdateAttr",this.currentIndex,this.com.attrs.length-1,e),this.$refs.editor.instance.execCommand("delete")),this.$refs.editor.instance.insertHtml(t.content)}},immediate:!0,deep:!0}},data:function(){return{editorUrl:"/ckeditor/ckeditor.js",editorConfig:{language:"zh-cn",height:"650px"},content:"",editor:null,loading:!1,progress:0,isEditing:!1,focusedInputId:null,variableNullInputs:{},Modetype:"edit",htmlData:"",docJson:null,keys:(new Date).getTime()}},mounted:function(){var t=this;this.$nextTick((function(){t.initializeInputWidths()}))},beforeDestroy:function(){this.$el.removeEventListener("input",this.handleInputChange),this.$el.removeEventListener("input",this.handleVariableNullInput),this.$el.removeEventListener("blur",this.handleVariableNullBlur,!0)},methods:(a={save:function(t){console.log("保存数据:",t)},getSave:function(t){console.log("是否已保存:",t)},replaceData:function(t){var e=this;return Object(d["a"])(Object(l["a"])().mark((function n(){var a,r,c,i,d;return Object(l["a"])().wrap((function(n){while(1)switch(n.prev=n.next){case 0:a=e,r={abs:Math.abs,ceil:Math.ceil,floor:Math.floor,max:Math.max,min:Math.min,round:Math.round,sqrt:Math.sqrt,IF:function(t,e,n){return t?e:n}},c=Object(l["a"])().mark((function n(){var c,p,h,b,f,m,v,x,g,j,O,w,k,y,I,E,$,N,C,L,A,D,F,M,R;return Object(l["a"])().wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(c=a.com.attrs[d].id,"variable"!=a.com.attrs[d].type){n.next=6;break}if(p=a.com.attrs[d],2==p.data.value_type){for(h=p.data.value_item.split(","),b='<select id="'+c+'" data-index="'+d+'" class="text-input-box">',i=0;i<h.length;i++)p.content==h[i]?b+='<option value="'+h[i]+'" selected>'+h[i]+"</option>":b+='<option value="'+h[i]+'">'+h[i]+"</option>";b+="</select>",t=t.replace("{{"+p.id+"}}",b)}else t=t.replace("{{"+c+"}}",'<input type="text" ref="input_'+c+'" name="'+a.com.attrs[d].name+'" id="'+c+'" data-index="'+d+'" class="text-input-box auto-width" value="'+a.com.attrs[d].content+'">');n.next=43;break;case 6:if("variableNull"!=a.com.attrs[d].type){n.next=12;break}f=a.com.attrs[d],e.variableNullInputs[c]=f.content,t=t.replace("{{"+c+"}}",'<input type="text" ref="input_'+c+'" name="'+f.name+'" id="'+c+'" data-index="'+d+'" data-attr-id="'+c+'" class="text-input-boxs auto-width" value="'+f.content+'">'),n.next=43;break;case 12:if("ProductAttr"!=a.com.attrs[d].type){n.next=19;break}if(m=a.com.attrs[d],v=m.id+"_"+d,""==m.content&&(m.content=m.attrs.value),1==m.attrs.type)t=t.replace("{{"+m.id+"}}",'<input type="text" id="'+v+'" data-index="'+d+'" class="text-input-box" value="'+m.content+'">');else{for(x=m.attrs.valueItems.split(","),g='<select id="'+v+'" data-index="'+d+'" class="text-input-box">',i=0;i<x.length;i++)m.content==x[i]?g+='<option value="'+x[i]+'" selected>'+x[i]+"</option>":g+='<option value="'+x[i]+'">'+x[i]+"</option>";g+="</select>",t=t.replace("{{"+m.id+"}}",g)}n.next=43;break;case 19:if("formual"!=a.com.attrs[d].type){n.next=35;break}return n.next=22,a.analysisFormual(a.com.attrs[d]);case 22:return j=n.sent,O=a.com.attrs[d].data.point,n.next=26,a.getRemote(j);case 26:if(j=n.sent,w={},k=/\b[a-zA-Z_][a-zA-Z0-9_]*\b/g,y=j.match(k),y){I=Object(u["a"])(y);try{for(I.s();!(E=I.n()).done;)$=E.value,"IF"===$||Object.keys(r).includes($)||(w[$]="".concat($))}catch(l){I.e(l)}finally{I.f()}}N=function(t,e){var n=Object(s["a"])(Function,Object(o["a"])(Object.keys(r)).concat(Object(o["a"])(Object.keys(e)),["return ".concat(t)]));return n.apply(void 0,Object(o["a"])(Object.values(r)).concat(Object(o["a"])(Object.values(e))))};try{C=N(j,w),L="number"!==typeof C||isNaN(C)?"boolean"===typeof C?C?"1":"0":String(C):C.toFixed(O),a.com.attrs[d].content=L,t=t.replace("{{"+a.com.attrs[d].id+"}}",L)}catch(T){console.error("处理公式时出错:",T),console.error("错误的公式:",j),a.com.attrs[d].content="计算错误",t=t.replace("{{"+a.com.attrs[d].id+"}}","计算错误")}n.next=43;break;case 35:if("sourceData"!=a.com.attrs[d].type){n.next=42;break}return n.next=38,a.getRemote1(a.com.attrs[d].formula);case 38:A=n.sent,t=t.replace("{{"+c+"}}",A),n.next=43;break;case 42:"Directory"==a.com.attrs[d].type?(D=a.com.attrs[d].number+". "+a.com.attrs[d].content,F=a.com.attrs[d].level||1,M=a.com.attrs[d].id,R=new RegExp("<div[^>]*>\\s*{{\\s*".concat(M,"\\s*}}\\s*</div>|{{\\s*").concat(M,"\\s*}}"),"g"),t=t.replace(R,(function(t,e,n){var a="h".concat(Math.min(F,6)),r="directory-level-".concat(F);return"<".concat(a,' class="').concat(r,'">').concat(D,"</").concat(a,">")}))):t=t.replace("{{"+c+"}}",a.com.attrs[d].content);case 43:case"end":return n.stop()}}),n)})),d=0;case 4:if(!(d<a.com.attrs.length)){n.next=9;break}return n.delegateYield(c(),"t0",6);case 6:d++,n.next=4;break;case 9:return e.$nextTick((function(){e.addInputListeners(),e.initializeInputWidths(),e.addVariableNullListeners()})),n.abrupt("return",t);case 11:case"end":return n.stop()}}),n)})))()},addVariableNullListeners:function(){this.$el.addEventListener("input",this.handleVariableNullInput),this.$el.addEventListener("blur",this.handleVariableNullBlur,!0)},handleVariableNullInput:function(t){if(t.target.classList.contains("text-input-boxs")){var e=t.target.dataset.attrId,n=t.target.value;this.$set(this.variableNullInputs,e,n)}},handleVariableNullBlur:function(t){if(t.target.classList.contains("text-input-boxs")){var e=parseInt(t.target.dataset.index,10),n=t.target.dataset.attrId,a=this.variableNullInputs[n];this.updateVariableNullContent(e,n,a,!0)}},updateVariableNullContent:function(t,e,n){var a=this,r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];this.com&&this.com.attrs&&this.com.attrs[t]&&this.com.attrs[t].id===e&&(this.$set(this.com.attrs[t],"content",n),this.$nextTick((function(){var t=a.$el.querySelector("#".concat(e));t&&(t.value=n)})),r&&this.$emit("onUpdata",this.currentIndex,t,e,n))},addInputListeners:function(){this.$el.addEventListener("blur",this.handleInputChange,!0),this.$el.addEventListener("input",this.adjustInputWidth,!0)},initializeInputWidths:function(){var t=this,e=this.$el.querySelectorAll(".text-input-box, .text-input-boxs");e.forEach((function(e){return t.adjustInputWidth({target:e})}))},adjustInputWidth:function(t){if(t.target.classList.contains("text-input-box")||t.target.classList.contains("text-input-boxs")){var e=t.target,n=document.createElement("span");n.className="size-calculator",n.textContent=e.value||e.placeholder||"0",document.body.appendChild(n);var a=window.getComputedStyle(e);n.style.font=a.font,n.style.fontSize=a.fontSize,n.style.fontWeight=a.fontWeight,n.style.letterSpacing=a.letterSpacing;var r=n.offsetWidth;e.style.width="".concat(r+10,"px"),document.body.removeChild(n)}},handleInputChange:function(t){var e=this;if(t.target.classList.contains("text-input-box")||t.target.classList.contains("text-input-boxs")){t.target.id;var n=t.target.name,a=parseInt(t.target.dataset.index,10),r=t.target.value;this.com&&this.com.attrs&&this.com.attrs[a]?(this.$set(this.com.attrs[a],"content",r),this.com.attrs.forEach((function(t){t.name===n&&e.$set(t,"content",r)})),this.$emit("onUpdateAttr",this.currentIndex,a,r)):console.warn("Unable to find attribute at index ".concat(a))}},bindEvents:function(){for(var t=this,e=0;e<t.com.attrs.length;e++){var n=t.com.attrs[e].id,a=t.com.attrs[e];if("variable"==t.com.attrs[e].type){var r=t.$el.querySelector("#"+n);r&&(2==a.data.value_type?r.addEventListener("change",t.handleInput):r.addEventListener("blur",t.handleInput))}else if("ProductAttr"==t.com.attrs[e].type){var c=a.id+"_"+e,i=t.$el.querySelector("#"+c);i&&(1==a.attrs.type?i.addEventListener("blur",t.handleInputProduct):i.addEventListener("change",t.handleChangeProduct))}}},analysisFormual:function(t){var e=this;return Object(d["a"])(Object(l["a"])().mark((function n(){var a,r,c,i,s;return Object(l["a"])().wrap((function(n){while(1)switch(n.prev=n.next){case 0:return a=e,r=t.formula,c=/\[T\]\[(.*?)\]\[(.*?)\]/g,n.next=5,e.replaceAsync(r,c,function(){var t=Object(d["a"])(Object(l["a"])().mark((function t(e,n,r){var c;return Object(l["a"])().wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,a.getModuleData(n,r);case 3:if(c=t.sent,null!==c&&void 0!==c){t.next=9;break}return console.warn("获取到的数据无效: ".concat(e)),t.abrupt("return","''");case 9:return t.abrupt("return","string"===typeof c?"".concat(c):c);case 10:t.next=16;break;case 12:return t.prev=12,t.t0=t["catch"](0),console.error("处理 ".concat(e," 时出错:"),t.t0),t.abrupt("return","''");case 16:case"end":return t.stop()}}),t,null,[[0,12]])})));return function(e,n,a){return t.apply(this,arguments)}}());case 5:r=n.sent,i=/IF\s*\((.*?),(.*?),(.*?)\)/gi,s=0;while(r.match(i)&&s<10)r=r.replace(i,(function(t,e,n,a){return n.includes("IF(")||a.includes("IF(")||n.includes("if(")||a.includes("if(")?"(".concat(e," ? (").concat(n,") : (").concat(a,"))"):"(".concat(e," ? ").concat(n," : ").concat(a,")")})),s++;return n.abrupt("return",r);case 10:case"end":return n.stop()}}),n)})))()},replaceAsync:function(t,e,n){return Object(d["a"])(Object(l["a"])().mark((function a(){var r,c;return Object(l["a"])().wrap((function(a){while(1)switch(a.prev=a.next){case 0:return r=[],t.replace(e,(function(t){for(var e=arguments.length,a=new Array(e>1?e-1:0),c=1;c<e;c++)a[c-1]=arguments[c];var i=n.apply(void 0,[t].concat(a));r.push(i)})),a.next=4,Promise.all(r);case 4:return c=a.sent,a.abrupt("return",t.replace(e,(function(){return c.shift()})));case 6:case"end":return a.stop()}}),a)})))()}},Object(i["a"])(Object(i["a"])(Object(i["a"])(Object(i["a"])(Object(i["a"])(Object(i["a"])(Object(i["a"])(Object(i["a"])(Object(i["a"])(Object(i["a"])(a,"replaceAsync",(function(t,e,n){return Object(d["a"])(Object(l["a"])().mark((function a(){var r,c;return Object(l["a"])().wrap((function(a){while(1)switch(a.prev=a.next){case 0:return r=[],t.replace(e,(function(t){for(var e=arguments.length,a=new Array(e>1?e-1:0),c=1;c<e;c++)a[c-1]=arguments[c];var i=n.apply(void 0,[t].concat(a));r.push(i)})),a.next=4,Promise.all(r);case 4:return c=a.sent,a.abrupt("return",t.replace(e,(function(){return c.shift()})));case 6:case"end":return a.stop()}}),a)})))()})),"getFormualData",(function(t,e){var n=this;return Object(d["a"])(Object(l["a"])().mark((function e(){var a,r,c,i,s;return Object(l["a"])().wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(a=n,r=/\[(.*?)\]\[(.*?)\]\[(.*?)\]/,c=new RegExp(r),i=t.match(c),s=0,!i||"T"!=i[1]){e.next=11;break}return e.next=8,a.getModuleData(i[2],i[3]);case 8:s=e.sent,e.next=12;break;case 11:console.warn("无法解析公式项:",t);case 12:return e.abrupt("return",s);case 13:case"end":return e.stop()}}),e)})))()})),"getRemote",(function(t){var e=this;return Object(d["a"])(Object(l["a"])().mark((function n(){var a,r,c,i,s,o,u;return Object(l["a"])().wrap((function(n){while(1)switch(n.prev=n.next){case 0:a=e,r=/\[(.*?)\]\[(.*?)\]\[(.*?)\]\[(.*?)\]/,c=new RegExp(r);case 3:if(i=t.match(c),null!=i){n.next=7;break}return n.abrupt("break",18);case 7:if("R"!=i[1]){n.next=16;break}return s=i[4],s=i[4].split(","),n.next=12,a.getRemoteData(i[2],i[3],s[0],s[1]);case 12:o=n.sent,u=i[0],t=isNaN(o)?t.replace(u,'"'.concat(o,'"')):t.replace(u,"("+parseFloat(o)+")"),t=t.replace(u,"("+parseFloat(o)+")");case 16:n.next=3;break;case 18:return n.abrupt("return",t);case 19:case"end":return n.stop()}}),n)})))()})),"getRemote1",(function(t){var e=this;return Object(d["a"])(Object(l["a"])().mark((function n(){var a,r,c,i,s,o,u;return Object(l["a"])().wrap((function(n){while(1)switch(n.prev=n.next){case 0:a=e,r=/\[(.*?)\]\[(.*?)\]\[(.*?)\]\[(.*?)\]/,c=new RegExp(r);case 3:if(i=t.match(c),null!=i){n.next=7;break}return n.abrupt("break",17);case 7:if("R"!=i[1]){n.next=15;break}return s=i[4],s=i[4].split(","),n.next=12,a.getRemoteData(i[2],i[3],s[0],s[1]);case 12:o=n.sent,u=i[0],t=isNaN(o)?t.replace(u,'"'.concat(o,'"')):t.replace(u,"("+parseFloat(o)+")");case 15:n.next=3;break;case 17:return n.abrupt("return",t);case 18:case"end":return n.stop()}}),n)})))()})),"onFocus",(function(){this.isEditing=!0})),"onBlur",(function(){this.isEditing=!1})),"getRemoteData",(function(t,e,n,a){var r=this;return Object(d["a"])(Object(l["a"])().mark((function c(){var i,s,o;return Object(l["a"])().wrap((function(c){while(1)switch(c.prev=c.next){case 0:return r,i=0,s={code:t,sheetName:e,row:n,col:a},c.prev=3,c.next=6,Object(p["a"])(s);case 6:if(o=c.sent,o){c.next=10;break}return console.warn("No response received from findData"),c.abrupt("return",i);case 10:200===o.status&&o.data?(i=o.data.result,"string"!==typeof i||isNaN(i)||(i=parseFloat(i))):console.warn("Invalid response format:",o),c.next=17;break;case 13:c.prev=13,c.t0=c["catch"](3),console.error("获取远程数据错误:",c.t0),r.$message&&r.$message.error("获取远程数据失败");case 17:return c.abrupt("return",i);case 18:case"end":return c.stop()}}),c,null,[[3,13]])})))()})),"getModuleData",(function(t,e){var n=this;return Object(d["a"])(Object(l["a"])().mark((function a(){var r,c,i;return Object(l["a"])().wrap((function(a){while(1)switch(a.prev=a.next){case 0:if(r=n,c=r.coms.filter((function(e){return e.name==t})),!(c.length>0)){a.next=6;break}if(i=c[0].attrs.filter((function(t){return t.name==e})),!(i.length>0)){a.next=6;break}return a.abrupt("return",i[0].content);case 6:return a.abrupt("return","");case 7:case"end":return a.stop()}}),a)})))()})),"handleChangeProduct",(function(t){var e=t.target.dataset.index;this.$emit("onUpdateProdAttr",this.currentIndex,e,t.target.value)})),"handleInputProduct",(function(t){var e=t.target.dataset.index;this.$emit("onUpdateProdAttr",this.currentIndex,e,t.target.value)})),Object(i["a"])(Object(i["a"])(Object(i["a"])(Object(i["a"])(Object(i["a"])(Object(i["a"])(Object(i["a"])(Object(i["a"])(a,"handleInput",(function(t){var e=t.target.dataset.index;this.$emit("onUpdateAttr",this.currentIndex,e,t.target.value)})),"onEditorReady",(function(t){})),"onInputText",(function(t){this.$emit("onUpdate",this.currentIndex,t)})),"handleImageClick",(function(t){"IMG"===t.target.tagName&&this.replaceImage(t.target)})),"selectImage",(function(){return new Promise((function(t){var e=document.createElement("input");e.type="file",e.accept="image/*",e.onchange=function(e){return t(e.target.files[0])},e.click()}))})),"uploadImage",(function(t){return Object(d["a"])(Object(l["a"])().mark((function e(){var n;return Object(l["a"])().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,b.a.post("http://58.246.234.210:8084/upload/image",t,{headers:{"Content-Type":"multipart/form-data"}});case 3:if(n=e.sent,console.log("Upload response:",n),200!==n.status||!n.data||!n.data.url){e.next=9;break}return e.abrupt("return",n.data.url);case 9:throw new Error("Invalid upload response");case 10:e.next=16;break;case 12:throw e.prev=12,e.t0=e["catch"](0),console.error("Error uploading image:",e.t0),e.t0;case 16:case"end":return e.stop()}}),e,null,[[0,12]])})))()})),"replaceImage",(function(t){var e=this;return Object(d["a"])(Object(l["a"])().mark((function n(){var a,r,c;return Object(l["a"])().wrap((function(n){while(1)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,e.selectImage();case 3:if(a=n.sent,!a){n.next=12;break}return r=new FormData,r.append("upload",a),n.next=9,e.uploadImage(r);case 9:c=n.sent,t.src=c,e.$nextTick((function(){e.updateContentWithNewImage(t,c)}));case 12:n.next=17;break;case 14:n.prev=14,n.t0=n["catch"](0),console.error("Error replacing image:",n.t0);case 17:case"end":return n.stop()}}),n,null,[[0,14]])})))()})),"updateContentWithNewImage",(function(t,e){var n=this.$refs.richEditor,a=document.createElement("img");a.src=e;var r,c=Object(u["a"])(t.attributes);try{for(c.s();!(r=c.n()).done;){var i=r.value;"src"!==i.name&&a.setAttribute(i.name,i.value)}}catch(s){c.e(s)}finally{c.f()}t.parentNode.replaceChild(a,t),this.content=n.innerHTML,this.com.content=this.content,this.$emit("updateComContent",this.currentIndex,this.com)})))},v=m,x=(n("6534"),n("2877")),g=Object(x["a"])(v,r,c,!1,null,"10623b7c",null);e["default"]=g.exports}}]);
|