(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-dc680870"],{"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 o}));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 o(t){return Object(a["a"])({url:"/source/data/find",method:"post",data:t})}},"72c8":function(t,e,n){"use strict";n("87ab")},"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("CanvasEditor",{key:t.keys,ref:"wordEditor",attrs:{"edit-mode":t.Modetype,"html-data":t.com.content,"doc-json":t.docJson},on:{save:t.save,"is-save":t.getSave}})],1)]:[n("div",{ref:"richEditor",staticClass:"rich-editor",class:{"view-mode":2==t.isEdit},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=[],o=n("ade3"),i=n("4478"),s=n("2909"),u=n("b85c"),l=n("c7eb"),d=n("1da1"),p=(n("d9e2"),n("99af"),n("4de4"),n("7db0"),n("a630"),n("caad"),n("a15b"),n("d81d"),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("498a"),n("0643"),n("2382"),n("fffc"),n("4e3e"),n("a573"),n("159b"),n("ddb0"),n("1c4c")),h=n("bc3a"),b=n.n(h),f=(n("1157"),n("22d6")),v={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("isEdit:",t);var e=this;"2"==t?e.save():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.htmlData=r,a.content=r,a.$nextTick((function(){a.bindEvents(),a.initializeInputWidths()})),n.next=17;break;case 14:n.prev=14,n.t0=n["catch"](5),console.error("处理 com 时出错:",n.t0);case 17:case"end":return n.stop()}}),n,null,[[5,14]])})))()},immediate:!0,deep:!0},insertCmd:{handler:function(t){var e=this;null!=t&&1==this.isEdit&&this.$nextTick(Object(d["a"])(Object(l["a"])().mark((function n(){var a,r,c,o,i,s,u,d,p,h,b,f,v,m,x;return Object(l["a"])().wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(n.prev=0,e.$refs.wordEditor){n.next=4;break}return console.warn("编辑器未就绪"),n.abrupt("return");case 4:if(o=e.$refs.wordEditor,i=e.com.content||"",s=t.content,"ProductAttr"!==t.type){n.next=24;break}if(d=null===(u=t.attrs)||void 0===u||null===(u=u.specifications)||void 0===u?void 0:u[0],!d){n.next=24;break}h="".concat(t.id,"_").concat((null===(p=e.com.attrs)||void 0===p?void 0:p.length)||0),b='\n
\n
'.concat(d.psp_name||"规格",':
\n
\n
\n ",s=b;case 24:return s.includes("{{")&&s.includes("}}")&&(s=" ".concat(s," ")),o.getSelection?(x=o.getSelection(),m=x?i.substring(0,x.start)+s+i.substring(x.end):i+s):m=i+s,e.com.content=m,o.setHtmlData&&o.setHtmlData(m),e.keys=(new Date).getTime(),n.next=31,e.save({main:m});case 31:e.$nextTick((function(){e.bindProductAttrEvents(),e.$forceUpdate()})),n.next=37;break;case 34:n.prev=34,n.t1=n["catch"](0),console.error("插入内容时出错:",n.t1);case 37:case"end":return n.stop()}}),n,null,[[0,34]])}))))},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(),t.syncContent(),t.bindProductAttrEvents()}))},updated:function(){var t=this;this.$nextTick((function(){"2"==t.isEdit?t.syncContent():t.bindProductAttrEvents()}))},beforeDestroy:function(){var t=this;this.$el.removeEventListener("input",this.handleInputChange),this.$el.removeEventListener("input",this.handleVariableNullInput),this.$el.removeEventListener("blur",this.handleVariableNullBlur,!0);var e=this.$el.querySelectorAll(".text-input-box");e.forEach((function(e){e.removeEventListener("change",t.handleProductAttrChange)}))},methods:(a={save:function(t){var e=this;return new Promise(function(){var n=Object(d["a"])(Object(l["a"])().mark((function n(a,r){var c;return Object(l["a"])().wrap((function(n){while(1)switch(n.prev=n.next){case 0:return n.prev=0,c=t?t.main:e.com.content,e.com.content=c,n.next=5,e.$nextTick();case 5:return n.next=7,e.syncContent();case 7:return e.$emit("onUpdate",e.currentIndex,e.com.content),n.next=10,e.$nextTick();case 10:a(!0),n.next=17;break;case 13:n.prev=13,n.t0=n["catch"](0),console.error("保存失败:",n.t0),r(n.t0);case 17:case"end":return n.stop()}}),n,null,[[0,13]])})));return function(t,e){return n.apply(this,arguments)}}())},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,o,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,v,m,x,g,k,j,w,y,O,I,E,$,A,C,P,N,L,_,D,T,S,F,M,U;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='",t=t.replace("{{"+p.id+"}}",b)}else t=t.replace("{{"+c+"}}",'');n.next=65;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+"}}",''),n.next=65;break;case 12:if("ProductAttr"!=a.com.attrs[d].type){n.next=41;break}if(x=a.com.attrs[d],g=x.id+"_"+d,console.log("ProductAttr item:",x),console.log("ProductAttr specifications:",null===(v=x.attrs)||void 0===v?void 0:v.specifications),k=null===(m=x.attrs)||void 0===m||null===(m=m.specifications)||void 0===m?void 0:m[0],k){n.next=21;break}return console.warn("No specifications found for ProductAttr:",x),n.abrupt("return",1);case 21:if(j='\n \n
'.concat(k.psp_name||"规格",':
\n
\n
\n ",t=t.replace("{{"+x.id+"}}",j),n.next=65;break;case 41:if("formual"!=a.com.attrs[d].type){n.next=57;break}return n.next=44,a.analysisFormual(a.com.attrs[d]);case 44:return O=n.sent,I=a.com.attrs[d].data.point,n.next=48,a.getRemote(O);case 48:if(O=n.sent,E={},$=/\b[a-zA-Z_][a-zA-Z0-9_]*\b/g,A=O.match($),A){C=Object(u["a"])(A);try{for(C.s();!(P=C.n()).done;)N=P.value,"IF"===N||Object.keys(r).includes(N)||(E[N]="".concat(N))}catch(l){C.e(l)}finally{C.f()}}L=function(t,e){var n=Object(i["a"])(Function,Object(s["a"])(Object.keys(r)).concat(Object(s["a"])(Object.keys(e)),["return ".concat(t)]));return n.apply(void 0,Object(s["a"])(Object.values(r)).concat(Object(s["a"])(Object.values(e))))};try{_=L(O,E),D="number"!==typeof _||isNaN(_)?"boolean"===typeof _?_?"1":"0":String(_):_.toFixed(I),a.com.attrs[d].content=D,t=t.replace("{{"+a.com.attrs[d].id+"}}",D)}catch(W){console.error("处理公式时出错:",W),console.error("错误的公式:",O),a.com.attrs[d].content="计算错误",t=t.replace("{{"+a.com.attrs[d].id+"}}","计算错误")}n.next=65;break;case 57:if("sourceData"!=a.com.attrs[d].type){n.next=64;break}return n.next=60,a.getRemote1(a.com.attrs[d].formula);case 60:T=n.sent,t=t.replace("{{"+c+"}}",T),n.next=65;break;case 64:"Directory"==a.com.attrs[d].type?(S=a.com.attrs[d].number+". "+a.com.attrs[d].content,F=a.com.attrs[d].level||1,M=a.com.attrs[d].id,U=new RegExp("]*>\\s*{{\\s*".concat(M,"\\s*}}\\s*
|{{\\s*").concat(M,"\\s*}}"),"g"),t=t.replace(U,(function(t,e,n){var a="h".concat(Math.min(F,6)),r="directory-level-".concat(F);return"<".concat(a,' class="').concat(r,'">').concat(S,"").concat(a,">")})),t=t.replace(/{{([\w-]+)}}/g,(function(t,e){var n=a.com.attrs.find((function(t){return t.id===e}));if(n&&"Directory"===n.type){var r=n.level,c="h".concat(Math.min(r,6)),o="directory-level-".concat(r),i="".concat(n.number," ").concat(n.content);return"<".concat(c,' class="').concat(o,'">').concat(i,"").concat(c,">")}return t}))):t=t.replace("{{"+c+"}}",a.com.attrs[d].content);case 65:case"end":return n.stop()}}),n)})),d=0;case 4:if(!(d3&&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;e1?e-1:0),c=1;c1?e-1:0),c=1;c0)){a.next=6;break}if(o=c[0].attrs.filter((function(t){return t.name==e})),!(o.length>0)){a.next=6;break}return a.abrupt("return",o[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(o["a"])(Object(o["a"])(Object(o["a"])(Object(o["a"])(Object(o["a"])(Object(o["a"])(Object(o["a"])(Object(o["a"])(Object(o["a"])(Object(o["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 o=r.value;"src"!==o.name&&a.setAttribute(o.name,o.value)}}catch(i){c.e(i)}finally{c.f()}t.parentNode.replaceChild(a,t),this.content=n.innerHTML,this.com.content=this.content,this.$emit("updateComContent",this.currentIndex,this.com)})),"syncContent",(function(){var t=this;return Object(d["a"])(Object(l["a"])().mark((function e(){var n,a;return Object(l["a"])().wrap((function(e){while(1)switch(e.prev=e.next){case 0:if("2"!=t.isEdit||!t.com||!t.com.content){e.next=11;break}return n=t.formatContent(t.com.content),e.next=4,t.replaceData(n);case 4:return a=e.sent,t.content=a,e.next=8,t.$nextTick();case 8:t.bindEvents(),t.initializeInputWidths(),t.com.attrs&&t.com.attrs.forEach((function(e,n){var a=t.$el.querySelector("#".concat(e.id));a&&(a.value=e.content||"",t.adjustInputWidth({target:a}))}));case 11:case"end":return e.stop()}}),e)})))()})),"getCursorPosition",(function(){var t=this.$refs.wordEditor;if(!t)return 0;if(t.getCursorPosition)return t.getCursorPosition();if(t.getSelection){var e=t.getSelection();return e&&e.start||0}return 0})),Object(o["a"])(Object(o["a"])(Object(o["a"])(Object(o["a"])(a,"formatContent",(function(t){return t.replace(/\s+/g," ").replace(/\n/g,"
")})),"handleProductAttrChange",(function(t){var e=t.target,n=e.closest(".checkbox-group, .product-select, .product-input");if(n){var a=parseInt(n.dataset.index),r=this.com.attrs[a];if(r&&"ProductAttr"===r.type){var c;if(n.classList.contains("checkbox-group")){var o=n.querySelectorAll('input[type="checkbox"]:checked');c=Array.from(o).map((function(t){return t.value})).filter(Boolean).join(",")}else c=e.multiple?Array.from(e.selectedOptions).map((function(t){return t.value})).filter(Boolean).join(","):e.value;this.$set(r,"content",c),this.$emit("onUpdateProdAttr",this.currentIndex,a,c)}}})),"handleProductAttrInput",(function(t){var e=t.target;e.classList.contains("product-input")&&this.adjustInputWidth({target:e})})),"bindProductAttrEvents",(function(){var t=this;this.$nextTick((function(){var e=t.$el.querySelectorAll(".product-input, .product-select, .product-checkbox");console.log("Found product inputs:",e.length),e.forEach((function(e){e.removeEventListener("change",t.handleProductAttrChange),e.removeEventListener("input",t.handleProductAttrInput),e.removeEventListener("blur",t.handleProductAttrChange),e.removeAttribute("readonly"),e.removeAttribute("disabled"),"checkbox"===e.type||"select"===e.tagName.toLowerCase()?e.addEventListener("change",t.handleProductAttrChange):(e.addEventListener("input",t.handleProductAttrInput),e.addEventListener("blur",t.handleProductAttrChange))}))}))})))},m=v,x=(n("72c8"),n("2877")),g=Object(x["a"])(m,r,c,!1,null,"2b373750",null);e["default"]=g.exports},"87ab":function(t,e,n){}}]);