tj
2025-06-05 bba272999cc546f65781bf3d20245a3f819af67f
1
2
"use strict";(self["webpackChunklin_cms_vue"]=self["webpackChunklin_cms_vue"]||[]).push([[2097],{82097:function(t,e,n){n.r(e),n.d(e,{default:function(){return Q}});n(48598);var i=n(20641),r=n(90033),a=n(53751),o=function(t){return(0,i.Qi)("data-v-50ea34df"),t=t(),(0,i.jt)(),t},s={class:"upload-imgs-container"},c={key:0},u={class:"info"},l=["onClick"],h={class:"control"},d=["onClick"],f=["onClick"],m=o((function(){return(0,i.Lk)("i",{class:"el-icon-edit"},null,-1)})),p=[m],g={key:2,class:"control-bottom"},w=["onClick"],b=["onClick"],v=["onClick"],y={key:1},k=["onClick","onKeydown"],x=o((function(){return(0,i.Lk)("i",{class:"el-icon-plus",style:{"font-size":"3em"}},null,-1)})),I=["innerHTML"],L=["accept","multiple"];function A(t,e,n,o,m,A){var C=(0,i.g2)("el-image"),E=(0,i.gN)("loading");return(0,i.bo)(((0,i.uX)(),(0,i.CE)("div",s,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(m.itemList,(function(t,e){return(0,i.uX)(),(0,i.CE)("div",{key:t.id},[t.display?((0,i.uX)(),(0,i.CE)("div",c,[(0,i.bo)(((0,i.uX)(),(0,i.CE)("div",{class:"thumb-item demo-image__preview",style:(0,r.Tr)(A.boxStyle)},[(0,i.bF)(C,{fit:n.fit,ref_for:!0,ref:A.setImageRef,src:t.display,class:"thumb-item-img",previewSrcList:m.srcList,style:{width:"100%",height:"100%"}},null,8,["fit","src","previewSrcList"]),(0,i.Lk)("div",u,[t.file?((0,i.uX)(),(0,i.CE)("i",{key:0,class:"el-icon-upload wait-upload",onClick:(0,a.D$)((function(e){return A.delItem(t.id)}),["prevent","stop"]),title:"等待上传"},null,8,l)):(0,i.Q3)("",!0)]),(0,i.Lk)("div",h,[n.disabled?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("i",{key:0,class:"el-icon-close del",onClick:(0,a.D$)((function(e){return A.delItem(t.id)}),["prevent","stop"]),title:"删除"},null,8,d)),n.disabled?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",{key:1,class:"preview",title:"更换图片",onClick:(0,a.D$)((function(e){return A.handleClick(t.id)}),["prevent","stop"])},p,8,f)),n.sortable||n.preview?((0,i.uX)(),(0,i.CE)("div",g,[n.sortable&&!n.disabled?((0,i.uX)(),(0,i.CE)("i",{key:0,title:"前移",class:(0,r.C4)(["control-bottom-btn el-icon-back",{disabled:0===e}]),onClick:(0,a.D$)((function(e){return A.move(t.id,-1)}),["stop"])},null,10,w)):(0,i.Q3)("",!0),n.preview?((0,i.uX)(),(0,i.CE)("i",{key:1,class:"control-bottom-btn el-icon-view",title:"预览",style:{cursor:"pointer"},onClick:(0,a.D$)((function(n){return A.previewImg(t,e)}),["stop"])},null,8,b)):(0,i.Q3)("",!0),n.sortable&&!n.disabled?((0,i.uX)(),(0,i.CE)("i",{key:2,title:"后移",class:(0,r.C4)(["control-bottom-btn el-icon-right",{disabled:e===m.itemList.length-1}]),onClick:(0,a.D$)((function(e){return A.move(t.id,1)}),["stop"])},null,10,v)):(0,i.Q3)("",!0)])):(0,i.Q3)("",!0)])],4)),[[E,t.loading]])])):((0,i.uX)(),(0,i.CE)("div",y,[(0,i.Lk)("div",{class:(0,r.C4)(["upload-item",{disabled:n.disabled}]),style:(0,r.Tr)(A.boxStyle),onClick:function(e){return A.handleClick(t.id)},onKeydown:function(e){return A.handleKeydown(e,t.id)}},[x,(0,i.Lk)("div",{innerHTML:A.rulesTip.join("<br>"),style:{"margin-top":"1em"}},null,8,I)],46,k)]))])})),128)),(0,i.Lk)("input",{ref:"input",type:"file",accept:n.accept,multiple:n.multiple,onChange:e[0]||(e[0]=function(){return A.handleChange&&A.handleChange.apply(A,arguments)}),class:"upload-imgs__input","aria-labelledby":"Upload images"},null,40,L)])),[[E,m.loading]])}var C=n(14048),E=n(30388),S=n(59258),U=n(41034),z=(n(16280),n(28706),n(2008),n(48980),n(62062),n(44114),n(54554),n(62010),n(2892),n(9868),n(26099),n(47764),n(23500),n(62953),n(3296),n(27208),n(48408),n(14603),n(47566),n(98721),n(96557)),R=n(46262),$=1024,F=1024*$;function H(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={loading:!1,id:(0,R.createId)(),status:"input",src:"",display:"",imgId:""};return t?t.file&&!t.id?((0,R.isEmptyObj)(e)?n.status="new":("input"!==e.status&&"new"!==e.status||(n.status="new"),"init"!==e.status&&"edit"!==e.status||(n.status="edit")),n.id=e.id||n.id,n.src="",n.imgId="",n.display=t.localSrc||n.display,n=(0,U.A)((0,U.A)({},t),n),n):(n.id=t.id||(0,R.createId)(),n.imgId=t.imgId||n.imgId,n.src=t.src||n.src,n.display=t.display||n.display,n.status=t.status||"init",n=(0,U.A)((0,U.A)({},t),n),n):n}function N(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",r=t;return r+=e&&n?" ".concat(e).concat(i,"~").concat(n).concat(i):e?" ≥ ".concat(e).concat(i):n?" ≤ ".concat(n).concat(i):"无限制",r}var T,X=10,_=[],j={name:"UploadImgs",data:function(){return{srcList:[],itemList:[],imageRefs:[],loading:!1,currentId:"",imageInitialIndex:0}},props:{width:{type:[Number,String],default:160},height:{type:[Number,String],default:160},autoUpload:{type:Boolean,default:!0},value:{type:Array,default:function(){return[]}},accept:{type:String,default:"image/*"},minNum:{type:Number,default:0},maxNum:{type:Number,default:0},sortable:{type:Boolean,default:!1},preview:{type:Boolean,default:!0},multiple:{type:Boolean,default:!1},rules:{type:[Object,Function],default:function(){return{maxSize:2}}},disabled:{type:Boolean,default:!1},beforeUpload:{type:Function,default:null},remoteFuc:{type:Function,default:null},fit:{type:String,default:"contain"},animatedCheck:{type:Boolean,default:!1}},computed:{boxStyle:function(){var t=this.width,e=this.height,n=this.disabled,i={};"number"===typeof t?i.width="".concat(t,"px"):"string"===typeof t&&(i.width=t),"number"===typeof e?i.height="".concat(e,"px"):"string"===typeof e&&(i.height=e),i.cursor=n?"not-allowed":"pointer";var r=12,a=8;return"number"===typeof t&&t/a<r&&(r=(t/a).toFixed(2)),i.fontSize="".concat(r,"px"),i.textAlign="center",i.position="relative",i.display="flex",i.alignItems="center",i.justifyContent="center",i.overflow="hidden",i.lineHeight="1.3",i.flexDirection="column",i},min:function(){var t=this.minNum;return t<0?0:parseInt(t,10)},max:function(){var t=this.min,e=this.maxNum;return e<t?t:parseInt(e,10)},isStable:function(){var t=this.min,e=this.max;return 0!==e&&t===e},rulesTip:function(){var t,e=this.rules,n=[];if("function"===typeof e)try{t=e()}catch(i){t={}}else t=e||{};return t.width&&t.height?n.push("宽高 ".concat(t.width,"x").concat(t.height)):t.width?(n.push("宽度 ".concat(t.width)),n.push("".concat(N("高度",t.minHeight,t.maxHeight)))):t.height?(n.push("高度 ".concat(t.height)),n.push("".concat(N("宽度",t.minWidth,t.maxWidth)))):(n.push("".concat(N("宽度",t.minWidth,t.maxWidth))),n.push("".concat(N("高度",t.minHeight,t.maxHeight)))),t.ratio&&(Array.isArray(t.ratio)?n.push("宽高比 ".concat(t.ratio.join(":"))):n.push("宽高比 ".concat(t.ratio))),(t.minSize||t.maxSize)&&n.push(N("文件大小",t.minSize,t.maxSize,"Mb")),t.allowAnimated&&t.allowAnimated>0&&(1===t.allowAnimated?n.push("不允许上传动图"):2===t.allowAnimated&&n.push("只允许上传动图")),n}},watch:{value:function(t){this.initItemList(t)}},mounted:function(){this.initItemList(this.value)},methods:{uploadCatch:function(t){var e=this,n={};return t.forEach((function(t,e){n["file_".concat(e)]=t.img.file})),(0,z.post)("cms/file",n).then((function(e){if(!Array.isArray(e)||0===e.length)throw new Error("图像上传失败");var n=e.reduce((function(t,e){return t[e.key]=e,t}),{});t.forEach((function(t,e){var i=n["file_".concat(e)];t.cb(i)}))})).catch((function(n){t.forEach((function(t){t.cb(!1)}));var i="图像上传失败, 请重试";n.message&&(i=n.message),console.error(n),e.$message.error(i)}))},originUpload:function(t,e){var n=this;if(_.push({img:t,cb:e}),_.length===X){var i=(0,S.A)(_);return _=[],clearTimeout(T),T=null,this.uploadCatch(i)}T&&_.length<X&&clearTimeout(T),T=setTimeout((function(){n.uploadCatch((0,S.A)(_)),_=[],T=null}),50)},uploadImg:function(t){var e=this;return(0,E.A)((0,C.A)().mark((function n(){var i,r,a;return(0,C.A)().wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(i=function(t,e){t.loading=!1,e&&(t.display=e.url,t.src=e.path,t.imgId=e.id,t.file=null,window.URL.revokeObjectURL(t.display))},"input"!==t.status&&t.file){n.next=3;break}return n.abrupt("return");case 3:if(t.loading=!0,!e.beforeUpload||"function"!==typeof e.beforeUpload){n.next=12;break}if("function"!==typeof e.beforeUpload){n.next=12;break}return n.next=8,new Promise((function(n){var i;try{i=e.beforeUpload(t,(function(t){n(!!t)}))}catch(r){n(!1)}null!=i&&"function"===typeof i.then&&i.then((function(t){n(!!t)})).catch((function(){n(!1)}))}));case 8:if(r=n.sent,r){n.next=12;break}return i(t,!1),n.abrupt("return",!1);case 12:if(!e.remoteFuc||"function"!==typeof e.remoteFuc){n.next=20;break}return n.next=15,new Promise((function(n){var i;try{i=e.remoteFuc(t.file,(function(t){n(t||!1)}))}catch(r){e.$message.error("执行自定义上传出错"),n(!1)}null!=i&&"function"===typeof i.then&&i.then((function(t){n(t||!1)})).catch((function(){n(!1)}))}));case 15:if(a=n.sent,i(t,a),a){n.next=19;break}return n.abrupt("return",!1);case 19:return n.abrupt("return",t);case 20:return n.abrupt("return",new Promise((function(n){e.originUpload(t,(function(e){i(t,e),n(!!e&&t)}))})));case 21:case"end":return n.stop()}}),n)})))()},getValue:function(){var t=this;return(0,E.A)((0,C.A)().mark((function e(){var n,i,r,a,o,s,c,u,l;return(0,C.A)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:n=t.itemList,i=t.isStable,r=t.min,a=i?n.length:n.length-1,o=0;case 3:if(!(o<a)){e.next=10;break}if("input"!==n[o].status){e.next=7;break}return t.$message.error("当前存在未选择图片, 请全部选择"),e.abrupt("return",!1);case 7:o+=1,e.next=3;break;case 10:if(!(a<r)){e.next=13;break}return t.$message.error("至少选择".concat(r,"张图片")),e.abrupt("return",!1);case 13:for(s=[],c=0;c<n.length;c+=1)"input"!==n[c].status&&(n[c].file?s.push(t.uploadImg(n[c])):s.push(Promise.resolve(n[c])));return e.next=17,Promise.all(s);case 17:if(u=e.sent,!u.some((function(t){return!t}))){e.next=20;break}return e.abrupt("return",!1);case 20:return l=u.map((function(t){var e={id:"new"===t.status?"":t.id,imgId:t.imgId||null,src:t.src||null,display:t.display,width:t.width||null,height:t.height||null,fileSize:t.size||null,fileName:t.name||null,fileType:t.type||null,isAnimated:t.isAnimated||null};return e})),t.$emit("upload",l),e.abrupt("return",l);case 23:case"end":return e.stop()}}),e)})))()},delItem:function(t){var e=this.itemList,n=this.isStable,i=e.findIndex((function(e){return e.id===t})),r=e[i].display;n?(e[i]=H(),this.itemList=(0,S.A)(e)):e.splice(i,1),window.URL.revokeObjectURL(r),this.initItemList(this.itemList)},previewImg:function(t,e){var n=this.itemList.filter((function(t){return"input"!==t.status}));this.srcList=n.map((function(t){return t.display})),this.imageRefs[e].showViewer=!0,this.imageRefs[e].$el.children[0].click()},setImageRef:function(t){t&&this.imageRefs.push(t)},move:function(t,e){var n=this.itemList,i=this.isStable,r=n.findIndex((function(e){return e.id===t}));if(!(r+e<0||r+e>=n.length)&&(i||r+e!==n.length-1||"input"!==n[n.length-1].status)){var a=n[r],o=n[r+e];n[r]=o,n[r+e]=a,this.itemList=(0,S.A)(n)}},validateImg:function(t){var e=this;return(0,E.A)((0,C.A)().mark((function n(){var i,r,a;return(0,C.A)().wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(i=e.rules,"function"===typeof i)try{r=i(t)}catch(o){r={}}else r=i;if(!(r.allowAnimated&&r.allowAnimated>0)){n.next=11;break}if(null!==t.isAnimated){n.next=7;break}e.$message.error('要进行是否动图验证需要配置 "animated-check" 属性为 true'),n.next=11;break;case 7:if(1!==r.allowAnimated||!t.isAnimated){n.next=9;break}throw new Error('"'.concat(t.name,'"为动态图, 不允许上传'));case 9:if(2!==r.allowAnimated||t.isAnimated){n.next=11;break}throw new Error('"'.concat(t.name,'"为静态图, 只允许上传动态图'));case 11:if(!r.width){n.next=16;break}if(t.width===r.width){n.next=14;break}throw new Error('"'.concat(t.name,'"图像宽不符合要求, 需为').concat(r.width));case 14:n.next=20;break;case 16:if(!(r.minWidth&&t.width<r.minWidth)){n.next=18;break}throw new Error('"'.concat(t.name,'"图像宽不符合要求, 至少为').concat(r.minWidth));case 18:if(!(r.maxWidth&&t.width>r.maxWidth)){n.next=20;break}throw new Error('"'.concat(t.name,'"图像宽不符合要求, 至多为').concat(r.maxWidth));case 20:if(!r.height){n.next=25;break}if(t.height===r.height){n.next=23;break}throw new Error('"'.concat(t.name,'"图像高不符合要求, 需为').concat(r.height));case 23:n.next=29;break;case 25:if(!(r.minHeight&&t.height<r.minHeight)){n.next=27;break}throw new Error('"'.concat(t.name,'"图像高不符合要求, 至少为').concat(r.minHeight));case 27:if(!(r.maxHeight&&t.height>r.maxHeight)){n.next=29;break}throw new Error('"'.concat(t.name,'"图像高不符合要求, 至多为').concat(r.maxHeight));case 29:if(!r.ratio){n.next=34;break}if(a=Array.isArray(r.ratio)?r.ratio[0]/r.ratio[1]:r.ratio,a=a.toFixed(2),(t.width/t.height).toFixed(2)===a){n.next=34;break}throw new Error('"'.concat(t.name,'"图像宽高比不符合要求, 需为').concat(a));case 34:if(!(r.minSize&&t.size<r.minSize*F)){n.next=36;break}throw new Error('"'.concat(t.name,'"图像文件大小比不符合要求, 至少为').concat(r.minSize,"Mb"));case 36:if(!(r.maxSize&&t.size>r.maxSize*F)){n.next=38;break}throw new Error('"'.concat(t.name,'"图像文件大小比不符合要求, 至多为').concat(r.maxSize,"Mb"));case 38:return n.abrupt("return",!0);case 39:case"end":return n.stop()}}),n)})))()},handleChange:function(t){var e=this;return(0,E.A)((0,C.A)().mark((function n(){var i,r,a,o,s,c,u,l,h;return(0,C.A)().wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(i=e.currentId,r=e.autoUpload,a=t.target.files,a){n.next=4;break}return n.abrupt("return");case 4:for(s=[],c=function(){var t=(0,E.A)((0,C.A)().mark((function t(n){var i;return(0,C.A)().wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,e.getImgInfo(n);case 2:return i=t.sent,s.push(i),t.next=6,e.validateImg(i);case 6:return t.abrupt("return",i);case 7:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),u=[],l=0;l<a.length;l+=1)u.push(c(a[l]));return n.prev=8,n.next=11,Promise.all(u);case 11:o=n.sent,e.setImgInfo(i,o),r&&e.itemList.forEach((function(t){e.uploadImg(t)})),n.next=22;break;case 16:for(n.prev=16,n.t0=n["catch"](8),h=0;h<s.length;h+=1)window.URL.revokeObjectURL(s[h].localSrc);s=null,console.error(n.t0),e.$message.error(n.t0.message);case 22:case"end":return n.stop()}}),n,null,[[8,16]])})))()},setImgInfo:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=this.max,i=this.itemList,r=this.itemList.findIndex((function(e){return e.id===t}));if(window.URL.revokeObjectURL(this.itemList[r].display),this.itemList[r]=H(e[0],this.itemList[r]),e.length>1){var a=e.length;if(this.isStable)for(var o=0,s=1;o<n&&s<a;o+=1)"input"===i[o].status&&(this.itemList[o]=H(e[s]),s+=1);else{var c=n-i.length;n&&a>c&&(a=c),"input"===i[i.length-1].status&&this.itemList.pop();for(var u=1;u<=a;u+=1)this.itemList.push(H(e[u]))}}this.initItemList(this.itemList)},handleKeydown:function(t,e){t.target===t.currentTarget&&(13!==t.keyCode&&32!==t.keyCode||this.handleClick(e))},handleClick:function(t){this.disabled||(this.currentId=t||"",this.$refs.input.value=null,this.$refs.input.click())},initItemList:function(t){var e=this.max,n=this.isStable,i=this.disabled,r=[];if(!t||!Array.isArray(t)||0===t.length){if(n){for(var a=0;a<e;a+=1)r.push(H());return void(this.itemList=r)}return r.push(H()),void(this.itemList=r)}for(var o=0;o<t.length;o+=1)r.push(H(t[o]));(0===e||t.length<e)&&!i&&"input"!==t[t.length-1].status&&r.push(H()),this.itemList=r},getImgInfo:function(t){var e=this;return(0,E.A)((0,C.A)().mark((function n(){var i,r,a,o;return(0,C.A)().wrap((function(n){while(1)switch(n.prev=n.next){case 0:return i=e.animatedCheck,r=window.URL.createObjectURL(t),n.next=4,(0,R.getFileType)(t);case 4:if(a=n.sent,o=null,!i){n.next=10;break}return n.next=9,(0,R.checkIsAnimated)({file:t,fileType:a,fileUrl:r});case 9:o=n.sent;case 10:return n.abrupt("return",new Promise((function(e,n){var i=new Image;i.src=r,i.onload=function(){var n={localSrc:r,file:t,width:i.width,height:i.height,name:t.name,size:t.size,type:"unknow"===a?t.type:a,lastModified:t.lastModified,isAnimated:o};e(n),i=null},i.onerror=function(){n(new Error("图像加载失败")),i=null}})));case 11:case"end":return n.stop()}}),n)})))()},clear:function(){this.initItemList([]),this.getValue()},reset:function(){this.initItemList(this.value)}}},W=n(66262);const M=(0,W.A)(j,[["render",A],["__scopeId","data-v-50ea34df"]]);var Q=M},72333:function(t,e,n){var i=n(91291),r=n(655),a=n(67750),o=RangeError;t.exports=function(t){var e=r(a(this)),n="",s=i(t);if(s<0||s===1/0)throw new o("Wrong number of repetitions");for(;s>0;(s>>>=1)&&(e+=e))1&s&&(n+=e);return n}},9868:function(t,e,n){var i=n(46518),r=n(79504),a=n(91291),o=n(31240),s=n(72333),c=n(79039),u=RangeError,l=String,h=Math.floor,d=r(s),f=r("".slice),m=r(1..toFixed),p=function(t,e,n){return 0===e?n:e%2===1?p(t,e-1,n*t):p(t*t,e/2,n)},g=function(t){var e=0,n=t;while(n>=4096)e+=12,n/=4096;while(n>=2)e+=1,n/=2;return e},w=function(t,e,n){var i=-1,r=n;while(++i<6)r+=e*t[i],t[i]=r%1e7,r=h(r/1e7)},b=function(t,e){var n=6,i=0;while(--n>=0)i+=t[n],t[n]=h(i/e),i=i%e*1e7},v=function(t){var e=6,n="";while(--e>=0)if(""!==n||0===e||0!==t[e]){var i=l(t[e]);n=""===n?i:n+d("0",7-i.length)+i}return n},y=c((function(){return"0.000"!==m(8e-5,3)||"1"!==m(.9,0)||"1.25"!==m(1.255,2)||"1000000000000000128"!==m(0xde0b6b3a7640080,0)}))||!c((function(){m({})}));i({target:"Number",proto:!0,forced:y},{toFixed:function(t){var e,n,i,r,s=o(this),c=a(t),h=[0,0,0,0,0,0],m="",y="0";if(c<0||c>20)throw new u("Incorrect fraction digits");if(s!==s)return"NaN";if(s<=-1e21||s>=1e21)return l(s);if(s<0&&(m="-",s=-s),s>1e-21)if(e=g(s*p(2,69,1))-69,n=e<0?s*p(2,-e,1):s/p(2,e,1),n*=4503599627370496,e=52-e,e>0){w(h,0,n),i=c;while(i>=7)w(h,1e7,0),i-=7;w(h,p(10,i,1),0),i=e-1;while(i>=23)b(h,1<<23),i-=23;b(h,1<<i),w(h,1,1),b(h,2),y=v(h)}else w(h,0,n),w(h,1<<-e,0),y=v(h)+d("0",c);return c>0?(r=y.length,y=m+(r<=c?"0."+d("0",c-r)+y:f(y,0,r-c)+"."+f(y,r-c))):y=m+y,y}})}}]);
//# sourceMappingURL=2097-legacy.fe31536b.js.map