File: /var/www/html/public/static/js/index-1adf1579.js
import{useExcelloader as ee}from"./hook-3ee19aab.js";import{be as v}from"./message-2472a54a.js";import{H as N}from"./handsontable.full-52d898a3.js";import{d as te}from"./vue-router-a383d220.js";import{E as le}from"./index-c9ceac6c.js";import{d as z,r as T,o as ae,w as ne,Q as g,e as oe,f as ie,g as H,y as u,m as d,u as y,v as E,b5 as se,b4 as re}from"./runtime-core.esm-bundler-6128546f.js";import{_ as ue}from"./_plugin-vue_export-helper-c27b6911.js";import"./lowcode-89814473.js";import"./utils-2ab4f76a.js";import"./preload-helper-78dc9057.js";import"./vue-i18n.runtime.esm-bundler-6949bcab.js";import"./index-b7f916e1.js";import"./_commonjsHelpers-87174ba5.js";const B=f=>(se("data-v-978fe420"),f=f(),re(),f),de={class:"w-full h-full !m-0"},ce={class:"!m-0"},me=B(()=>H("h1",null,"XLS数据导入",-1)),fe=B(()=>H("div",{id:"xls_table"},null,-1)),pe=z({name:"/excel_import/index"}),ve=z({...pe,props:{fields:{type:Array,default:()=>[]}},emits:["update:visible","data-apply","save"],setup(f,{emit:j}){const _=f;te();const{loadModelFieldList:L,save_loading:k,tpl_map:_e,file_id:x,mergeCells:w,clsData:I,clsOrgData:r,numColumns:R,numRows:C,col_import:s,col_heads:m,begin_col:p,field_options:A,upLoadXlsPrintUri:O,upLoadFileUriHeader:W,upLoadinfo:J,uploadFileFailed:V,formInline:X,model_id:D,hot:h}=ee(),S=T("");S.value=O(D.value);const P=(l,a)=>{J.value=a,parseInt(l.success)==1?(v(a.name+"文件上传成功",{type:"success"}),R.value=l.data.xls.numColumns,C.value=l.data.xls.numRows,x.value=l.data.file_id,w.value=l.data.mergeCells,r.value=l.data.xls_data,I.value=l.data.data,s.value=l.data.col_import,m.value=l.data.col_heads,Y()):v(a.name+"文件上传成功,但解析失败,请确定是否符合格式",{type:"error"})},U=l=>{let a=l+1,e="",t;for(;a>0;)t=(a-1)%26,e=String.fromCharCode(65+t)+e,a=Math.floor((a-t)/26);return e},G=function(l,a,e,t,o,n,c){if(N.renderers.TextRenderer.apply(this,arguments),a.style.fontFamily="宋体",a.style.fontSize="12px",r.value&&r.value[e][t]&&r.value[e][t].font&&(a.style.fontFamily=r.value[e][t].font.font_name,a.style.fontSize=r.value[e][t].font.font_size+"px",r.value[e][t].font.bold&&(a.style.fontWeight="bold"),r.value[e][t].font.italic&&(a.style.fontStyle="italic")),a.innerHTML=n,s.value[e]&&(s.value[e]=="begin"||s.value[e]=="normal")){const i=document.createElement("select");A.value.forEach(F=>{const b=document.createElement("option");b.value=F.value,b.textContent=F.title,i.appendChild(b)}),i.value="",i.id=s.value[e]+"_"+e+"_"+t,m.value&&m.value[i.id]&&(i.value=m.value[i.id]),i.addEventListener("change",function(){this.value,m.value[this.id]=this.value});const M=document.createElement("span");M.innerHTML=" ",a.innerHTML&&(a.appendChild(M),a.appendChild(i))}},K=T(500);function Q(l){return 80}function q(l){return 23}function Y(){const l=Array.from({length:C.value},(e,t)=>{const o=[{value:"",title:"默认"},{value:"begin",title:"明细开始行"},{value:"not_import",title:"不导入行"},{value:"end",title:"明细结束行"}],n=document.createElement("select");return o.forEach(c=>{const i=document.createElement("option");i.textContent=c.title,i.value=c.value,n.appendChild(i)}),n.id="col_select_"+t,n.value="",n.addEventListener("change",function(){let c=this.id.split("_");if(p.value!=-1&&this.value=="begin")return v("一次导入只能有一个明细导入行",{type:"warning"}),n.value="",n;s.value[c[2]]=this.value,this.value=="begin"||this.value=="normal"?(h.value.render(),this.value=="begin"&&(p.value=parseInt(c[2]),le({title:"注意:",message:"开始导入行:本行做为列名匹配,不导入本行数据,请悉知",type:"warning",duration:15e3}))):p.value!=-1&&parseInt(c[2])==p.value&&(p.value=-1)}),s.value&&s.value[t]&&(n.value=s.value[t]),n});h.value&&h.value.destroy();const a=document.getElementById("xls_table");a.innerHTML="",h.value=new N(document.getElementById("xls_table"),{data:I.value,rowHeaderWidth:100,colHeaders:!0,rowHeaders:!0,readOnly:!0,manualColumnResize:!0,manualRowResize:!0,height:K.value,afterGetRowHeader:function(e,t){if(e>=0&&e<l.length){const o=document.createElement("div");o.style.display="flex",o.style.alignItems="center";const n=document.createElement("span");n.innerHTML=" ",o.appendChild(t.firstChild),o.appendChild(n),o.appendChild(l[e]),t.innerHTML="",t.appendChild(o)}},mergeCells:w.value,columns:Array.from({length:R.value},(e,t)=>({data:t,title:U(t),renderer:G,width:Q()})),rowHeights:Array.from({length:C.value},(e,t)=>q()),licenseKey:"non-commercial-and-evaluation"})}ae(()=>{L(_.fields)});function Z(l){}function $(){let l=JSON.stringify({col_import:s.value,col_heads:m.value});if(!l)return v("匹配数据为空,无法保存",{type:"error"}),!1;if(!x.value)return v("请上传文件",{type:"error"}),!1;j("save",{fields:_.fields,tpl:l,file_id:x.value})}return ne(()=>_.fields,l=>{l&&L(_.fields)},{deep:!0}),(l,a)=>{const e=g("el-button"),t=g("el-upload"),o=g("el-form-item"),n=g("el-form");return oe(),ie("div",de,[H("div",ce,[me,u(n,{inline:!0,model:y(X)},{default:d(()=>[u(o,{label:"上传模版:",class:"flex items-center justify-center h-16"},{default:d(()=>[u(t,{ref:"upload",class:"upload-demo flex items-center justify-center",action:S.value,headers:y(W),limit:1,"on-success":P,"on-error":y(V)},{trigger:d(()=>[u(e,null,{default:d(()=>[E("选择模版文件")]),_:1})]),_:1},8,["action","headers","on-error"])]),_:1}),u(o,{label:"",class:"flex items-center justify-center"},{default:d(()=>[u(e,{type:"primary",onClick:$,loading:y(k)},{default:d(()=>[E("开始导入")]),_:1},8,["loading"])]),_:1}),u(o,{label:"",class:"flex items-center justify-center"},{default:d(()=>[u(e,{onClick:Z},{default:d(()=>[E("重置")]),_:1})]),_:1})]),_:1},8,["model"]),fe])])}}});const Fe=ue(ve,[["__scopeId","data-v-978fe420"]]);export{Fe as default};