2 lines
35 KiB
JavaScript
2 lines
35 KiB
JavaScript
import{o as e,c as t,w as s,r as o,n as i,a,i as l,b as n,d as c,g as r,O as u,e as d,f as h,h as f,t as p,j as m,k as g,F as _,l as y,m as w,I as v,S as b,p as k,q as C,v as S,s as z,u as x,x as $,y as B,z as T,A as P,B as A,C as V,D as I,E as R,G as H,H as D,J as O,K as M,L as j}from"./index-5OQVQoIX.js";const F=[{font_class:"arrow-down",unicode:""},{font_class:"arrow-left",unicode:""},{font_class:"arrow-right",unicode:""},{font_class:"arrow-up",unicode:""},{font_class:"auth",unicode:""},{font_class:"auth-filled",unicode:""},{font_class:"back",unicode:""},{font_class:"bars",unicode:""},{font_class:"calendar",unicode:""},{font_class:"calendar-filled",unicode:""},{font_class:"camera",unicode:""},{font_class:"camera-filled",unicode:""},{font_class:"cart",unicode:""},{font_class:"cart-filled",unicode:""},{font_class:"chat",unicode:""},{font_class:"chat-filled",unicode:""},{font_class:"chatboxes",unicode:""},{font_class:"chatboxes-filled",unicode:""},{font_class:"chatbubble",unicode:""},{font_class:"chatbubble-filled",unicode:""},{font_class:"checkbox",unicode:""},{font_class:"checkbox-filled",unicode:""},{font_class:"checkmarkempty",unicode:""},{font_class:"circle",unicode:""},{font_class:"circle-filled",unicode:""},{font_class:"clear",unicode:""},{font_class:"close",unicode:""},{font_class:"closeempty",unicode:""},{font_class:"cloud-download",unicode:""},{font_class:"cloud-download-filled",unicode:""},{font_class:"cloud-upload",unicode:""},{font_class:"cloud-upload-filled",unicode:""},{font_class:"color",unicode:""},{font_class:"color-filled",unicode:""},{font_class:"compose",unicode:""},{font_class:"contact",unicode:""},{font_class:"contact-filled",unicode:""},{font_class:"down",unicode:""},{font_class:"bottom",unicode:""},{font_class:"download",unicode:""},{font_class:"download-filled",unicode:""},{font_class:"email",unicode:""},{font_class:"email-filled",unicode:""},{font_class:"eye",unicode:""},{font_class:"eye-filled",unicode:""},{font_class:"eye-slash",unicode:""},{font_class:"eye-slash-filled",unicode:""},{font_class:"fire",unicode:""},{font_class:"fire-filled",unicode:""},{font_class:"flag",unicode:""},{font_class:"flag-filled",unicode:""},{font_class:"folder-add",unicode:""},{font_class:"folder-add-filled",unicode:""},{font_class:"font",unicode:""},{font_class:"forward",unicode:""},{font_class:"gear",unicode:""},{font_class:"gear-filled",unicode:""},{font_class:"gift",unicode:""},{font_class:"gift-filled",unicode:""},{font_class:"hand-down",unicode:""},{font_class:"hand-down-filled",unicode:""},{font_class:"hand-up",unicode:""},{font_class:"hand-up-filled",unicode:""},{font_class:"headphones",unicode:""},{font_class:"heart",unicode:""},{font_class:"heart-filled",unicode:""},{font_class:"help",unicode:""},{font_class:"help-filled",unicode:""},{font_class:"home",unicode:""},{font_class:"home-filled",unicode:""},{font_class:"image",unicode:""},{font_class:"image-filled",unicode:""},{font_class:"images",unicode:""},{font_class:"images-filled",unicode:""},{font_class:"info",unicode:""},{font_class:"info-filled",unicode:""},{font_class:"left",unicode:""},{font_class:"link",unicode:""},{font_class:"list",unicode:""},{font_class:"location",unicode:""},{font_class:"location-filled",unicode:""},{font_class:"locked",unicode:""},{font_class:"locked-filled",unicode:""},{font_class:"loop",unicode:""},{font_class:"mail-open",unicode:""},{font_class:"mail-open-filled",unicode:""},{font_class:"map",unicode:""},{font_class:"map-filled",unicode:""},{font_class:"map-pin",unicode:""},{font_class:"map-pin-ellipse",unicode:""},{font_class:"medal",unicode:""},{font_class:"medal-filled",unicode:""},{font_class:"mic",unicode:""},{font_class:"mic-filled",unicode:""},{font_class:"micoff",unicode:""},{font_class:"micoff-filled",unicode:""},{font_class:"minus",unicode:""},{font_class:"minus-filled",unicode:""},{font_class:"more",unicode:""},{font_class:"more-filled",unicode:""},{font_class:"navigate",unicode:""},{font_class:"navigate-filled",unicode:""},{font_class:"notification",unicode:""},{font_class:"notification-filled",unicode:""},{font_class:"paperclip",unicode:""},{font_class:"paperplane",unicode:""},{font_class:"paperplane-filled",unicode:""},{font_class:"person",unicode:""},{font_class:"person-filled",unicode:""},{font_class:"personadd",unicode:""},{font_class:"personadd-filled",unicode:""},{font_class:"personadd-filled-copy",unicode:""},{font_class:"phone",unicode:""},{font_class:"phone-filled",unicode:""},{font_class:"plus",unicode:""},{font_class:"plus-filled",unicode:""},{font_class:"plusempty",unicode:""},{font_class:"pulldown",unicode:""},{font_class:"pyq",unicode:""},{font_class:"qq",unicode:""},{font_class:"redo",unicode:""},{font_class:"redo-filled",unicode:""},{font_class:"refresh",unicode:""},{font_class:"refresh-filled",unicode:""},{font_class:"refreshempty",unicode:""},{font_class:"reload",unicode:""},{font_class:"right",unicode:""},{font_class:"scan",unicode:""},{font_class:"search",unicode:""},{font_class:"settings",unicode:""},{font_class:"settings-filled",unicode:""},{font_class:"shop",unicode:""},{font_class:"shop-filled",unicode:""},{font_class:"smallcircle",unicode:""},{font_class:"smallcircle-filled",unicode:""},{font_class:"sound",unicode:""},{font_class:"sound-filled",unicode:""},{font_class:"spinner-cycle",unicode:""},{font_class:"staff",unicode:""},{font_class:"staff-filled",unicode:""},{font_class:"star",unicode:""},{font_class:"star-filled",unicode:""},{font_class:"starhalf",unicode:""},{font_class:"trash",unicode:""},{font_class:"trash-filled",unicode:""},{font_class:"tune",unicode:""},{font_class:"tune-filled",unicode:""},{font_class:"undo",unicode:""},{font_class:"undo-filled",unicode:""},{font_class:"up",unicode:""},{font_class:"top",unicode:""},{font_class:"upload",unicode:""},{font_class:"upload-filled",unicode:""},{font_class:"videocam",unicode:""},{font_class:"videocam-filled",unicode:""},{font_class:"vip",unicode:""},{font_class:"vip-filled",unicode:""},{font_class:"wallet",unicode:""},{font_class:"wallet-filled",unicode:""},{font_class:"weibo",unicode:""},{font_class:"weixin",unicode:""}],L=(e,t)=>{const s=e.__vccOpts||e;for(const[o,i]of t)s[o]=i;return s};const E=L({name:"UniIcons",emits:["click"],props:{type:{type:String,default:""},color:{type:String,default:"#333333"},size:{type:[Number,String],default:16},customPrefix:{type:String,default:""},fontFamily:{type:String,default:""}},data:()=>({icons:F}),computed:{unicode(){let e=this.icons.find((e=>e.font_class===this.type));return e?e.unicode:""},iconSize(){return"number"==typeof(e=this.size)||/^[0-9]*$/g.test(e)?e+"px":e;var e},styleObj(){return""!==this.fontFamily?`color: ${this.color}; font-size: ${this.iconSize}; font-family: ${this.fontFamily};`:`color: ${this.color}; font-size: ${this.iconSize};`}},methods:{_onClick(e){this.$emit("click",e)}}},[["render",function(n,c,r,u,d,h){const f=l;return e(),t(f,{style:i(h.styleObj),class:a(["uni-icons",["uniui-"+r.type,r.customPrefix,r.customPrefix?r.type:""]]),onClick:h._onClick},{default:s((()=>[o(n.$slots,"default",{},void 0,!0)])),_:3},8,["style","class","onClick"])}],["__scopeId","data-v-b25a9929"]]);function U(e,t){return"string"==typeof e?t:e}const Y=((e,t=0)=>(t,s=r())=>{!n&&c(e,t,s)})(u,2);const K=L({name:"uniCombox",emits:["input","update:modelValue","select"],props:{clearAble:{type:Boolean,default:!1},border:{type:Boolean,default:!0},label:{type:String,default:""},labelWidth:{type:String,default:"auto"},placeholder:{type:String,default:""},candidates:{type:Array,default:()=>[]},emptyTips:{type:String,default:"无匹配项"},modelValue:{type:[String,Number],default:""}},data:()=>({showSelector:!1,inputVal:""}),computed:{labelStyle(){return"auto"===this.labelWidth?"":`width: ${this.labelWidth}`},filterCandidates(){return this.candidates.filter((e=>e.toString().indexOf(this.inputVal)>-1))},filterCandidatesLength(){return this.filterCandidates.length}},watch:{modelValue:{handler(e){this.inputVal=e},immediate:!0}},methods:{toggleSelector(){this.showSelector=!this.showSelector},onFocus(){this.showSelector=!0},onBlur(){setTimeout((()=>{this.showSelector=!1}),153)},onSelectorClick(e){this.inputVal=this.filterCandidates[e],this.showSelector=!1,this.$emit("input",this.inputVal),this.$emit("select",this.inputVal),this.$emit("update:modelValue",this.inputVal)},onInput(){setTimeout((()=>{this.$emit("input",this.inputVal),this.$emit("update:modelValue",this.inputVal)}))},clean(){this.inputVal="",this.onInput()}}},[["render",function(o,n,c,r,u,k){const C=l,S=w,z=v,x=U(d("uni-icons"),E),$=b;return e(),t(S,{class:a(["uni-combox",c.border?"":"uni-combox__no-border"])},{default:s((()=>[c.label?(e(),t(S,{key:0,class:"uni-combox__label",style:i(k.labelStyle)},{default:s((()=>[h(C,null,{default:s((()=>[f(p(c.label),1)])),_:1})])),_:1},8,["style"])):m("",!0),h(S,{class:"uni-combox__input-box"},{default:s((()=>[h(z,{class:"uni-combox__input",type:"text",placeholder:c.placeholder,"placeholder-class":"uni-combox__input-plac",modelValue:u.inputVal,"onUpdate:modelValue":n[0]||(n[0]=e=>u.inputVal=e),onInput:k.onInput,onFocus:k.onFocus,onBlur:k.onBlur},null,8,["placeholder","modelValue","onInput","onFocus","onBlur"]),u.inputVal&&c.clearAble?m("",!0):(e(),t(x,{key:0,type:u.showSelector?"top":"bottom",size:"14",color:"#999",onClick:k.toggleSelector},null,8,["type","onClick"])),u.inputVal&&c.clearAble?(e(),t(x,{key:1,type:"clear",size:"24",color:"#999",onClick:k.clean},null,8,["onClick"])):m("",!0)])),_:1}),u.showSelector&&k.filterCandidatesLength>0?(e(),t(S,{key:1,class:"uni-combox__selector"},{default:s((()=>[h(S,{class:"uni-popper__arrow"}),h($,{"scroll-y":"true",class:"uni-combox__selector-scroll"},{default:s((()=>[0===k.filterCandidatesLength?(e(),t(S,{key:0,class:"uni-combox__selector-empty"},{default:s((()=>[h(C,null,{default:s((()=>[f(p(c.emptyTips),1)])),_:1})])),_:1})):m("",!0),(e(!0),g(_,null,y(k.filterCandidates,((o,i)=>(e(),t(S,{class:"uni-combox__selector-item",key:i,onClick:e=>k.onSelectorClick(i)},{default:s((()=>[h(C,null,{default:s((()=>[f(p(o),1)])),_:2},1024)])),_:2},1032,["onClick"])))),128))])),_:1})])),_:1})):m("",!0)])),_:1},8,["class"])}],["__scopeId","data-v-516a1acf"]]);class N{constructor(e,t){this.options=e,this.animation=k({...e}),this.currentStepAnimates={},this.next=0,this.$=t}_nvuePushAnimates(e,t){let s=this.currentStepAnimates[this.next],o={};if(o=s||{styles:{},config:{}},W.includes(e)){o.styles.transform||(o.styles.transform="");let s="";"rotate"===e&&(s="deg"),o.styles.transform+=`${e}(${t+s}) `}else o.styles[e]=`${t}`;this.currentStepAnimates[this.next]=o}_animateRun(e={},t={}){let s=this.$.$refs.ani.ref;if(s)return new Promise(((o,i)=>{nvueAnimation.transition(s,{styles:e,...t},(e=>{o()}))}))}_nvueNextAnimate(e,t=0,s){let o=e[t];if(o){let{styles:i,config:a}=o;this._animateRun(i,a).then((()=>{t+=1,this._nvueNextAnimate(e,t,s)}))}else this.currentStepAnimates={},"function"==typeof s&&s(),this.isEnd=!0}step(e={}){return this.animation.step(e),this}run(e){this.$.animationData=this.animation.export(),this.$.timer=setTimeout((()=>{"function"==typeof e&&e()}),this.$.durationTime)}}const W=["matrix","matrix3d","rotate","rotate3d","rotateX","rotateY","rotateZ","scale","scale3d","scaleX","scaleY","scaleZ","skew","skewX","skewY","translate","translate3d","translateX","translateY","translateZ"];function X(e,t){if(t)return clearTimeout(t.timer),new N(e,t)}W.concat(["opacity","backgroundColor"],["width","height","left","right","top","bottom"]).forEach((e=>{N.prototype[e]=function(...t){return this.animation[e](...t),this}}));const G=L({name:"uniTransition",emits:["click","change"],props:{show:{type:Boolean,default:!1},modeClass:{type:[Array,String],default:()=>"fade"},duration:{type:Number,default:300},styles:{type:Object,default:()=>({})},customClass:{type:String,default:""},onceRender:{type:Boolean,default:!1}},data:()=>({isShow:!1,transform:"",opacity:0,animationData:{},durationTime:300,config:{}}),watch:{show:{handler(e){e?this.open():this.isShow&&this.close()},immediate:!0}},computed:{stylesObject(){let e={...this.styles,"transition-duration":this.duration/1e3+"s"},t="";for(let s in e){t+=this.toLine(s)+":"+e[s]+";"}return t},transformStyles(){return"transform:"+this.transform+";opacity:"+this.opacity+";"+this.stylesObject}},created(){this.config={duration:this.duration,timingFunction:"ease",transformOrigin:"50% 50%",delay:0},this.durationTime=this.duration},methods:{init(e={}){e.duration&&(this.durationTime=e.duration),this.animation=X(Object.assign(this.config,e),this)},onClick(){this.$emit("click",{detail:this.isShow})},step(e,t={}){return this.animation?(Object.keys(e).forEach((t=>{const s=e[t];"function"==typeof this.animation[t]&&(Array.isArray(s)?this.animation[t](...s):this.animation[t](s))})),this.animation.step(t),this):this},run(e){this.animation&&this.animation.run(e)},open(){clearTimeout(this.timer),this.isShow=!0,this.transform=this.styleInit(!1).transform||"",this.opacity=this.styleInit(!1).opacity||0,this.$nextTick((()=>{this.timer=setTimeout((()=>{this.animation=X(this.config,this),this.tranfromInit(!1).step(),this.animation.run((()=>{this.transform="",this.opacity=this.styleInit(!1).opacity||1,this.$emit("change",{detail:this.isShow})}))}),80)}))},close(e){this.animation&&this.tranfromInit(!0).step().run((()=>{this.isShow=!1,this.animationData=null,this.animation=null;let{opacity:e,transform:t}=this.styleInit(!1);this.opacity=e||1,this.transform=t,this.$emit("change",{detail:this.isShow})}))},styleInit(e){let t={transform:"",opacity:1};const s=(e,s)=>{const o=this.animationType(e)[s];s.startsWith("fade")?t.opacity=o:t.transform+=o+" "};return"string"==typeof this.modeClass?s(e,this.modeClass):this.modeClass.forEach((t=>s(e,t))),t},tranfromInit(e){let t=(e,t)=>{let s=null;"fade"===t?s=e?0:1:(s=e?"-100%":"0","zoom-in"===t&&(s=e?.8:1),"zoom-out"===t&&(s=e?1.2:1),"slide-right"===t&&(s=e?"100%":"0"),"slide-bottom"===t&&(s=e?"100%":"0")),this.animation[this.animationMode()[t]](s)};return"string"==typeof this.modeClass?t(e,this.modeClass):this.modeClass.forEach((s=>{t(e,s)})),this.animation},animationType:e=>({fade:e?1:0,"slide-top":`translateY(${e?"0":"-100%"})`,"slide-right":`translateX(${e?"0":"100%"})`,"slide-bottom":`translateY(${e?"0":"100%"})`,"slide-left":`translateX(${e?"0":"-100%"})`,"zoom-in":`scaleX(${e?1:.8}) scaleY(${e?1:.8})`,"zoom-out":`scaleX(${e?1:1.2}) scaleY(${e?1:1.2})`}),animationMode:()=>({fade:"opacity","slide-top":"translateY","slide-right":"translateX","slide-bottom":"translateY","slide-left":"translateX","zoom-in":"scale","zoom-out":"scale"}),toLine:e=>e.replace(/([A-Z])/g,"-$1").toLowerCase()}},[["render",function(l,n,c,r,u,d){const h=w;return C((e(),t(h,{ref:"ani",animation:u.animationData,class:a(c.customClass),style:i(d.transformStyles),onClick:d.onClick},{default:s((()=>[o(l.$slots,"default")])),_:3},8,["animation","class","style","onClick"])),[[S,u.isShow]])}]]);const q=L({name:"uniPopup",components:{keypress:{name:"Keypress",props:{disable:{type:Boolean,default:!1}},mounted(){const e={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]};document.addEventListener("keyup",(t=>{if(this.disable)return;const s=Object.keys(e).find((s=>{const o=t.key,i=e[s];return i===o||Array.isArray(i)&&i.includes(o)}));s&&setTimeout((()=>{this.$emit(s,{})}),0)}))},render:()=>{}}},emits:["change","maskClick"],props:{animation:{type:Boolean,default:!0},type:{type:String,default:"center"},isMaskClick:{type:Boolean,default:null},maskClick:{type:Boolean,default:null},backgroundColor:{type:String,default:"none"},safeArea:{type:Boolean,default:!0},maskBackgroundColor:{type:String,default:"rgba(0, 0, 0, 0.4)"},borderRadius:{type:String}},watch:{type:{handler:function(e){this.config[e]&&this[this.config[e]](!0)},immediate:!0},isDesktop:{handler:function(e){this.config[e]&&this[this.config[this.type]](!0)},immediate:!0},maskClick:{handler:function(e){this.mkclick=e},immediate:!0},isMaskClick:{handler:function(e){this.mkclick=e},immediate:!0},showPopup(e){document.getElementsByTagName("body")[0].style.overflow=e?"hidden":"visible"}},data(){return{duration:300,ani:[],showPopup:!1,showTrans:!1,popupWidth:0,popupHeight:0,config:{top:"top",bottom:"bottom",center:"center",left:"left",right:"right",message:"top",dialog:"center",share:"bottom"},maskClass:{position:"fixed",bottom:0,top:0,left:0,right:0,backgroundColor:"rgba(0, 0, 0, 0.4)"},transClass:{backgroundColor:"transparent",borderRadius:this.borderRadius||"0",position:"fixed",left:0,right:0},maskShow:!0,mkclick:!0,popupstyle:"top"}},computed:{getStyles(){let e={backgroundColor:this.bg};return this.borderRadius,e=Object.assign(e,{borderRadius:this.borderRadius}),e},isDesktop(){return this.popupWidth>=500&&this.popupHeight>=500},bg(){return""===this.backgroundColor||"none"===this.backgroundColor?"transparent":this.backgroundColor}},mounted(){(()=>{const{windowWidth:e,windowHeight:t,windowTop:s,safeArea:o,screenHeight:i,safeAreaInsets:a}=x();this.popupWidth=e,this.popupHeight=t+(s||0),o&&this.safeArea?this.safeAreaInsets=a.bottom:this.safeAreaInsets=0})()},unmounted(){this.setH5Visible()},activated(){this.setH5Visible(!this.showPopup)},deactivated(){this.setH5Visible(!0)},created(){null===this.isMaskClick&&null===this.maskClick?this.mkclick=!0:this.mkclick=null!==this.isMaskClick?this.isMaskClick:this.maskClick,this.animation?this.duration=300:this.duration=0,this.messageChild=null,this.clearPropagation=!1,this.maskClass.backgroundColor=this.maskBackgroundColor},methods:{setH5Visible(e=!0){document.getElementsByTagName("body")[0].style.overflow=e?"visible":"hidden"},closeMask(){this.maskShow=!1},disableMask(){this.mkclick=!1},clear(e){e.stopPropagation(),this.clearPropagation=!0},open(e){if(this.showPopup)return;e&&-1!==["top","center","bottom","left","right","message","dialog","share"].indexOf(e)||(e=this.type),this.config[e]?(this[this.config[e]](),this.$emit("change",{show:!0,type:e})):console.error("缺少类型:",e)},close(e){this.showTrans=!1,this.$emit("change",{show:!1,type:this.type}),clearTimeout(this.timer),this.timer=setTimeout((()=>{this.showPopup=!1}),300)},touchstart(){this.clearPropagation=!1},onTap(){this.clearPropagation?this.clearPropagation=!1:(this.$emit("maskClick"),this.mkclick&&this.close())},top(e){this.popupstyle=this.isDesktop?"fixforpc-top":"top",this.ani=["slide-top"],this.transClass={position:"fixed",left:0,right:0,backgroundColor:this.bg,borderRadius:this.borderRadius||"0"},e||(this.showPopup=!0,this.showTrans=!0,this.$nextTick((()=>{this.showPoptrans(),this.messageChild&&"message"===this.type&&this.messageChild.timerClose()})))},bottom(e){this.popupstyle="bottom",this.ani=["slide-bottom"],this.transClass={position:"fixed",left:0,right:0,bottom:0,paddingBottom:this.safeAreaInsets+"px",backgroundColor:this.bg,borderRadius:this.borderRadius||"0"},e||this.showPoptrans()},center(e){this.popupstyle="center",this.ani=["zoom-out","fade"],this.transClass={position:"fixed",display:"flex",flexDirection:"column",bottom:0,left:0,right:0,top:0,justifyContent:"center",alignItems:"center",borderRadius:this.borderRadius||"0"},e||this.showPoptrans()},left(e){this.popupstyle="left",this.ani=["slide-left"],this.transClass={position:"fixed",left:0,bottom:0,top:0,backgroundColor:this.bg,borderRadius:this.borderRadius||"0",display:"flex",flexDirection:"column"},e||this.showPoptrans()},right(e){this.popupstyle="right",this.ani=["slide-right"],this.transClass={position:"fixed",bottom:0,right:0,top:0,backgroundColor:this.bg,borderRadius:this.borderRadius||"0",display:"flex",flexDirection:"column"},e||this.showPoptrans()},showPoptrans(){this.$nextTick((()=>{this.showPopup=!0,this.showTrans=!0}))}}},[["render",function(l,n,c,r,u,f){const p=U(d("uni-transition"),G),g=w,_=z("keypress");return u.showPopup?(e(),t(g,{key:0,class:a(["uni-popup",[u.popupstyle,f.isDesktop?"fixforpc-z-index":""]])},{default:s((()=>[h(g,{onTouchstart:f.touchstart},{default:s((()=>[u.maskShow?(e(),t(p,{key:"1",name:"mask","mode-class":"fade",styles:u.maskClass,duration:u.duration,show:u.showTrans,onClick:f.onTap},null,8,["styles","duration","show","onClick"])):m("",!0),h(p,{key:"2","mode-class":u.ani,name:"content",styles:u.transClass,duration:u.duration,show:u.showTrans,onClick:f.onTap},{default:s((()=>[h(g,{class:a(["uni-popup__wrapper",[u.popupstyle]]),style:i(f.getStyles),onClick:f.clear},{default:s((()=>[o(l.$slots,"default",{},void 0,!0)])),_:3},8,["style","class","onClick"])])),_:3},8,["mode-class","styles","duration","show","onClick"])])),_:3},8,["onTouchstart"]),u.maskShow?(e(),t(_,{key:0,onEsc:f.onTap},null,8,["onEsc"])):m("",!0)])),_:3},8,["class"])):m("",!0)}],["__scopeId","data-v-fc99ec19"]]),Z=(e,t="YYYY-MM-DD HH:mm:ss")=>{const s=e.getFullYear(),o=String(e.getMonth()+1).padStart(2,"0"),i=String(e.getDate()).padStart(2,"0"),a=String(e.getHours()).padStart(2,"0"),l=String(e.getMinutes()).padStart(2,"0"),n=String(e.getSeconds()).padStart(2,"0");return t.replace("YYYY",s).replace("MM",o).replace("DD",i).replace("HH",a).replace("mm",l).replace("ss",n)},J=new Map,Q=async e=>J.has(e)?(console.log("使用缓存的logo:",e),J.get(e)):new Promise(((t,s)=>{fetch(e).then((e=>{if(!e.ok)throw new Error("下载失败");return e.blob()})).then((s=>{const o=URL.createObjectURL(s);J.set(e,o),console.log("H5 缓存 logo:",e),t(o)})).catch((e=>{console.error("H5 下载logo失败:",e),s(e)}))})),ee=async(e,t,s=null,o=1,i=null,a=1920)=>new Promise((async(l,n)=>{try{const c=new Image;c.crossOrigin="anonymous",c.onload=async()=>{try{let n;try{n=await(async e=>new Promise(((t,s)=>{try{if(e instanceof File){const s=e.size;t({size:s,sizeKB:(s/1024).toFixed(2),sizeMB:(s/1048576).toFixed(2)})}else e.startsWith("blob:")?fetch(e).then((e=>e.blob())).then((e=>{t({size:e.size,sizeKB:(e.size/1024).toFixed(2),sizeMB:(e.size/1048576).toFixed(2)})})).catch((e=>{console.error("H5 获取blob文件大小失败:",e),t({size:0,sizeKB:"0.00",sizeMB:"0.00"})})):fetch(e,{method:"HEAD"}).then((e=>{const s=e.headers.get("content-length");if(!s)throw new Error("无法获取文件大小");t({size:Number(s),sizeKB:(s/1024).toFixed(2),sizeMB:(s/1048576).toFixed(2)})})).catch((e=>{console.error("H5 获取文件大小失败:",e),t({size:0,sizeKB:"0.00",sizeMB:"0.00"})}))}catch(o){console.error("H5 处理异常:",o),t({size:0,sizeKB:"0.00",sizeMB:"0.00"})}})))(e),console.log("原图文件大小:",n.sizeKB,"KB")}catch(m){console.warn("获取原图文件大小失败,使用默认值:",m),n={size:0,sizeKB:"0.00",sizeMB:"0.00"}}const g=null!==i?i:!(p=Number(n.sizeKB))||p<=0?.8:p<100?.9:p<500?.8:.7;console.log("使用压缩质量:",g);const{width:_,height:y}=c;console.log("原图尺寸:",_,"x",y);const w=((e,t,s=1920)=>{if(e<=s)return{width:e,height:t};const o=s/e;return{width:Math.round(e*o),height:Math.round(t*o)}})(_,y,a);console.log("输出尺寸:",w.width,"x",w.height);const v=document.createElement("canvas"),b=v.getContext("2d");v.width=w.width,v.height=w.height,b.drawImage(c,0,0,w.width,w.height);const k=(e,t=25,s=3)=>{if(e.length<=t)return[e];const o=[];let i="",a=0;for(let l=0;l<e.length&&a<s;l++)if(i+=e[l],(i.length>=t||l===e.length-1)&&(o.push(i),a++,i="",a===s&&l<e.length-1)){o[o.length-1]=o[o.length-1].slice(0,-3)+"...";break}return o},C=[`时间: ${t.time}`,`经度: ${t.longitude}`,`维度: ${t.latitude}`];var r=k("位置: "+t.location);C.push(...r);var u=k("部门: "+t.department);C.push(...u);var d=k("状态: "+t.status);C.push(...d);var h=k("人员: "+t.workers.join(", "));C.push(...h);var f=k("内容: "+t.remarks);C.push(...f);const S=async()=>{const e=w.height-30-30*C.length;if(b.fillStyle="rgba(255, 255, 255, 1)",b.font="30px Arial",b.textBaseline="top",C.forEach(((t,s)=>{b.fillText(t,30,e+30*s)})),s)try{const t=await Q(s),i=new Image;i.crossOrigin="anonymous",i.onload=()=>{const t=e-200-10;b.globalAlpha=o,b.drawImage(i,30,t,200,200),b.globalAlpha=1,v.toBlob((e=>{const t=URL.createObjectURL(e);console.log("H5 水印图片导出成功:",t);const s={size:e.size,sizeKB:(e.size/1024).toFixed(2),sizeMB:(e.size/1048576).toFixed(2)};l({filePath:t,originalSize:{width:_,height:y,fileSize:n},watermarkSize:{width:w.width,height:w.height,fileSize:s}})}),"image/jpeg",g)},i.onerror=e=>{console.error("H5 logo加载失败:",e),v.toBlob((e=>{const t=URL.createObjectURL(e);console.log("H5 水印图片导出成功(logo加载失败):",t);const s={size:e.size,sizeKB:(e.size/1024).toFixed(2),sizeMB:(e.size/1048576).toFixed(2)};l({filePath:t,originalSize:{width:_,height:y,fileSize:n},watermarkSize:{width:w.width,height:w.height,fileSize:s}})}),"image/jpeg",g)},i.src=t}catch(m){console.error("H5 获取logo失败:",m),v.toBlob((e=>{const t=URL.createObjectURL(e);console.log("H5 水印图片导出成功(logo获取失败):",t);const s={size:e.size,sizeKB:(e.size/1024).toFixed(2),sizeMB:(e.size/1048576).toFixed(2)};l({filePath:t,originalSize:{width:_,height:y,fileSize:n},watermarkSize:{width:w.width,height:w.height,fileSize:s}})}),"image/jpeg",g)}else v.toBlob((e=>{const t=URL.createObjectURL(e);console.log("H5 水印图片导出成功(无logo):",t);const s={size:e.size,sizeKB:(e.size/1024).toFixed(2),sizeMB:(e.size/1048576).toFixed(2)};l({filePath:t,originalSize:{width:_,height:y,fileSize:n},watermarkSize:{width:w.width,height:w.height,fileSize:s}})}),"image/jpeg",g)};await S()}catch(g){console.error("H5 处理图片失败:",g),n(g)}var p},c.onerror=e=>{console.error("H5 图片加载失败:",e),n(e)},c.src=e}catch(c){console.error("H5 创建图片对象失败:",c),n(c)}})),te=e=>new Promise(((t,s)=>{try{const s=document.createElement("a");s.href=e,s.download="image_"+Date.now(),document.body.appendChild(s),s.click(),document.body.removeChild(s),console.log("H5 触发浏览器下载成功"),t(!0)}catch(o){console.error("H5 保存图片失败:",o),s(o)}}));async function se(e,t,s){return new Promise(((o,i)=>{T({url:e,data:t,method:s,success:function(e){o(e.data)}})}))}async function oe(e,t){return se(e,t,"GET")}var ie="https://wc.zpc-xy.com/";const ae=async e=>{var t=ie+"addworkrecord";console.log(t,e);const s=await async function(e,t){return se(e,t,"POST")}(t,e);return s},le=ie+"webapi",ne=L({__name:"index",setup(o){const i=P("水印相机"),a=P([]),n=P(""),c=P(null),r=P({location:{lat:null,lng:null},translate:{lat:null,lng:null,locationInfo:null}}),u=P(""),b=P(""),k=P({original:{width:0,height:0,fileSize:null},watermark:{width:0,height:0,fileSize:null}}),C=P(["请选择"]),S=P(0),z=P([""]),x=P([]),T=P(0),F=P(""),L=P(""),E=P(!1);let N="";const W=async()=>{A({title:"加载中。。。"});try{const e=await(async()=>new Promise(((e,t)=>{$({isHighAccuracy:!0,altitude:!0,accuracy:"best",success:t=>{e(t)},fail:e=>{t(e)}})})))();console.log("系统坐标",e);const t=e.latitude+","+e.longitude;console.log("经纬度",t);const s=await(async e=>{console.log(le);const t=`${le}/GetLocationTranslate?locations=${e}&type=1`,s=await oe(t,{});return 200==s.code?s.data:""})(t);console.log("转换后",s);const o=s.lat+","+s.lng,i=await(async e=>{const t=`${le}/GetLocationGeocoder?location=${e}`;return(await oe(t,{})).data})(o);console.log("地理编码结果",i),r.value.location.lat=e.latitude,r.value.location.lng=e.longitude,r.value.translate.lat=s.lat,r.value.translate.lng=s.lng,r.value.translate.locationInfo=i||"未知位置",F.value=i||"未知位置",L.value=new Date;const a=await(async()=>new Promise(((e,t)=>{B({count:1,success:t=>{e(t)},fail:e=>{t(e)}})})))();console.log("图片",a),b.value=a.tempFilePaths[0],u.value=a.tempFilePaths[0],await ne(),I(),c.value.open()}catch(e){console.log("错误",e),I()}},X=()=>{R({urls:[u.value]})},G=async e=>{if(console.log("选择的工作内容:",e),null!=de[e]){var t=de[e];t.dept&&C.value.includes(t.dept)&&(S.value=C.value.indexOf(t.dept)),t.status&&x.value.includes(t.status)&&(T.value=x.value.indexOf(t.status)),t.workers&&Array.isArray(t.workers)&&(z.value.splice(0,z.value.length),z.value.push(...t.workers)),await ne(e),console.log("加载的历史数据:",t)}},J=e=>{S.value=e.detail.value},se=e=>{T.value=e.detail.value},ie=()=>{z.value.push("")},ne=async(e="")=>{try{const t={time:Z(L.value),location:F.value,longitude:r.value.translate.lng,latitude:r.value.translate.lat,department:C.value[S.value],workers:z.value.filter((e=>""!==e.trim())),status:x.value[T.value],remarks:n.value};""==n.value&&""!=e&&(t.remarks=e),console.log("水印信息:",t),console.log("原图路径:",b.value);const s=await ee(b.value,t,N,1);console.log("水印结果:",s),u.value=s.filePath,k.value={original:s.originalSize,watermark:s.watermarkSize}}catch(t){console.error("添加水印失败:",t),H({title:"添加水印失败",icon:"error"})}},ce=()=>{c.value.close(),pe()},re=async()=>{if(!E.value&&fe(!1)){E.value=!0;try{A({title:"保存中..."}),await ne(),u.value&&await te(u.value),I(),H({title:"图片保存成功",icon:"success"})}catch(e){console.error("保存图片失败:",e),I(),H({title:"保存图片失败",icon:"error"})}finally{setTimeout((()=>{E.value=!1}),1e3)}}},ue=async()=>{z.value.splice(0,z.value.length),z.value.push(""),T.value=0,S.value=0,n.value="",me(),await ne()};var de={};const he=async()=>{if(!E.value&&fe(!0)){E.value=!0;try{A({title:"保存中..."}),await ne();var e={workContent:n.value,workers:z.value.filter((e=>""!==e.trim())),status:x.value[T.value],dept:C.value[S.value],date:(new Date).toISOString()};console.log(e),de[n.value]=e,D("locationData",de);var t={locations:r.value,workContent:n.value,workers:z.value,status:x.value[T.value],dept:C.value[S.value]},s=JSON.stringify(r.value),o=await(a=u.value,new Promise(((e,t)=>{const s=new Image;s.crossOrigin="anonymous";let o="image/jpeg";const i=a.match(/\.(png|jpe?g|gif|bmp|webp|svg)(\?.*)?$/i);i&&(o=`image/${i[1].toLowerCase()}`,"image/jpg"===o&&(o="image/jpeg")),s.src=a,s.onload=()=>{const t=document.createElement("canvas");t.width=s.width,t.height=s.height,t.getContext("2d").drawImage(s,0,0,s.width,s.height);const i=t.toDataURL(o,1);e(i)},s.onerror=t})));console.log(t);const l={DeptName:C.value[S.value],Image:o,RecordTime:Z(L.value),Longitude:r.value.translate.lng,Latitude:r.value.translate.lat,Address:F.value,Content:n.value,StatusName:x.value[T.value],Remarks:s,Workers:z.value};var i=await ae(l);if(console.log(i),200!=i.code)return I(),void H({title:i.msg,icon:"error"});u.value&&await te(u.value),I(),H({title:"保存成功",icon:"success"}),ce()}catch(l){console.error("保存失败:",l),I(),H({title:"保存失败",icon:"error"})}finally{setTimeout((()=>{E.value=!1}),1e3)}var a}},fe=(e=!1)=>{if(!F.value||""===F.value.trim())return H({title:"位置信息不能为空",icon:"error"}),!1;if(e){if(!n.value||""===n.value.trim())return H({title:"请填写工作内容",icon:"error"}),!1;if(0===S.value)return H({title:"请选择部门",icon:"error"}),!1;if(0===z.value.filter((e=>""!==e.trim())).length)return H({title:"请填写施工人员",icon:"error"}),!1;if(0===T.value)return H({title:"请选择项目状态",icon:"error"}),!1}return!0},pe=()=>{u.value="",b.value="",F.value="",L.value="",k.value={original:{width:0,height:0,fileSize:null},watermark:{width:0,height:0,fileSize:null}},z.value.splice(0,z.value.length),z.value.push(""),T.value=0,S.value=0,n.value="",me()},me=()=>{a.value.splice(0,a.value.length);Object.entries(de).filter((([e,t])=>t&&t.date)).sort(((e,t)=>{const s=new Date(e[1].date);return new Date(t[1].date)-s})).forEach((([e,t])=>{console.log(`工作内容: ${e}, 时间: ${t.date}`),a.value.push(e)}))};return Y((async()=>{A({title:"loading..."});try{const t=await(async()=>(await oe("https://wc.zpc-xy.com/config",{})).data)();console.log("配置",t),N=t.logo,C.value.push(...t.deptList),x.value.push(...t.construction),await Q(N);var e=V("locationData");null!=e&&(de=e,me())}catch(t){console.error("初始化失败:",t)}finally{I()}})),(o,r)=>{const b=O,$=l,B=M,P=w,A=v,V=U(d("uni-combox"),K),I=j,R=U(d("uni-popup"),q);return e(),t(P,null,{default:s((()=>[h(P,null,{default:s((()=>[h(b,{class:"logo",src:"/assets/logo-BPcuOvO7.jpg"}),h($,{class:"title"},{default:s((()=>[f(p(i.value),1)])),_:1}),h(P,{class:"btn-view"},{default:s((()=>[h(B,{type:"primary",class:"btn",onClick:W},{default:s((()=>[f(" 开始拍摄 ")])),_:1})])),_:1})])),_:1}),h(R,{ref_key:"popup",ref:c,"is-mask-click":!1,type:"bottom","border-radius":"0 0 0 0"},{default:s((()=>[h(P,{class:"container"},{default:s((()=>[h(P,{style:{height:"80rpx"}}),h(P,{class:"preview-box"},{default:s((()=>[h($,{class:"preview-title"},{default:s((()=>[f("图片预览")])),_:1}),h(P,{class:"preview-img"},{default:s((()=>[h(b,{src:u.value,onClick:X,mode:"aspectFit",class:"img"},null,8,["src"])])),_:1}),(k.value.original.width,m("",!0))])),_:1}),h(P,{class:"form-item"},{default:s((()=>[h($,{class:"label"},{default:s((()=>[f("位置:")])),_:1}),h(A,{modelValue:F.value,"onUpdate:modelValue":r[0]||(r[0]=e=>F.value=e),type:"text",class:"input worker-input"},null,8,["modelValue"])])),_:1}),h(P,{class:"form-item"},{default:s((()=>[h($,{class:"label"},{default:s((()=>[f("请填写工作内容:")])),_:1}),h(V,{candidates:a.value,"clear-able":!0,placeholder:"请填写工作内容",onSelect:G,modelValue:n.value,"onUpdate:modelValue":r[1]||(r[1]=e=>n.value=e)},null,8,["candidates","modelValue"])])),_:1}),h(P,{class:"form-item"},{default:s((()=>[h($,{class:"label"},{default:s((()=>[f("请选择部门:")])),_:1}),h(I,{range:C.value,onChange:J},{default:s((()=>[h(P,{class:"picker"},{default:s((()=>[f(p(C.value[S.value]),1)])),_:1})])),_:1},8,["range"])])),_:1}),h(P,{class:"form-item"},{default:s((()=>[h($,{class:"label"},{default:s((()=>[f("请填写施工人员:")])),_:1}),(e(!0),g(_,null,y(z.value,((o,i)=>(e(),t(P,{key:i,class:"worker-row"},{default:s((()=>[h(A,{type:"text",modelValue:z.value[i],"onUpdate:modelValue":e=>z.value[i]=e,class:"input worker-input"},null,8,["modelValue","onUpdate:modelValue"]),h(P,{class:"btns"},{default:s((()=>[h(B,{class:"btn_f",size:"mini",onClick:ie},{default:s((()=>[f("+")])),_:1}),z.value.length>0?(e(),t(B,{key:0,class:"btn_f",size:"mini",onClick:e=>(e=>{z.value.length>1&&z.value.splice(e,1)})(i)},{default:s((()=>[f(" - ")])),_:2},1032,["onClick"])):m("",!0)])),_:2},1024)])),_:2},1024)))),128))])),_:1}),h(P,{class:"form-item"},{default:s((()=>[h($,{class:"label"},{default:s((()=>[f("请选择项目状态:")])),_:1}),h(I,{range:x.value,onChange:se},{default:s((()=>[h(P,{class:"picker"},{default:s((()=>[f(p(x.value[T.value]),1)])),_:1})])),_:1},8,["range"])])),_:1}),h(P,{class:"footer"},{default:s((()=>[h(B,{type:"primary",class:"btn-cancel",onClick:ce},{default:s((()=>[f(" 重拍 ")])),_:1}),h(B,{type:"primary",class:"btn-cancel",onClick:ue},{default:s((()=>[f(" 清空 ")])),_:1}),h(B,{type:"primary",class:"btn-save",onClick:re,disabled:E.value},{default:s((()=>[f(" 保存图片 ")])),_:1},8,["disabled"]),h(B,{type:"primary",class:"btn-submit",onClick:he,disabled:E.value},{default:s((()=>[f(" 提交数据 ")])),_:1},8,["disabled"])])),_:1})])),_:1})])),_:1},512)])),_:1})}}},[["__scopeId","data-v-e9270139"]]);export{ne as default};
|