From 98b7b2d5d23573b39626f3e95776abf3313d76cb Mon Sep 17 00:00:00 2001 From: TimSpan Date: Wed, 31 Jul 2024 17:04:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=8B=E6=8C=81=E8=AE=BE=E5=A4=87=E7=9A=84?= =?UTF-8?q?=E8=A7=86=E9=A2=91=E5=AF=B9=E6=8E=A5=20=E8=B0=83=E8=AF=95?= =?UTF-8?q?=E6=88=90=E5=8A=9F=E3=80=81=E4=BB=A5=E5=8F=8A=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E8=B7=AF=E5=BE=84=E7=9A=84=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 手持设备的视频对接 调试成功、以及项目文件路径的优化 --- .env.production | 2 + analyze.html | 8758 ++++++++--------- index.html | 7 +- .../haikang/h5player.min.js | 0 .../haikang/playctrl1simd}/AudioRenderer.js | 0 .../haikang/playctrl1simd}/DecodeWorker.js | 0 .../haikang/playctrl1simd}/Decoder.js | 0 .../haikang/playctrl1simd}/SuperRender_10.js | 0 public/rtc/.vscode/settings.json | 3 + public/rtc/AgoraRTC_N-4.11.0.js | 30 + public/rtc/config/url.js | 9 + public/rtc/css/deviceAlarmVideo.css | 286 + public/rtc/css/fullScreenVideo.css | 281 + public/rtc/css/moveDeviceVideoOne.css | 281 + public/rtc/deviceAlarmVideo.html | 58 + public/rtc/fix-webm-duration.js | 487 + public/rtc/fullScreenVideo.html | 48 + public/rtc/images/adjustVoice.png | Bin 0 -> 21658 bytes public/rtc/images/closeAudio.png | Bin 0 -> 2156 bytes public/rtc/images/closeMute.png | Bin 0 -> 17391 bytes public/rtc/images/endRecording.png | Bin 0 -> 30844 bytes public/rtc/images/hornClose.png | Bin 0 -> 2017 bytes public/rtc/images/hornOpen.png | Bin 0 -> 2324 bytes public/rtc/images/inTheVideo.png | Bin 0 -> 1600 bytes public/rtc/images/mikeClose.png | Bin 0 -> 1979 bytes public/rtc/images/mikeOpen.png | Bin 0 -> 2191 bytes public/rtc/images/openMute.png | Bin 0 -> 16723 bytes public/rtc/images/power0.png | Bin 0 -> 16511 bytes public/rtc/images/power100.png | Bin 0 -> 2314 bytes public/rtc/images/power20.png | Bin 0 -> 16582 bytes public/rtc/images/power40.png | Bin 0 -> 16585 bytes public/rtc/images/power60.png | Bin 0 -> 16128 bytes public/rtc/images/power80.png | Bin 0 -> 16093 bytes public/rtc/images/resetPlay.png | Bin 0 -> 5247 bytes public/rtc/images/share.png | Bin 0 -> 5164 bytes public/rtc/images/startRecording.png | Bin 0 -> 28690 bytes public/rtc/images/videoExit.png | Bin 0 -> 29545 bytes public/rtc/images/videoExitFullscreen.png | Bin 0 -> 22147 bytes public/rtc/images/videoFullscreen.png | Bin 0 -> 20592 bytes public/rtc/images/videoImg.png | Bin 0 -> 23845 bytes public/rtc/images/videoPtghidn.png | Bin 0 -> 23012 bytes public/rtc/images/videoPtgshow.png | Bin 0 -> 20118 bytes public/rtc/images/videoReInfo.png | Bin 0 -> 961 bytes public/rtc/images/videoSoundRecording.png | Bin 0 -> 21819 bytes public/rtc/images/videoWalk.png | Bin 0 -> 6609 bytes public/rtc/images/videoWalkOnline.png | Bin 0 -> 20896 bytes public/rtc/images/videotape.png | Bin 0 -> 17387 bytes .../rtc/jquery-3.4.1.min.js | 0 public/rtc/js/deviceAlarmVideo.js | 806 ++ public/rtc/js/fullScreenVideo.js | 798 ++ public/rtc/js/moveDeviceVideoOne.js | 798 ++ public/rtc/js/timestampFormat.js | 68 + public/rtc/layui.css | 1 + public/rtc/layui.js | 1 + public/rtc/md5.js | 184 + public/rtc/moveDeviceVideoOne.html | 102 + public/rtc/videoMoitorShow.html | 100 + public/rtc/walkBgVideo.png | Bin 0 -> 28085 bytes src/utils/createMqttData.ts | 25 + src/utils/sendMqtt.ts | 16 + src/views/page/hkplay.vue | 7 +- src/views/page/index.vue | 167 +- vite.config.ts | 17 +- 63 files changed, 8873 insertions(+), 4467 deletions(-) rename h5player.min.js => public/haikang/h5player.min.js (100%) rename {playctrl1simd => public/haikang/playctrl1simd}/AudioRenderer.js (100%) rename {playctrl1simd => public/haikang/playctrl1simd}/DecodeWorker.js (100%) rename {playctrl1simd => public/haikang/playctrl1simd}/Decoder.js (100%) rename {playctrl1simd => public/haikang/playctrl1simd}/SuperRender_10.js (100%) create mode 100644 public/rtc/.vscode/settings.json create mode 100644 public/rtc/AgoraRTC_N-4.11.0.js create mode 100644 public/rtc/config/url.js create mode 100644 public/rtc/css/deviceAlarmVideo.css create mode 100644 public/rtc/css/fullScreenVideo.css create mode 100644 public/rtc/css/moveDeviceVideoOne.css create mode 100644 public/rtc/deviceAlarmVideo.html create mode 100644 public/rtc/fix-webm-duration.js create mode 100644 public/rtc/fullScreenVideo.html create mode 100644 public/rtc/images/adjustVoice.png create mode 100644 public/rtc/images/closeAudio.png create mode 100644 public/rtc/images/closeMute.png create mode 100644 public/rtc/images/endRecording.png create mode 100644 public/rtc/images/hornClose.png create mode 100644 public/rtc/images/hornOpen.png create mode 100644 public/rtc/images/inTheVideo.png create mode 100644 public/rtc/images/mikeClose.png create mode 100644 public/rtc/images/mikeOpen.png create mode 100644 public/rtc/images/openMute.png create mode 100644 public/rtc/images/power0.png create mode 100644 public/rtc/images/power100.png create mode 100644 public/rtc/images/power20.png create mode 100644 public/rtc/images/power40.png create mode 100644 public/rtc/images/power60.png create mode 100644 public/rtc/images/power80.png create mode 100644 public/rtc/images/resetPlay.png create mode 100644 public/rtc/images/share.png create mode 100644 public/rtc/images/startRecording.png create mode 100644 public/rtc/images/videoExit.png create mode 100644 public/rtc/images/videoExitFullscreen.png create mode 100644 public/rtc/images/videoFullscreen.png create mode 100644 public/rtc/images/videoImg.png create mode 100644 public/rtc/images/videoPtghidn.png create mode 100644 public/rtc/images/videoPtgshow.png create mode 100644 public/rtc/images/videoReInfo.png create mode 100644 public/rtc/images/videoSoundRecording.png create mode 100644 public/rtc/images/videoWalk.png create mode 100644 public/rtc/images/videoWalkOnline.png create mode 100644 public/rtc/images/videotape.png rename jquery-3.4.1.min.js => public/rtc/jquery-3.4.1.min.js (100%) create mode 100644 public/rtc/js/deviceAlarmVideo.js create mode 100644 public/rtc/js/fullScreenVideo.js create mode 100644 public/rtc/js/moveDeviceVideoOne.js create mode 100644 public/rtc/js/timestampFormat.js create mode 100644 public/rtc/layui.css create mode 100644 public/rtc/layui.js create mode 100644 public/rtc/md5.js create mode 100644 public/rtc/moveDeviceVideoOne.html create mode 100644 public/rtc/videoMoitorShow.html create mode 100644 public/rtc/walkBgVideo.png create mode 100644 src/utils/createMqttData.ts create mode 100644 src/utils/sendMqtt.ts diff --git a/.env.production b/.env.production index 9f0f5be4..205e007d 100644 --- a/.env.production +++ b/.env.production @@ -6,6 +6,8 @@ VITE_DROP_CONSOLE=true # axios VITE_APP_BASE_API=/api VITE_APP_PROXY_URL=http://175.6.124.250:8083 +# VITE_APP_PROXY_URL=https://www.hndyjqrh.cn + #crypto js 前后端需保持一致 VITE_APP_CRYPTO_JS_SECRET_KEY=f0234d57c311beb2 diff --git a/analyze.html b/analyze.html index e9433dac..0907ffc1 100644 --- a/analyze.html +++ b/analyze.html @@ -1,1096 +1,1057 @@ + - Rollup Visualizer -
+ - \ No newline at end of file diff --git a/index.html b/index.html index aff1ff4e..7e5c269e 100644 --- a/index.html +++ b/index.html @@ -13,10 +13,9 @@
- - - + + + diff --git a/h5player.min.js b/public/haikang/h5player.min.js similarity index 100% rename from h5player.min.js rename to public/haikang/h5player.min.js diff --git a/playctrl1simd/AudioRenderer.js b/public/haikang/playctrl1simd/AudioRenderer.js similarity index 100% rename from playctrl1simd/AudioRenderer.js rename to public/haikang/playctrl1simd/AudioRenderer.js diff --git a/playctrl1simd/DecodeWorker.js b/public/haikang/playctrl1simd/DecodeWorker.js similarity index 100% rename from playctrl1simd/DecodeWorker.js rename to public/haikang/playctrl1simd/DecodeWorker.js diff --git a/playctrl1simd/Decoder.js b/public/haikang/playctrl1simd/Decoder.js similarity index 100% rename from playctrl1simd/Decoder.js rename to public/haikang/playctrl1simd/Decoder.js diff --git a/playctrl1simd/SuperRender_10.js b/public/haikang/playctrl1simd/SuperRender_10.js similarity index 100% rename from playctrl1simd/SuperRender_10.js rename to public/haikang/playctrl1simd/SuperRender_10.js diff --git a/public/rtc/.vscode/settings.json b/public/rtc/.vscode/settings.json new file mode 100644 index 00000000..6f3a2913 --- /dev/null +++ b/public/rtc/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "liveServer.settings.port": 5501 +} \ No newline at end of file diff --git a/public/rtc/AgoraRTC_N-4.11.0.js b/public/rtc/AgoraRTC_N-4.11.0.js new file mode 100644 index 00000000..c32bfccc --- /dev/null +++ b/public/rtc/AgoraRTC_N-4.11.0.js @@ -0,0 +1,30 @@ +/** + * AgoraWebSDK_N-v4.11.0-0-g961abf54 Copyright AgoraInc. + */ + +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).AgoraRTC=t()}(this,(function(){"use strict";var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=function(e){return e&&e.Math==Math&&e},r=t("object"==typeof globalThis&&globalThis)||t("object"==typeof window&&window)||t("object"==typeof self&&self)||t("object"==typeof e&&e)||function(){return this}()||Function("return this")(),i={},n=function(e){try{return!!e()}catch(e){return!0}},o=!n((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),s=!n((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")})),a=s,c=Function.prototype.call,d=a?c.bind(c):function(){return c.apply(c,arguments)},u={},A={}.propertyIsEnumerable,h=Object.getOwnPropertyDescriptor,l=h&&!A.call({1:2},1);u.f=l?function(e){var t=h(this,e);return!!t&&t.enumerable}:A;var p,g,f=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},E=s,I=Function.prototype,m=I.bind,_=I.call,C=E&&m.bind(_,_),v=E?function(e){return e&&C(e)}:function(e){return e&&function(){return _.apply(e,arguments)}},S=v,y=S({}.toString),R=S("".slice),T=function(e){return R(y(e),8,-1)},w=v,b=n,O=T,N=r.Object,D=w("".split),L=b((function(){return!N("z").propertyIsEnumerable(0)}))?function(e){return"String"==O(e)?D(e,""):N(e)}:N,k=r.TypeError,P=function(e){if(null==e)throw k("Can't call method on "+e);return e},B=L,M=P,U=function(e){return B(M(e))},Q=function(e){return"function"==typeof e},x=Q,F=function(e){return"object"==typeof e?null!==e:x(e)},V=r,j=Q,G=function(e){return j(e)?e:void 0},K=function(e,t){return arguments.length<2?G(V[e]):V[e]&&V[e][t]},H=v({}.isPrototypeOf),Y=K("navigator","userAgent")||"",W=r,J=Y,q=W.process,z=W.Deno,X=q&&q.versions||z&&z.version,Z=X&&X.v8;Z&&(g=(p=Z.split("."))[0]>0&&p[0]<4?1:+(p[0]+p[1])),!g&&J&&(!(p=J.match(/Edge\/(\d+)/))||p[1]>=74)&&(p=J.match(/Chrome\/(\d+)/))&&(g=+p[1]);var $=g,ee=$,te=n,re=!!Object.getOwnPropertySymbols&&!te((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&ee&&ee<41})),ie=re&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,ne=K,oe=Q,se=H,ae=ie,ce=r.Object,de=ae?function(e){return"symbol"==typeof e}:function(e){var t=ne("Symbol");return oe(t)&&se(t.prototype,ce(e))},ue=r.String,Ae=function(e){try{return ue(e)}catch(e){return"Object"}},he=Q,le=Ae,pe=r.TypeError,ge=function(e){if(he(e))return e;throw pe(le(e)+" is not a function")},fe=ge,Ee=function(e,t){var r=e[t];return null==r?void 0:fe(r)},Ie=d,me=Q,_e=F,Ce=r.TypeError,ve={exports:{}},Se=r,ye=Object.defineProperty,Re=function(e,t){try{ye(Se,e,{value:t,configurable:!0,writable:!0})}catch(r){Se[e]=t}return t},Te=Re,we="__core-js_shared__",be=r[we]||Te(we,{}),Oe=be;(ve.exports=function(e,t){return Oe[e]||(Oe[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.20.3",mode:"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.20.3/LICENSE",source:"https://github.com/zloirock/core-js"});var Ne=P,De=r.Object,Le=function(e){return De(Ne(e))},ke=Le,Pe=v({}.hasOwnProperty),Be=Object.hasOwn||function(e,t){return Pe(ke(e),t)},Me=v,Ue=0,Qe=Math.random(),xe=Me(1..toString),Fe=function(e){return"Symbol("+(void 0===e?"":e)+")_"+xe(++Ue+Qe,36)},Ve=r,je=ve.exports,Ge=Be,Ke=Fe,He=re,Ye=ie,We=je("wks"),Je=Ve.Symbol,qe=Je&&Je.for,ze=Ye?Je:Je&&Je.withoutSetter||Ke,Xe=function(e){if(!Ge(We,e)||!He&&"string"!=typeof We[e]){var t="Symbol."+e;He&&Ge(Je,e)?We[e]=Je[e]:We[e]=Ye&&qe?qe(t):ze(t)}return We[e]},Ze=d,$e=F,et=de,tt=Ee,rt=function(e,t){var r,i;if("string"===t&&me(r=e.toString)&&!_e(i=Ie(r,e)))return i;if(me(r=e.valueOf)&&!_e(i=Ie(r,e)))return i;if("string"!==t&&me(r=e.toString)&&!_e(i=Ie(r,e)))return i;throw Ce("Can't convert object to primitive value")},it=Xe,nt=r.TypeError,ot=it("toPrimitive"),st=function(e,t){if(!$e(e)||et(e))return e;var r,i=tt(e,ot);if(i){if(void 0===t&&(t="default"),r=Ze(i,e,t),!$e(r)||et(r))return r;throw nt("Can't convert object to primitive value")}return void 0===t&&(t="number"),rt(e,t)},at=de,ct=function(e){var t=st(e,"string");return at(t)?t:t+""},dt=F,ut=r.document,At=dt(ut)&&dt(ut.createElement),ht=function(e){return At?ut.createElement(e):{}},lt=ht,pt=!o&&!n((function(){return 7!=Object.defineProperty(lt("div"),"a",{get:function(){return 7}}).a})),gt=o,ft=d,Et=u,It=f,mt=U,_t=ct,Ct=Be,vt=pt,St=Object.getOwnPropertyDescriptor;i.f=gt?St:function(e,t){if(e=mt(e),t=_t(t),vt)try{return St(e,t)}catch(e){}if(Ct(e,t))return It(!ft(Et.f,e,t),e[t])};var yt={},Rt=o&&n((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),Tt=r,wt=F,bt=Tt.String,Ot=Tt.TypeError,Nt=function(e){if(wt(e))return e;throw Ot(bt(e)+" is not an object")},Dt=o,Lt=pt,kt=Rt,Pt=Nt,Bt=ct,Mt=r.TypeError,Ut=Object.defineProperty,Qt=Object.getOwnPropertyDescriptor,xt="enumerable",Ft="configurable",Vt="writable";yt.f=Dt?kt?function(e,t,r){if(Pt(e),t=Bt(t),Pt(r),"function"==typeof e&&"prototype"===t&&"value"in r&&Vt in r&&!r.writable){var i=Qt(e,t);i&&i.writable&&(e[t]=r.value,r={configurable:Ft in r?r.configurable:i.configurable,enumerable:xt in r?r.enumerable:i.enumerable,writable:!1})}return Ut(e,t,r)}:Ut:function(e,t,r){if(Pt(e),t=Bt(t),Pt(r),Lt)try{return Ut(e,t,r)}catch(e){}if("get"in r||"set"in r)throw Mt("Accessors not supported");return"value"in r&&(e[t]=r.value),e};var jt=yt,Gt=f,Kt=o?function(e,t,r){return jt.f(e,t,Gt(1,r))}:function(e,t,r){return e[t]=r,e},Ht={exports:{}},Yt=Q,Wt=be,Jt=v(Function.toString);Yt(Wt.inspectSource)||(Wt.inspectSource=function(e){return Jt(e)});var qt,zt,Xt,Zt=Wt.inspectSource,$t=Q,er=Zt,tr=r.WeakMap,rr=$t(tr)&&/native code/.test(er(tr)),ir=ve.exports,nr=Fe,or=ir("keys"),sr=function(e){return or[e]||(or[e]=nr(e))},ar={},cr=rr,dr=r,ur=v,Ar=F,hr=Kt,lr=Be,pr=be,gr=sr,fr=ar,Er="Object already initialized",Ir=dr.TypeError,mr=dr.WeakMap;if(cr||pr.state){var _r=pr.state||(pr.state=new mr),Cr=ur(_r.get),vr=ur(_r.has),Sr=ur(_r.set);qt=function(e,t){if(vr(_r,e))throw new Ir(Er);return t.facade=e,Sr(_r,e,t),t},zt=function(e){return Cr(_r,e)||{}},Xt=function(e){return vr(_r,e)}}else{var yr=gr("state");fr[yr]=!0,qt=function(e,t){if(lr(e,yr))throw new Ir(Er);return t.facade=e,hr(e,yr,t),t},zt=function(e){return lr(e,yr)?e[yr]:{}},Xt=function(e){return lr(e,yr)}}var Rr={set:qt,get:zt,has:Xt,enforce:function(e){return Xt(e)?zt(e):qt(e,{})},getterFor:function(e){return function(t){var r;if(!Ar(t)||(r=zt(t)).type!==e)throw Ir("Incompatible receiver, "+e+" required");return r}}},Tr=o,wr=Be,br=Function.prototype,Or=Tr&&Object.getOwnPropertyDescriptor,Nr=wr(br,"name"),Dr={EXISTS:Nr,PROPER:Nr&&"something"===function(){}.name,CONFIGURABLE:Nr&&(!Tr||Tr&&Or(br,"name").configurable)},Lr=r,kr=Q,Pr=Be,Br=Kt,Mr=Re,Ur=Zt,Qr=Dr.CONFIGURABLE,xr=Rr.get,Fr=Rr.enforce,Vr=String(String).split("String");(Ht.exports=function(e,t,r,i){var n,o=!!i&&!!i.unsafe,s=!!i&&!!i.enumerable,a=!!i&&!!i.noTargetGet,c=i&&void 0!==i.name?i.name:t;kr(r)&&("Symbol("===String(c).slice(0,7)&&(c="["+String(c).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!Pr(r,"name")||Qr&&r.name!==c)&&Br(r,"name",c),(n=Fr(r)).source||(n.source=Vr.join("string"==typeof c?c:""))),e!==Lr?(o?!a&&e[t]&&(s=!0):delete e[t],s?e[t]=r:Br(e,t,r)):s?e[t]=r:Mr(t,r)})(Function.prototype,"toString",(function(){return kr(this)&&xr(this).source||Ur(this)}));var jr={},Gr=Math.ceil,Kr=Math.floor,Hr=function(e){var t=+e;return t!=t||0===t?0:(t>0?Kr:Gr)(t)},Yr=Hr,Wr=Math.max,Jr=Math.min,qr=function(e,t){var r=Yr(e);return r<0?Wr(r+t,0):Jr(r,t)},zr=Hr,Xr=Math.min,Zr=function(e){return e>0?Xr(zr(e),9007199254740991):0},$r=Zr,ei=function(e){return $r(e.length)},ti=U,ri=qr,ii=ei,ni=function(e){return function(t,r,i){var n,o=ti(t),s=ii(o),a=ri(i,s);if(e&&r!=r){for(;s>a;)if((n=o[a++])!=n)return!0}else for(;s>a;a++)if((e||a in o)&&o[a]===r)return e||a||0;return!e&&-1}},oi={includes:ni(!0),indexOf:ni(!1)},si=Be,ai=U,ci=oi.indexOf,di=ar,ui=v([].push),Ai=function(e,t){var r,i=ai(e),n=0,o=[];for(r in i)!si(di,r)&&si(i,r)&&ui(o,r);for(;t.length>n;)si(i,r=t[n++])&&(~ci(o,r)||ui(o,r));return o},hi=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],li=Ai,pi=hi.concat("length","prototype");jr.f=Object.getOwnPropertyNames||function(e){return li(e,pi)};var gi={};gi.f=Object.getOwnPropertySymbols;var fi=K,Ei=jr,Ii=gi,mi=Nt,_i=v([].concat),Ci=fi("Reflect","ownKeys")||function(e){var t=Ei.f(mi(e)),r=Ii.f;return r?_i(t,r(e)):t},vi=Be,Si=Ci,yi=i,Ri=yt,Ti=function(e,t,r){for(var i=Si(t),n=Ri.f,o=yi.f,s=0;so;o++)if((a=f(e[o]))&&$n(oo,a))return a;return new no(!1)}i=eo(e,n)}for(c=i.next;!(d=Jn(c,i)).done;){try{a=f(d.value)}catch(e){ro(i,"throw",e)}if("object"==typeof a&&a&&$n(oo,a))return a}return new no(!1)},va=Ao,Sa=Uo,ya=Ts.set,Ra=Ks,Ta=Xs,wa=function(e,t){var r=Zs.console;r&&r.error&&(1==arguments.length?r.error(e):r.error(e,t))},ba=Hs,Oa=function(e){try{return{error:!1,value:e()}}catch(e){return{error:!0,value:e}}},Na=na,Da=Rr,La=Bi,ka=oa,Pa=Yo,Ba=$,Ma=Xe("species"),Ua="Promise",Qa=Da.getterFor(Ua),xa=Da.set,Fa=Da.getterFor(Ua),Va=ua&&ua.prototype,ja=ua,Ga=Va,Ka=aa.TypeError,Ha=aa.document,Ya=aa.process,Wa=ba.f,Ja=Wa,qa=!!(Ha&&Ha.createEvent&&aa.dispatchEvent),za=Ea(aa.PromiseRejectionEvent),Xa="unhandledrejection",Za=!1,$a=La(Ua,(function(){var e=_a(ja),t=e!==String(ja);if(!t&&66===Ba)return!0;if(Ba>=51&&/native code/.test(e))return!1;var r=new ja((function(e){e(1)})),i=function(e){e((function(){}),(function(){}))};return(r.constructor={})[Ma]=i,!(Za=r.then((function(){}))instanceof i)||!t&&ka&&!za})),ec=$a||!va((function(e){ja.all(e).catch((function(){}))})),tc=function(e){var t;return!(!Ia(e)||!Ea(t=e.then))&&t},rc=function(e,t){var r,i,n,o=t.value,s=1==t.state,a=s?e.ok:e.fail,c=e.resolve,d=e.reject,u=e.domain;try{a?(s||(2===t.rejection&&ac(t),t.rejection=1),!0===a?r=o:(u&&u.enter(),r=a(o),u&&(u.exit(),n=!0)),r===e.promise?d(Ka("Promise-chain cycle")):(i=tc(r))?da(i,r,c,d):c(r)):d(o)}catch(e){u&&!n&&u.exit(),d(e)}},ic=function(e,t){e.notified||(e.notified=!0,Ra((function(){for(var r,i=e.reactions;r=i.get();)rc(r,e);e.notified=!1,t&&!e.rejection&&oc(e)})))},nc=function(e,t,r){var i,n;qa?((i=Ha.createEvent("Event")).promise=t,i.reason=r,i.initEvent(e,!1,!0),aa.dispatchEvent(i)):i={promise:t,reason:r},!za&&(n=aa["on"+e])?n(i):e===Xa&&wa("Unhandled promise rejection",r)},oc=function(e){da(ya,aa,(function(){var t,r=e.facade,i=e.value;if(sc(e)&&(t=Oa((function(){Pa?Ya.emit("unhandledRejection",i,r):nc(Xa,r,i)})),e.rejection=Pa||sc(e)?2:1,t.error))throw t.value}))},sc=function(e){return 1!==e.rejection&&!e.parent},ac=function(e){da(ya,aa,(function(){var t=e.facade;Pa?Ya.emit("rejectionHandled",t):nc("rejectionhandled",t,e.value)}))},cc=function(e,t,r){return function(i){e(t,i,r)}},dc=function(e,t,r){e.done||(e.done=!0,r&&(e=r),e.value=t,e.state=2,ic(e,!0))},uc=function(e,t,r){if(!e.done){e.done=!0,r&&(e=r);try{if(e.facade===t)throw Ka("Promise can't be resolved itself");var i=tc(t);i?Ra((function(){var r={done:!1};try{da(i,t,cc(uc,r,e),cc(dc,r,e))}catch(t){dc(r,t,e)}})):(e.value=t,e.state=1,ic(e,!1))}catch(t){dc({done:!1},t,e)}}};if($a&&(Ga=(ja=function(e){ma(this,Ga),fa(e),da(ea,this);var t=Qa(this);try{e(cc(uc,t),cc(dc,t))}catch(e){dc(t,e)}}).prototype,(ea=function(e){xa(this,{type:Ua,done:!1,notified:!1,parent:!1,reactions:new Na,rejection:!1,state:0,value:void 0})}).prototype=ha(Ga,{then:function(e,t){var r=Fa(this),i=Wa(Sa(this,ja));return r.parent=!0,i.ok=!Ea(e)||e,i.fail=Ea(t)&&t,i.domain=Pa?Ya.domain:void 0,0==r.state?r.reactions.add(i):Ra((function(){rc(i,r)})),i.promise},catch:function(e){return this.then(void 0,e)}}),ta=function(){var e=new ea,t=Qa(e);this.promise=e,this.resolve=cc(uc,t),this.reject=cc(dc,t)},ba.f=Wa=function(e){return e===ja||e===ra?new ta(e):Ja(e)},Ea(ua)&&Va!==Object.prototype)){ia=Va.then,Za||(Aa(Va,"then",(function(e,t){var r=this;return new ja((function(e,t){da(ia,r,e,t)})).then(e,t)}),{unsafe:!0}),Aa(Va,"catch",Ga.catch,{unsafe:!0}));try{delete Va.constructor}catch(e){}la&&la(Va,Ga)}sa({global:!0,wrap:!0,forced:$a},{Promise:ja}),pa(ja,Ua,!1),ga(Ua),ra=ca(Ua),sa({target:Ua,stat:!0,forced:$a},{reject:function(e){var t=Wa(this);return da(t.reject,void 0,e),t.promise}}),sa({target:Ua,stat:!0,forced:$a},{resolve:function(e){return Ta(this,e)}}),sa({target:Ua,stat:!0,forced:ec},{all:function(e){var t=this,r=Wa(t),i=r.resolve,n=r.reject,o=Oa((function(){var r=fa(t.resolve),o=[],s=0,a=1;Ca(e,(function(e){var c=s++,d=!1;a++,da(r,t,e).then((function(e){d||(d=!0,o[c]=e,--a||i(o))}),n)})),--a||i(o)}));return o.error&&n(o.value),r.promise},race:function(e){var t=this,r=Wa(t),i=r.reject,n=Oa((function(){var n=fa(t.resolve);Ca(e,(function(e){da(n,t,e).then(r.resolve,i)}))}));return n.error&&i(n.value),r.promise}});var Ac=Gi,hc=K,lc=jo,pc=v,gc=n,fc=r.Array,Ec=hc("JSON","stringify"),Ic=pc(/./.exec),mc=pc("".charAt),_c=pc("".charCodeAt),Cc=pc("".replace),vc=pc(1..toString),Sc=/[\uD800-\uDFFF]/g,yc=/^[\uD800-\uDBFF]$/,Rc=/^[\uDC00-\uDFFF]$/,Tc=function(e,t,r){var i=mc(r,t-1),n=mc(r,t+1);return Ic(yc,e)&&!Ic(Rc,n)||Ic(Rc,e)&&!Ic(yc,i)?"\\u"+vc(_c(e,0),16):e},wc=gc((function(){return'"\\udf06\\ud834"'!==Ec("\udf06\ud834")||'"\\udead"'!==Ec("\udead")}));Ec&&Ac({target:"JSON",stat:!0,forced:wc},{stringify:function(e,t,r){for(var i=0,n=arguments.length,o=fc(n);i0&&ed[0]<4?1:+(ed[0]+ed[1])),!td&&bd&&(!(ed=bd.match(/Edge\/(\d+)/))||ed[1]>=74)&&(ed=bd.match(/Chrome\/(\d+)/))&&(td=+ed[1]);var kd=td,Pd=kd,Bd=bc,Md=!!Object.getOwnPropertySymbols&&!Bd((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&Pd&&Pd<41})),Ud=Md&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Qd=Rd,xd=Kc,Fd=Mc,Vd=Ud,jd=Qc.Object,Gd=Vd?function(e){return"symbol"==typeof e}:function(e){var t=Qd("Symbol");return xd(t)&&Fd(t.prototype,jd(e))},Kd=Qc.String,Hd=function(e){try{return Kd(e)}catch(e){return"Object"}},Yd=Kc,Wd=Hd,Jd=Qc.TypeError,qd=function(e){if(Yd(e))return e;throw Jd(Wd(e)+" is not a function")},zd=qd,Xd=function(e,t){var r=e[t];return null==r?void 0:zd(r)},Zd=qc,$d=Kc,eu=md,tu=Qc.TypeError,ru={exports:{}},iu=Qc,nu=Object.defineProperty,ou=function(e,t){try{nu(iu,e,{value:t,configurable:!0,writable:!0})}catch(r){iu[e]=t}return t},su="__core-js_shared__",au=Qc[su]||ou(su,{}),cu=au;(ru.exports=function(e,t){return cu[e]||(cu[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.20.3",mode:"pure",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.20.3/LICENSE",source:"https://github.com/zloirock/core-js"});var du=pd,uu=Qc.Object,Au=function(e){return uu(du(e))},hu=Au,lu=Bc({}.hasOwnProperty),pu=Object.hasOwn||function(e,t){return lu(hu(e),t)},gu=Bc,fu=0,Eu=Math.random(),Iu=gu(1..toString),mu=function(e){return"Symbol("+(void 0===e?"":e)+")_"+Iu(++fu+Eu,36)},_u=Qc,Cu=ru.exports,vu=pu,Su=mu,yu=Md,Ru=Ud,Tu=Cu("wks"),wu=_u.Symbol,bu=wu&&wu.for,Ou=Ru?wu:wu&&wu.withoutSetter||Su,Nu=function(e){if(!vu(Tu,e)||!yu&&"string"!=typeof Tu[e]){var t="Symbol."+e;yu&&vu(wu,e)?Tu[e]=wu[e]:Tu[e]=Ru&&bu?bu(t):Ou(t)}return Tu[e]},Du=qc,Lu=md,ku=Gd,Pu=Xd,Bu=function(e,t){var r,i;if("string"===t&&$d(r=e.toString)&&!eu(i=Zd(r,e)))return i;if($d(r=e.valueOf)&&!eu(i=Zd(r,e)))return i;if("string"!==t&&$d(r=e.toString)&&!eu(i=Zd(r,e)))return i;throw tu("Can't convert object to primitive value")},Mu=Nu,Uu=Qc.TypeError,Qu=Mu("toPrimitive"),xu=function(e,t){if(!Lu(e)||ku(e))return e;var r,i=Pu(e,Qu);if(i){if(void 0===t&&(t="default"),r=Du(i,e,t),!Lu(r)||ku(r))return r;throw Uu("Can't convert object to primitive value")}return void 0===t&&(t="number"),Bu(e,t)},Fu=Gd,Vu=function(e){var t=xu(e,"string");return Fu(t)?t:t+""},ju=md,Gu=Qc.document,Ku=ju(Gu)&&ju(Gu.createElement),Hu=function(e){return Ku?Gu.createElement(e):{}},Yu=Hu,Wu=!Yc&&!bc((function(){return 7!=Object.defineProperty(Yu("div"),"a",{get:function(){return 7}}).a})),Ju=Yc,qu=qc,zu=zc,Xu=rd,Zu=Ed,$u=Vu,eA=pu,tA=Wu,rA=Object.getOwnPropertyDescriptor;Hc.f=Ju?rA:function(e,t){if(e=Zu(e),t=$u(t),tA)try{return rA(e,t)}catch(e){}if(eA(e,t))return Xu(!qu(zu.f,e,t),e[t])};var iA=bc,nA=Kc,oA=/#|\.prototype\./,sA=function(e,t){var r=cA[aA(e)];return r==uA||r!=dA&&(nA(t)?iA(t):!!t)},aA=sA.normalize=function(e){return String(e).replace(oA,".").toLowerCase()},cA=sA.data={},dA=sA.NATIVE="N",uA=sA.POLYFILL="P",AA=sA,hA=qd,lA=Oc,pA=Bc(Bc.bind),gA=function(e,t){return hA(e),void 0===t?e:lA?pA(e,t):function(){return e.apply(t,arguments)}},fA={},EA=Yc&&bc((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),IA=Qc,mA=md,_A=IA.String,CA=IA.TypeError,vA=function(e){if(mA(e))return e;throw CA(_A(e)+" is not an object")},SA=Yc,yA=Wu,RA=EA,TA=vA,wA=Vu,bA=Qc.TypeError,OA=Object.defineProperty,NA=Object.getOwnPropertyDescriptor,DA="enumerable",LA="configurable",kA="writable";fA.f=SA?RA?function(e,t,r){if(TA(e),t=wA(t),TA(r),"function"==typeof e&&"prototype"===t&&"value"in r&&kA in r&&!r.writable){var i=NA(e,t);i&&i.writable&&(e[t]=r.value,r={configurable:LA in r?r.configurable:i.configurable,enumerable:DA in r?r.enumerable:i.enumerable,writable:!1})}return OA(e,t,r)}:OA:function(e,t,r){if(TA(e),t=wA(t),TA(r),yA)try{return OA(e,t,r)}catch(e){}if("get"in r||"set"in r)throw bA("Accessors not supported");return"value"in r&&(e[t]=r.value),e};var PA=fA,BA=rd,MA=Yc?function(e,t,r){return PA.f(e,t,BA(1,r))}:function(e,t,r){return e[t]=r,e},UA=Qc,QA=Gc,xA=Bc,FA=Kc,VA=Hc.f,jA=AA,GA=_d,KA=gA,HA=MA,YA=pu,WA=function(e){var t=function(r,i,n){if(this instanceof t){switch(arguments.length){case 0:return new e;case 1:return new e(r);case 2:return new e(r,i)}return new e(r,i,n)}return QA(e,this,arguments)};return t.prototype=e.prototype,t},JA=function(e,t){var r,i,n,o,s,a,c,d,u=e.target,A=e.global,h=e.stat,l=e.proto,p=A?UA:h?UA[u]:(UA[u]||{}).prototype,g=A?GA:GA[u]||HA(GA,u,{})[u],f=g.prototype;for(n in t)r=!jA(A?n:u+(h?".":"#")+n,e.forced)&&p&&YA(p,n),s=g[n],r&&(a=e.noTargetGet?(d=VA(p,n))&&d.value:p[n]),o=r&&a?a:t[n],r&&typeof s==typeof o||(c=e.bind&&r?KA(o,UA):e.wrap&&r?WA(o):l&&FA(o)?xA(o):o,(e.sham||o&&o.sham||s&&s.sham)&&HA(c,"sham",!0),HA(g,n,c),l&&(YA(GA,i=u+"Prototype")||HA(GA,i,{}),HA(GA[i],n,o),e.real&&f&&!f[n]&&HA(f,n,o)))},qA=Math.ceil,zA=Math.floor,XA=function(e){var t=+e;return t!=t||0===t?0:(t>0?zA:qA)(t)},ZA=XA,$A=Math.min,eh=function(e){return e>0?$A(ZA(e),9007199254740991):0},th=function(e){return eh(e.length)},rh=qd,ih=Au,nh=hd,oh=th,sh=Qc.TypeError,ah=function(e){return function(t,r,i,n){rh(r);var o=ih(t),s=nh(o),a=oh(o),c=e?a-1:0,d=e?-1:1;if(i<2)for(;;){if(c in s){n=s[c],c+=d;break}if(c+=d,e?c<0:a<=c)throw sh("Reduce of empty array with no initial value")}for(;e?c>=0:a>c;c+=d)c in s&&(n=r(n,s[c],c,o));return n}},ch={left:ah(!1),right:ah(!0)},dh=bc,uh=function(e,t){var r=[][e];return!!r&&dh((function(){r.call(null,t||function(){throw 1},1)}))},Ah="process"==sd(Qc.process),hh=ch.left,lh=kd,ph=Ah;JA({target:"Array",proto:!0,forced:!uh("reduce")||!ph&&lh>79&&lh<83},{reduce:function(e){var t=arguments.length;return hh(this,e,t,t>1?arguments[1]:void 0)}});var gh=_d,fh=function(e){return gh[e+"Prototype"]},Eh=fh("Array").reduce,Ih=Mc,mh=Eh,_h=Array.prototype,Ch=function(e){var t=e.reduce;return e===_h||Ih(_h,e)&&t===_h.reduce?mh:t},vh=Ch,Sh=Dn,yh=r.String,Rh=function(e){if("Symbol"===Sh(e))throw TypeError("Cannot convert a Symbol value to a string");return yh(e)},Th=Nt,wh=function(){var e=Th(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t},bh=n,Oh=r.RegExp,Nh=bh((function(){var e=Oh("a","y");return e.lastIndex=2,null!=e.exec("abcd")})),Dh=Nh||bh((function(){return!Oh("a","y").sticky})),Lh={BROKEN_CARET:Nh||bh((function(){var e=Oh("^r","gy");return e.lastIndex=2,null!=e.exec("str")})),MISSED_STICKY:Dh,UNSUPPORTED_Y:Nh},kh={},Ph=Ai,Bh=hi,Mh=Object.keys||function(e){return Ph(e,Bh)},Uh=o,Qh=Rt,xh=yt,Fh=Nt,Vh=U,jh=Mh;kh.f=Uh&&!Qh?Object.defineProperties:function(e,t){Fh(e);for(var r,i=Vh(t),n=jh(t),o=n.length,s=0;o>s;)xh.f(e,r=n[s++],i[r]);return e};var Gh,Kh=Nt,Hh=kh,Yh=hi,Wh=ar,Jh=Go,qh=ht,zh=sr("IE_PROTO"),Xh=function(){},Zh=function(e){return" + + + + + + + +
+
+
+
+ + +
+ +
+ + + + + + diff --git a/public/rtc/fix-webm-duration.js b/public/rtc/fix-webm-duration.js new file mode 100644 index 00000000..f82931eb --- /dev/null +++ b/public/rtc/fix-webm-duration.js @@ -0,0 +1,487 @@ +(function (name, definition) { + if (typeof define === 'function' && define.amd) { // RequireJS / AMD + define(definition); + } else if (typeof module !== 'undefined' && module.exports) { // CommonJS / Node.js + module.exports = definition(); + } else { // Direct include + window.ysFixWebmDuration = definition(); + } +})('fix-webm-duration', function () { + /* + * This is the list of possible WEBM file sections by their IDs. + * Possible types: Container, Binary, Uint, Int, String, Float, Date + */ + var sections = { + 0xa45dfa3: { name: 'EBML', type: 'Container' }, + 0x286: { name: 'EBMLVersion', type: 'Uint' }, + 0x2f7: { name: 'EBMLReadVersion', type: 'Uint' }, + 0x2f2: { name: 'EBMLMaxIDLength', type: 'Uint' }, + 0x2f3: { name: 'EBMLMaxSizeLength', type: 'Uint' }, + 0x282: { name: 'DocType', type: 'String' }, + 0x287: { name: 'DocTypeVersion', type: 'Uint' }, + 0x285: { name: 'DocTypeReadVersion', type: 'Uint' }, + 0x6c: { name: 'Void', type: 'Binary' }, + 0x3f: { name: 'CRC-32', type: 'Binary' }, + 0xb538667: { name: 'SignatureSlot', type: 'Container' }, + 0x3e8a: { name: 'SignatureAlgo', type: 'Uint' }, + 0x3e9a: { name: 'SignatureHash', type: 'Uint' }, + 0x3ea5: { name: 'SignaturePublicKey', type: 'Binary' }, + 0x3eb5: { name: 'Signature', type: 'Binary' }, + 0x3e5b: { name: 'SignatureElements', type: 'Container' }, + 0x3e7b: { name: 'SignatureElementList', type: 'Container' }, + 0x2532: { name: 'SignedElement', type: 'Binary' }, + 0x8538067: { name: 'Segment', type: 'Container' }, + 0x14d9b74: { name: 'SeekHead', type: 'Container' }, + 0xdbb: { name: 'Seek', type: 'Container' }, + 0x13ab: { name: 'SeekID', type: 'Binary' }, + 0x13ac: { name: 'SeekPosition', type: 'Uint' }, + 0x549a966: { name: 'Info', type: 'Container' }, + 0x33a4: { name: 'SegmentUID', type: 'Binary' }, + 0x3384: { name: 'SegmentFilename', type: 'String' }, + 0x1cb923: { name: 'PrevUID', type: 'Binary' }, + 0x1c83ab: { name: 'PrevFilename', type: 'String' }, + 0x1eb923: { name: 'NextUID', type: 'Binary' }, + 0x1e83bb: { name: 'NextFilename', type: 'String' }, + 0x444: { name: 'SegmentFamily', type: 'Binary' }, + 0x2924: { name: 'ChapterTranslate', type: 'Container' }, + 0x29fc: { name: 'ChapterTranslateEditionUID', type: 'Uint' }, + 0x29bf: { name: 'ChapterTranslateCodec', type: 'Uint' }, + 0x29a5: { name: 'ChapterTranslateID', type: 'Binary' }, + 0xad7b1: { name: 'TimecodeScale', type: 'Uint' }, + 0x489: { name: 'Duration', type: 'Float' }, + 0x461: { name: 'DateUTC', type: 'Date' }, + 0x3ba9: { name: 'Title', type: 'String' }, + 0xd80: { name: 'MuxingApp', type: 'String' }, + 0x1741: { name: 'WritingApp', type: 'String' }, + // 0xf43b675: { name: 'Cluster', type: 'Container' }, + 0x67: { name: 'Timecode', type: 'Uint' }, + 0x1854: { name: 'SilentTracks', type: 'Container' }, + 0x18d7: { name: 'SilentTrackNumber', type: 'Uint' }, + 0x27: { name: 'Position', type: 'Uint' }, + 0x2b: { name: 'PrevSize', type: 'Uint' }, + 0x23: { name: 'SimpleBlock', type: 'Binary' }, + 0x20: { name: 'BlockGroup', type: 'Container' }, + 0x21: { name: 'Block', type: 'Binary' }, + 0x22: { name: 'BlockVirtual', type: 'Binary' }, + 0x35a1: { name: 'BlockAdditions', type: 'Container' }, + 0x26: { name: 'BlockMore', type: 'Container' }, + 0x6e: { name: 'BlockAddID', type: 'Uint' }, + 0x25: { name: 'BlockAdditional', type: 'Binary' }, + 0x1b: { name: 'BlockDuration', type: 'Uint' }, + 0x7a: { name: 'ReferencePriority', type: 'Uint' }, + 0x7b: { name: 'ReferenceBlock', type: 'Int' }, + 0x7d: { name: 'ReferenceVirtual', type: 'Int' }, + 0x24: { name: 'CodecState', type: 'Binary' }, + 0x35a2: { name: 'DiscardPadding', type: 'Int' }, + 0xe: { name: 'Slices', type: 'Container' }, + 0x68: { name: 'TimeSlice', type: 'Container' }, + 0x4c: { name: 'LaceNumber', type: 'Uint' }, + 0x4d: { name: 'FrameNumber', type: 'Uint' }, + 0x4b: { name: 'BlockAdditionID', type: 'Uint' }, + 0x4e: { name: 'Delay', type: 'Uint' }, + 0x4f: { name: 'SliceDuration', type: 'Uint' }, + 0x48: { name: 'ReferenceFrame', type: 'Container' }, + 0x49: { name: 'ReferenceOffset', type: 'Uint' }, + 0x4a: { name: 'ReferenceTimeCode', type: 'Uint' }, + 0x2f: { name: 'EncryptedBlock', type: 'Binary' }, + 0x654ae6b: { name: 'Tracks', type: 'Container' }, + 0x2e: { name: 'TrackEntry', type: 'Container' }, + 0x57: { name: 'TrackNumber', type: 'Uint' }, + 0x33c5: { name: 'TrackUID', type: 'Uint' }, + 0x3: { name: 'TrackType', type: 'Uint' }, + 0x39: { name: 'FlagEnabled', type: 'Uint' }, + 0x8: { name: 'FlagDefault', type: 'Uint' }, + 0x15aa: { name: 'FlagForced', type: 'Uint' }, + 0x1c: { name: 'FlagLacing', type: 'Uint' }, + 0x2de7: { name: 'MinCache', type: 'Uint' }, + 0x2df8: { name: 'MaxCache', type: 'Uint' }, + 0x3e383: { name: 'DefaultDuration', type: 'Uint' }, + 0x34e7a: { name: 'DefaultDecodedFieldDuration', type: 'Uint' }, + 0x3314f: { name: 'TrackTimecodeScale', type: 'Float' }, + 0x137f: { name: 'TrackOffset', type: 'Int' }, + 0x15ee: { name: 'MaxBlockAdditionID', type: 'Uint' }, + 0x136e: { name: 'Name', type: 'String' }, + 0x2b59c: { name: 'Language', type: 'String' }, + 0x6: { name: 'CodecID', type: 'String' }, + 0x23a2: { name: 'CodecPrivate', type: 'Binary' }, + 0x58688: { name: 'CodecName', type: 'String' }, + 0x3446: { name: 'AttachmentLink', type: 'Uint' }, + 0x1a9697: { name: 'CodecSettings', type: 'String' }, + 0x1b4040: { name: 'CodecInfoURL', type: 'String' }, + 0x6b240: { name: 'CodecDownloadURL', type: 'String' }, + 0x2a: { name: 'CodecDecodeAll', type: 'Uint' }, + 0x2fab: { name: 'TrackOverlay', type: 'Uint' }, + 0x16aa: { name: 'CodecDelay', type: 'Uint' }, + 0x16bb: { name: 'SeekPreRoll', type: 'Uint' }, + 0x2624: { name: 'TrackTranslate', type: 'Container' }, + 0x26fc: { name: 'TrackTranslateEditionUID', type: 'Uint' }, + 0x26bf: { name: 'TrackTranslateCodec', type: 'Uint' }, + 0x26a5: { name: 'TrackTranslateTrackID', type: 'Binary' }, + 0x60: { name: 'Video', type: 'Container' }, + 0x1a: { name: 'FlagInterlaced', type: 'Uint' }, + 0x13b8: { name: 'StereoMode', type: 'Uint' }, + 0x13c0: { name: 'AlphaMode', type: 'Uint' }, + 0x13b9: { name: 'OldStereoMode', type: 'Uint' }, + 0x30: { name: 'PixelWidth', type: 'Uint' }, + 0x3a: { name: 'PixelHeight', type: 'Uint' }, + 0x14aa: { name: 'PixelCropBottom', type: 'Uint' }, + 0x14bb: { name: 'PixelCropTop', type: 'Uint' }, + 0x14cc: { name: 'PixelCropLeft', type: 'Uint' }, + 0x14dd: { name: 'PixelCropRight', type: 'Uint' }, + 0x14b0: { name: 'DisplayWidth', type: 'Uint' }, + 0x14ba: { name: 'DisplayHeight', type: 'Uint' }, + 0x14b2: { name: 'DisplayUnit', type: 'Uint' }, + 0x14b3: { name: 'AspectRatioType', type: 'Uint' }, + 0xeb524: { name: 'ColourSpace', type: 'Binary' }, + 0xfb523: { name: 'GammaValue', type: 'Float' }, + 0x383e3: { name: 'FrameRate', type: 'Float' }, + 0x61: { name: 'Audio', type: 'Container' }, + 0x35: { name: 'SamplingFrequency', type: 'Float' }, + 0x38b5: { name: 'OutputSamplingFrequency', type: 'Float' }, + 0x1f: { name: 'Channels', type: 'Uint' }, + 0x3d7b: { name: 'ChannelPositions', type: 'Binary' }, + 0x2264: { name: 'BitDepth', type: 'Uint' }, + 0x62: { name: 'TrackOperation', type: 'Container' }, + 0x63: { name: 'TrackCombinePlanes', type: 'Container' }, + 0x64: { name: 'TrackPlane', type: 'Container' }, + 0x65: { name: 'TrackPlaneUID', type: 'Uint' }, + 0x66: { name: 'TrackPlaneType', type: 'Uint' }, + 0x69: { name: 'TrackJoinBlocks', type: 'Container' }, + 0x6d: { name: 'TrackJoinUID', type: 'Uint' }, + 0x40: { name: 'TrickTrackUID', type: 'Uint' }, + 0x41: { name: 'TrickTrackSegmentUID', type: 'Binary' }, + 0x46: { name: 'TrickTrackFlag', type: 'Uint' }, + 0x47: { name: 'TrickMasterTrackUID', type: 'Uint' }, + 0x44: { name: 'TrickMasterTrackSegmentUID', type: 'Binary' }, + 0x2d80: { name: 'ContentEncodings', type: 'Container' }, + 0x2240: { name: 'ContentEncoding', type: 'Container' }, + 0x1031: { name: 'ContentEncodingOrder', type: 'Uint' }, + 0x1032: { name: 'ContentEncodingScope', type: 'Uint' }, + 0x1033: { name: 'ContentEncodingType', type: 'Uint' }, + 0x1034: { name: 'ContentCompression', type: 'Container' }, + 0x254: { name: 'ContentCompAlgo', type: 'Uint' }, + 0x255: { name: 'ContentCompSettings', type: 'Binary' }, + 0x1035: { name: 'ContentEncryption', type: 'Container' }, + 0x7e1: { name: 'ContentEncAlgo', type: 'Uint' }, + 0x7e2: { name: 'ContentEncKeyID', type: 'Binary' }, + 0x7e3: { name: 'ContentSignature', type: 'Binary' }, + 0x7e4: { name: 'ContentSigKeyID', type: 'Binary' }, + 0x7e5: { name: 'ContentSigAlgo', type: 'Uint' }, + 0x7e6: { name: 'ContentSigHashAlgo', type: 'Uint' }, + 0xc53bb6b: { name: 'Cues', type: 'Container' }, + 0x3b: { name: 'CuePoint', type: 'Container' }, + 0x33: { name: 'CueTime', type: 'Uint' }, + 0x37: { name: 'CueTrackPositions', type: 'Container' }, + 0x77: { name: 'CueTrack', type: 'Uint' }, + 0x71: { name: 'CueClusterPosition', type: 'Uint' }, + 0x70: { name: 'CueRelativePosition', type: 'Uint' }, + 0x32: { name: 'CueDuration', type: 'Uint' }, + 0x1378: { name: 'CueBlockNumber', type: 'Uint' }, + 0x6a: { name: 'CueCodecState', type: 'Uint' }, + 0x5b: { name: 'CueReference', type: 'Container' }, + 0x16: { name: 'CueRefTime', type: 'Uint' }, + 0x17: { name: 'CueRefCluster', type: 'Uint' }, + 0x135f: { name: 'CueRefNumber', type: 'Uint' }, + 0x6b: { name: 'CueRefCodecState', type: 'Uint' }, + 0x941a469: { name: 'Attachments', type: 'Container' }, + 0x21a7: { name: 'AttachedFile', type: 'Container' }, + 0x67e: { name: 'FileDescription', type: 'String' }, + 0x66e: { name: 'FileName', type: 'String' }, + 0x660: { name: 'FileMimeType', type: 'String' }, + 0x65c: { name: 'FileData', type: 'Binary' }, + 0x6ae: { name: 'FileUID', type: 'Uint' }, + 0x675: { name: 'FileReferral', type: 'Binary' }, + 0x661: { name: 'FileUsedStartTime', type: 'Uint' }, + 0x662: { name: 'FileUsedEndTime', type: 'Uint' }, + 0x43a770: { name: 'Chapters', type: 'Container' }, + 0x5b9: { name: 'EditionEntry', type: 'Container' }, + 0x5bc: { name: 'EditionUID', type: 'Uint' }, + 0x5bd: { name: 'EditionFlagHidden', type: 'Uint' }, + 0x5db: { name: 'EditionFlagDefault', type: 'Uint' }, + 0x5dd: { name: 'EditionFlagOrdered', type: 'Uint' }, + 0x36: { name: 'ChapterAtom', type: 'Container' }, + 0x33c4: { name: 'ChapterUID', type: 'Uint' }, + 0x1654: { name: 'ChapterStringUID', type: 'String' }, + 0x11: { name: 'ChapterTimeStart', type: 'Uint' }, + 0x12: { name: 'ChapterTimeEnd', type: 'Uint' }, + 0x18: { name: 'ChapterFlagHidden', type: 'Uint' }, + 0x598: { name: 'ChapterFlagEnabled', type: 'Uint' }, + 0x2e67: { name: 'ChapterSegmentUID', type: 'Binary' }, + 0x2ebc: { name: 'ChapterSegmentEditionUID', type: 'Uint' }, + 0x23c3: { name: 'ChapterPhysicalEquiv', type: 'Uint' }, + 0xf: { name: 'ChapterTrack', type: 'Container' }, + 0x9: { name: 'ChapterTrackNumber', type: 'Uint' }, + 0x0: { name: 'ChapterDisplay', type: 'Container' }, + 0x5: { name: 'ChapString', type: 'String' }, + 0x37c: { name: 'ChapLanguage', type: 'String' }, + 0x37e: { name: 'ChapCountry', type: 'String' }, + 0x2944: { name: 'ChapProcess', type: 'Container' }, + 0x2955: { name: 'ChapProcessCodecID', type: 'Uint' }, + 0x50d: { name: 'ChapProcessPrivate', type: 'Binary' }, + 0x2911: { name: 'ChapProcessCommand', type: 'Container' }, + 0x2922: { name: 'ChapProcessTime', type: 'Uint' }, + 0x2933: { name: 'ChapProcessData', type: 'Binary' }, + 0x254c367: { name: 'Tags', type: 'Container' }, + 0x3373: { name: 'Tag', type: 'Container' }, + 0x23c0: { name: 'Targets', type: 'Container' }, + 0x28ca: { name: 'TargetTypeValue', type: 'Uint' }, + 0x23ca: { name: 'TargetType', type: 'String' }, + 0x23c5: { name: 'TagTrackUID', type: 'Uint' }, + 0x23c9: { name: 'TagEditionUID', type: 'Uint' }, + 0x23c4: { name: 'TagChapterUID', type: 'Uint' }, + 0x23c6: { name: 'TagAttachmentUID', type: 'Uint' }, + 0x27c8: { name: 'SimpleTag', type: 'Container' }, + 0x5a3: { name: 'TagName', type: 'String' }, + 0x47a: { name: 'TagLanguage', type: 'String' }, + 0x484: { name: 'TagDefault', type: 'Uint' }, + 0x487: { name: 'TagString', type: 'String' }, + 0x485: { name: 'TagBinary', type: 'Binary' } + }; + + function doInherit(newClass, baseClass) { + newClass.prototype = Object.create(baseClass.prototype); + newClass.prototype.constructor = newClass; + } + + function WebmBase(name, type) { + this.name = name || 'Unknown'; + this.type = type || 'Unknown'; + } + WebmBase.prototype.updateBySource = function() { }; + WebmBase.prototype.setSource = function(source) { + this.source = source; + this.updateBySource(); + }; + WebmBase.prototype.updateByData = function() { }; + WebmBase.prototype.setData = function(data) { + this.data = data; + this.updateByData(); + }; + + function WebmUint(name, type) { + WebmBase.call(this, name, type || 'Uint'); + } + doInherit(WebmUint, WebmBase); + function padHex(hex) { + return hex.length % 2 === 1 ? '0' + hex : hex; + } + WebmUint.prototype.updateBySource = function() { + // use hex representation of a number instead of number value + this.data = ''; + for (var i = 0; i < this.source.length; i++) { + var hex = this.source[i].toString(16); + this.data += padHex(hex); + } + }; + WebmUint.prototype.updateByData = function() { + var length = this.data.length / 2; + this.source = new Uint8Array(length); + for (var i = 0; i < length; i++) { + var hex = this.data.substr(i * 2, 2); + this.source[i] = parseInt(hex, 16); + } + }; + WebmUint.prototype.getValue = function() { + return parseInt(this.data, 16); + }; + WebmUint.prototype.setValue = function(value) { + this.setData(padHex(value.toString(16))); + }; + + function WebmFloat(name, type) { + WebmBase.call(this, name, type || 'Float'); + } + doInherit(WebmFloat, WebmBase); + WebmFloat.prototype.getFloatArrayType = function() { + return this.source && this.source.length === 4 ? Float32Array : Float64Array; + }; + WebmFloat.prototype.updateBySource = function() { + var byteArray = this.source.reverse(); + var floatArrayType = this.getFloatArrayType(); + var floatArray = new floatArrayType(byteArray.buffer); + this.data = floatArray[0]; + }; + WebmFloat.prototype.updateByData = function() { + var floatArrayType = this.getFloatArrayType(); + var floatArray = new floatArrayType([ this.data ]); + var byteArray = new Uint8Array(floatArray.buffer); + this.source = byteArray.reverse(); + }; + WebmFloat.prototype.getValue = function() { + return this.data; + }; + WebmFloat.prototype.setValue = function(value) { + this.setData(value); + }; + + function WebmContainer(name, type) { + WebmBase.call(this, name, type || 'Container'); + } + doInherit(WebmContainer, WebmBase); + WebmContainer.prototype.readByte = function() { + return this.source[this.offset++]; + }; + WebmContainer.prototype.readUint = function() { + var firstByte = this.readByte(); + var bytes = 8 - firstByte.toString(2).length; + var value = firstByte - (1 << (7 - bytes)); + for (var i = 0; i < bytes; i++) { + // don't use bit operators to support x86 + value *= 256; + value += this.readByte(); + } + return value; + }; + WebmContainer.prototype.updateBySource = function() { + this.data = []; + for (this.offset = 0; this.offset < this.source.length; this.offset = end) { + var id = this.readUint(); + var len = this.readUint(); + var end = Math.min(this.offset + len, this.source.length); + var data = this.source.slice(this.offset, end); + + var info = sections[id] || { name: 'Unknown', type: 'Unknown' }; + var ctr = WebmBase; + switch (info.type) { + case 'Container': + ctr = WebmContainer; + break; + case 'Uint': + ctr = WebmUint; + break; + case 'Float': + ctr = WebmFloat; + break; + } + var section = new ctr(info.name, info.type); + section.setSource(data); + this.data.push({ + id: id, + idHex: id.toString(16), + data: section + }); + } + }; + WebmContainer.prototype.writeUint = function(x, draft) { + for (var bytes = 1, flag = 0x80; x >= flag && bytes < 8; bytes++, flag *= 0x80) { } + + if (!draft) { + var value = flag + x; + for (var i = bytes - 1; i >= 0; i--) { + // don't use bit operators to support x86 + var c = value % 256; + this.source[this.offset + i] = c; + value = (value - c) / 256; + } + } + + this.offset += bytes; + }; + WebmContainer.prototype.writeSections = function(draft) { + this.offset = 0; + for (var i = 0; i < this.data.length; i++) { + var section = this.data[i], + content = section.data.source, + contentLength = content.length; + this.writeUint(section.id, draft); + this.writeUint(contentLength, draft); + if (!draft) { + this.source.set(content, this.offset); + } + this.offset += contentLength; + } + return this.offset; + }; + WebmContainer.prototype.updateByData = function() { + // run without accessing this.source to determine total length - need to know it to create Uint8Array + var length = this.writeSections('draft'); + this.source = new Uint8Array(length); + // now really write data + this.writeSections(); + }; + WebmContainer.prototype.getSectionById = function(id) { + for (var i = 0; i < this.data.length; i++) { + var section = this.data[i]; + if (section.id === id) { + return section.data; + } + } + return null; + }; + + function WebmFile(source) { + WebmContainer.call(this, 'File', 'File'); + this.setSource(source); + } + doInherit(WebmFile, WebmContainer); + WebmFile.prototype.fixDuration = function(duration) { + var segmentSection = this.getSectionById(0x8538067); + if (!segmentSection) { + console.log('[fix-webm-duration] Segment section is missing'); + return false; + } + + var infoSection = segmentSection.getSectionById(0x549a966); + if (!infoSection) { + console.log('[fix-webm-duration] Info section is missing'); + return false; + } + + var timeScaleSection = infoSection.getSectionById(0xad7b1); + if (!timeScaleSection) { + console.log('[fix-webm-duration] TimecodeScale section is missing'); + return false; + } + + var durationSection = infoSection.getSectionById(0x489); + if (durationSection) { + if (durationSection.getValue() <= 0) { + console.log('[fix-webm-duration] Duration section is present, but the value is empty'); + durationSection.setValue(duration); + } else { + console.log('[fix-webm-duration] Duration section is present'); + return false; + } + } else { + console.log('[fix-webm-duration] Duration section is missing'); + // append Duration section + durationSection = new WebmFloat('Duration', 'Float'); + durationSection.setValue(duration); + infoSection.data.push({ + id: 0x489, + data: durationSection + }); + } + + // set default time scale to 1 millisecond (1000000 nanoseconds) + timeScaleSection.setValue(1000000); + infoSection.updateByData(); + segmentSection.updateByData(); + this.updateByData(); + + return true; + }; + WebmFile.prototype.toBlob = function() { + return new Blob([this.source.buffer], { type: 'video/webm;codecs=vp8,opus' }); + }; + + return function(blob, duration, callback) { + try { + var reader = new FileReader(); + reader.onloadend = function() { + try { + var file = new WebmFile(new Uint8Array(reader.result)); + if (file.fixDuration(duration)) { + blob = file.toBlob(); + } + } catch (ex) { + // ignore + } + callback(blob); + }; + reader.readAsArrayBuffer(blob); + } catch (ex) { + callback(blob); + } + }; +}); diff --git a/public/rtc/fullScreenVideo.html b/public/rtc/fullScreenVideo.html new file mode 100644 index 00000000..85531076 --- /dev/null +++ b/public/rtc/fullScreenVideo.html @@ -0,0 +1,48 @@ + + + + 视频查看 + + + + + + + + + + + + + + +
+
+
+ + + + + diff --git a/public/rtc/images/adjustVoice.png b/public/rtc/images/adjustVoice.png new file mode 100644 index 0000000000000000000000000000000000000000..80a036cae7793fcd55549a057a62ef5eb54a16dc GIT binary patch literal 21658 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 literal 0 HcmV?d00001 diff --git a/public/rtc/images/closeAudio.png b/public/rtc/images/closeAudio.png new file mode 100644 index 0000000000000000000000000000000000000000..d801b55affe8972c5eebe1e8a71aed4450ab29e7 GIT binary patch literal 2156 zcmaJ?c|4Ts9v@rBzDp%zX51{vtPIAMF@uSbgOCbi=EY!^W?nNx5g{aNsAM_Ga+7pZ zm(Eei5lM+SS}5A2i%aB0Zt1+!N$37?-S_jp@AG?}&-eTNt?%c}^6_?8Q{JQugTd5j z9u!|_#Y-Q>b5hP!V z+c#g(&Jh&_f_xGNBNmI%Vgi~ch{WLR?Chi(c)TTquoT8~L59SVD>PnJpa4RqfXxTl zJT5}2$Oz}ffsQCB(mzw+@W0D)h2P2q6$~R`@G&?vR+`c(kWT;qP!8uiS_t|Af5rPh zg@yj{d;sGM2zhY=Ce*kHW2q}X$yER_K%T&#$BSL9qE8eL2=1ZWgT6r_M=vsol61y8Ya#p8)oG8u=Xy4q6lt}awJg0&sRhC-y^ zR=E@&GmZmr!BsBnFD_wCu5=VQe8@8e5U@o6%T2)JAikzdVy_(wc1^u+T-MsL;MU|~ zpkOf4#{O5MSC63Sk(%Gf7TSCte1Hp0y8s&NJxYOLFqr&v8pXw5GW=WczF2>%ZpEqA z11)nZDYsFRsWwnzp{ zIJ?5M_$GYX(=UcM`;vQadU_i&)GN>DAF)s21#1>415J7APa>)4w5MvZvK2CDPbQ-9 zW0Tj1XMf`WRK-nprmk6q(n^1AD+kktd#Cgw z$hER#rXTa34LqtQ6DMptYmb-OnCkc{HEfx2;Y7_D7iXo#cF!Lz&ruHRh(a#PoX}om zm|rXY*Bm(jxC*w#X7F)cMu=5HFl;8u0Cco1Ix` zyi+7ETV$pj3#O7)KYK2vtCTH*Di4Ge?{8$ITx<0cUc*Q14k}Pih4wn^9Fi3E>~J&l zECw?17ncL%_K!DZHp6jMW98UeL(T(QyHd{lUUODifAa^2x$2jRNf$D_ON&Iqxy^9m z!skj#=RePT%O|FilhTa{(+)NF5;M=K<%E!auNYBC>qrZoe0A-z>$^tvT<@%Q7Z+7I zk&f6W*q`#a0pHb=+&Sn@#=yy%pF13X{JdTGTWx-b?!4)ztAmp|qxzxql0YZNHw#qx z43DLsf63hNwuM-AOl$0+VZE<4&uiQK3>qHKypCS}(zGmUB-}-X{kklg_SMPSaHLV? zF6zkjampv5G2=i0K3i{QWR`i^qM?x^6Qic0LUS2(cN%ZsS`wX>RX=<>BHzq+_~~`` zoSo_s7O#HVefDs<(ch<6Hl8!Jio=eb`Z;ey()tAD@SSqCA0kRl23M~rH5dErW#Ur} z-iBS=eZG5nU9Z*a{f7NuPj@1kOSKY7UNkDM5Qsav9!sWxsHwS_;EmO zu+A{7bZB&>G26#%e_P#+iQ$r#3&*@|l_f$@4CwG{mpA-H0e8~8N+q&AyN4vXPz|j?zKA$q3v1akE z0H@RKe2yov7_X)C-i>+o@X0Z5P`Y8ozjSyGRV2O|=h8)FgunDDI9>8Xoy5d1^0$ zRlZ<-PE$TfWT9wLlBab|t%8~@W?Nwq3V=Ct>v zI=#<33A*X}ef8bl9k^KSwG literal 0 HcmV?d00001 diff --git a/public/rtc/images/closeMute.png b/public/rtc/images/closeMute.png new file mode 100644 index 0000000000000000000000000000000000000000..d704274571794a00bbc807e9fe5ee12d5aca6798 GIT binary patch literal 17391 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 literal 0 HcmV?d00001 diff --git a/public/rtc/images/endRecording.png b/public/rtc/images/endRecording.png new file mode 100644 index 0000000000000000000000000000000000000000..f7918a9a50b3c104b209a61ea13d31bdd01a0337 GIT binary patch literal 30844 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 F{vQ!lR#N}~ literal 0 HcmV?d00001 diff --git a/public/rtc/images/hornClose.png b/public/rtc/images/hornClose.png new file mode 100644 index 0000000000000000000000000000000000000000..487721a64e5ff61139dd45795325e844d12eac01 GIT binary patch literal 2017 zcmaJ?c~leE9!{0g5Qt@qElBM!$fl5uB)~}E5fUT<0Re#`Ad}1h5t12`0AZ<8hyn^0 z;T6H^@!yEUxESc@r!4{qcBnX6D}eJKy*H)^lz} zv}7HX;z%KpNK|o{Fosy!rjKk+{8t8*w-JkjMwFI1rZyv3-Hp4@h`Z zA?Z+zF!Z%A;=~6tH5wdZF!J*9=y^VLOqIc4`TP5uG}vr!0^zOBS88Cbw^Hr0pddum zGL;gj)o5sk^Y&20)Hc`RKG40Q80!U#u+R+)0ENzFf#K0LlufQXtgE= z{VU%8DXfmm$5BQMs>X6uGNN(mE+$tv6rw_54W^32uRE9o$i#sq@yw)HzvNcazl*t&I*D z?yz@w>mNY7%beKGxXN*_ALp|w8idW{kuK;Z9h_+MOeQvjnbO_XT~{OkVYxJRXQmD zd*x3b92l5}6a_hxCOyuX?~=9b%;Fj0Z5 z;fRXdRy)IvteXm*Lgz!N?VF!pIlj)WNVR3|ZgW&)iF&BakX-SE`sD@ni#$$PZhUE5 z>KH$v<2w0!U@r0aXcp!3mI0k^#K;FDY@YzrQ!Qq2yZBklhj)#koUMD-##6&xWGkfE zFU!d1OIZhQWEAbg|JFBUmwFY|hwmt_9WlDb7hqOHDL*!ij$2vmU%xACr`|c(YwV9) zU%}DgiNehhrzgy|9SI9PooVqy{8y)-$GkGy&60rk6hqd^Hm{WMe=Hw8@#rl<^KJ0b z4+FoZ zaMgGSgXP*-oUiKq6s+4l*i^Qup)|LPS~zC^B;uXG>%o@aRy!d{#SVu6%hj$KdHv&O zR{GseQ>R~^ax;@zw$q}_-SMdt$Ojg?sx}%LAK}vEpu61c`>wy#7`|IRotRS6I=W=8 zbbO@zSBEHfJyurLow(MmvEDJTMBjT6WJc{Nso)_9hTNSoJACvb5 zUwFJs=P)C_=DDX=YdChtPcS&cZeT(|YtB)@shTnKOGEHCC#!c%Uz=>IvWbxV_*=2$ z(0R$k$CDgNuIzDwMW+#&G8ZFqLjmpbH_4%{v`ywhGcp{sV@>8_ECx literal 0 HcmV?d00001 diff --git a/public/rtc/images/hornOpen.png b/public/rtc/images/hornOpen.png new file mode 100644 index 0000000000000000000000000000000000000000..cea6ddd9c1f62c86d31dcc9be3b1a1e3dfb21f69 GIT binary patch literal 2324 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 literal 0 HcmV?d00001 diff --git a/public/rtc/images/mikeOpen.png b/public/rtc/images/mikeOpen.png new file mode 100644 index 0000000000000000000000000000000000000000..e1d672da510b9c529045651e225f28d9e9188fa2 GIT binary patch literal 2191 zcmaJ@X;c&E8jb`ND9BP3lKVGI2XVA`nS<0(_J0iH;N}GKJ&}e7aC@ zG`S#@!eM%TiUp5oC?N#ND0qBKObjl@0VkD*;fXFTE*cFI$sR`7D`F)OPh~GrpjQ-_ zpn@+K$smzb0%#O@ho#XF4Fx;>a|>eGXIY8j(=ovZhF9@qcp{FV+0qJ-&Hn#TvG_Au z0dc^;{Qgg2ML?_!#B)G}G+NGw6BmlsgpyGha*zi}Rt$|>V4u0 zR`)_&m5YbX;5CW;uSBm*!PTSbelA;h@VW3o30&=RxU8?_pP?WSYmq)oj{w!s@R>v2 z2LdhHc1s*HkMFB1@tvyMR{7rB> zUh#n7krZz3*LuIF6jW?Rx=pGL`TWN>!|4y}?tT^SyZCNU(U#xXUbUpot#yARYj1q6 zj&E{Vdfzh>^YWo~ibqR(kJhOp+efu#wPfZy)(VeUhJ1P5;Jxm4g!2(ss-%jyao$3< z1&e&Jr*6)bps$Z8x3!oTj@$QkZ0F_AX9&AXc;z9L7S zjq|=d%(CekhwRgsMnk6}YNf}Hj;dApt!H`X+_>8&DzSc%80Ar1Gw->#Nq$flPAQZ1 z63FC|7)m~!!{MC2cu{z*tgNH$zEdGmo@O#{@Bee{8ISnl;^JSv&(1c_K4^!-Ee=N3 z*?Wwd=)c!b0Bk4rgnS=;$I}>%MyL4?bar$kFc^#jYSaCQB|K8AiYisI39~U!YWa*9ML^s<_^W+@tqwzVc`8U^o?Y0|j zb-RV$#A(OexG&tuI!_q90V)dYHVZ?SP_{PTc5bbGwey%!q1~IP>4Ke#f3=MqG@k6G zzErL`T0~t#@3~-K}Kyu&qUP%KiI?YTmwm`(fEQY3I%#v7#G`i;Jy) z{1N9+_ye^+A>ne5Ks5__amu2-QAY!lA@!d-D(CcbOPHBS8InyL?k|lo0^*X&eLYe z|K72oq1;2G)rE!VIa%i&p+22-^-|xIz?w)kjO{4dTaI}UhrwVfbO-ExQ!AP+ohquT zs`?s$$0H+&yQ#NoYbVMoDqiRMer=HtSj{<~HSG+Et;VU`ONZS2E3gx!UFf~#3r&x0 z?y<;410fqK@OXUvES6@t?`c|4X=UZ~nnInT%}3Rs_+mjpi=DEfxEPEVi^aiJ7LVh& z+!F`39|#Vf9s{&|jJYGCM>^L_N}f$EFMl`OkB*9pDr#sL&dbZIKc`kFAhc?0YHH>P zCc5j_r!OZtIy$Q2;^Su&vq67fbBby6=Gf@Ah^*e~RM0xS6_$-ap+u6RL zMCKP5CDcPFWN`!VN8nQ4>C^WYUcWZGGkyN<-Mje>4GoRS$;q_r3%ZmOS(8_b>amT@ zc~m42<+XOCd_?jD^+8*l8$B4;$_HMgba!{VT6m6^1*8sVWGuSGUVmYkr3{u_(!pq3 zAGhYq(tk76|0%QUU90W#!@phF6h1kTQ^)RWQr!kKcn)|SF&C<5Yt``oa^0b6! yhV!$DApvd*JciOJ6RKo62Z2O{hvkY~{gsZIUj!ePAG3-clKda$!G>`F literal 0 HcmV?d00001 diff --git a/public/rtc/images/openMute.png b/public/rtc/images/openMute.png new file mode 100644 index 0000000000000000000000000000000000000000..bb16aadd0725bb765ddd65926f3d62bf0f094872 GIT binary patch literal 16723 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 J+apU?{~Mm$LlXc1 literal 0 HcmV?d00001 diff --git a/public/rtc/images/power100.png b/public/rtc/images/power100.png new file mode 100644 index 0000000000000000000000000000000000000000..ba6801280cf6897a295820b03ab00c886c5e1dc8 GIT binary patch literal 2314 zcmeH}X;4#F6vvbB)CUB4A&{V0c%YFjh(g^fBnS-w3>r`<3bKg;VbzKXn&gQPMQKn# zWEWXP*#wO2XblkA)F7e|2}pyWD7LJkVB@qio#}M?so&~{bI*V7nKN_eH}`+`&}yKmbKs;Vqcpk=pKfmSNB>+(L8#Edi zTuPzPIHmBG;Pe~OD8yOq+rZZ#%!}75Fw*6~NkB*H77Um()Ldu>!nP!8MSeUA8L0}p zp@spO^hZU7D>+|V{}oe);%_73sn~@T7PI?E64x#cg~2W^&Wajda(YjiAjOqmE$iOs zWJhD#l`;~zpR(7Rkyf&oin7yqBJDpXQ?L-!>JQ&iL9DCo?B<9)@pc!|_siwwaB(2Wd zjVzLgTSpTk3wTR0U8^2p=b9p1%tONPz+=y0haLdR4b1t@R2>Z{YUsBe*@2?gtZtpK z!cq7;!^;0Eb3+mAcplM;Bs9x_My6t7*N13DzISyu?fkCx*%!q0T0TIdP$1f5s-l}bRn7SVG zfnlCvxi;7cc%BLGZ+FXW?;>&Q5E%2Y!=tHpRtbUK`&+I=5)fVj%;On^q7mMp-aiZK z3}UNu>c#EImJ3^3vgQsjuRDDv6QsG0%df^xyihK$FYXHr>b(4vIH$uZUHH5k%ptW@ zV=!H6zCObA27khwDG~e0(GWRwJuIJpH*pc&P?r8vkx4sy&!%Hme5UskW3U~8M~^Pd z_g6GFL<|H!kQ>S>&W*$!RW@55HF;q^ME|2SiOhvbmDhKxrKnJuX;Oc}D@&svFjTuk zyKb&pYm8u}A%rXo_i_M9e3Y|?j-pzJ*6lLTQ`*OYy{kaI|AUZI_$4B(>4U00Wuo@D z{hwfRT~eDCdPw%Lt)fXl65zL;pP@Q-tY}g-QjcdA9-joIG{8Zv`cIckyt2#J?$)z4 zT=!Z7$R~qrp;N*#8dlN49$LUwdWkB<_z@5OW2u%TAk)1zLSis~%11IWYnp8FBO^GC zGJ~+D1@{EBUO!!gg;zgt38Fv=+9B%aco-tg(_Dk_{w7Lbk^V~sgHQ*!bmQp{3PXgH zy>6Q`!pEIQ!@Hv{c__uqxdM>yN=M@%ANQ=;J{UxVjWRro2ZLt!rp~g}snDtglPu5e zaz`kZIDWbYmM7er94w!8;i|OYzL@IxmCLngZoHyvy-~olS5y3l_f@Tmu&s>9nYy!@ z14|%~MMY7owB-kVhXRfOezV4+;yX^kai_LsEJYW5`6et=sh_=+Eo7zMC!;3vp0wFC zW^{VvPB_~PeDr(7?)M%FrzQt)O9=m1(G)t#xw{Fo`S!t{#UF{}5q0_14Hy@{KC_|V z8bLv#ok)P`n>+&|tao*Q3KC3`=qcWH=2)mDn`jO$H$0#SQfm90iIkvxl_pgU2Wf> mfiU7Sg}q-}{{u|iMs$>5+ajGZokIDHgQD9otV^ssk>3GC@wI>e literal 0 HcmV?d00001 diff --git a/public/rtc/images/power20.png b/public/rtc/images/power20.png new file mode 100644 index 0000000000000000000000000000000000000000..ba94dc447900077803450727d30749b9e8bcd37d GIT binary patch literal 16582 zcmeI3eN+_J6~JeKD3Y23dZ-$$PL`;(u*}SUu{$oy8Wx1qRm(>K+oR6T%);Wbv+gb| zkVL`6#>5cCkAtUHa!!k1SVe3Mend@MO^G&WjYgrUC)87`q9j#A)wcA_F8je-nB!^E z)03RpIXkoW-FNSO@AuxlGyBK9v2gy}u`$oaAP6!xJIj~@uI>CcdK5VCE!@`#E@K>7 zMJ@z+dOZJ?AV2@bL zsr>IZmiCT#FG( z8BUP6mc$8k@FUg7fL}T%V|w`S zRyJ&Cmph{ZAQ(hCtfecj%E4ketcxpm(riWrm`cKMvv*r9!NnQkiPwxccDB+wf*G&z znR&N@Z-sPVu4KBCrQDn|kK=55-!5C|M~J4U^Sdeq{eFSf&Tt;rEFA`$1lK$0jWtqk zRxiipxC~dx2t^*DBylCF)F$E@630WF_Xk5w4G#Z>232?C}37WNdA(~8~=3%al99_<5 z3vlf#EDT2j_rYPQR7yF6D>O2#l2ytGf~8~{T1&`in!*)oGo_(vtv^tRv#>x5oK{fx zC|gJ$el83Mrb$V`m4umLm>xem4>BRCFKt>jGM4fSymU=tyLkr z80=+lWy@uk4{h};Y*ufDa!^he%jaLJ)SrNXk`|~~yp1=HNs8uco1W&=gJpEskk;U^ z0+xej*6`(gG6X*VA?72;@RYE2q4e^(^7b0piHoziJ(QE3Qw(;rgY;y$<8= z1vcydU?E&o#aCMfEv2U91g(~Vq#|TyR+$2JBB7EoN?J)1l*(*Tv;JlNZKV+9H7FQ^5Sx9$-- zEUYcKXMFt&`8sMV_x4YbxzTN89%Lk)D%^_C&vybn_ zoC_Y)S-o1NQmAwo+zeYRv{tgVLZcPjL0$Zv08DVu2-Xa1Su~<$h-T2zw^$*M)ZY5( zYXuMN;J*SE__GjJS_5~Wuk%N6N?)f}$d?!d0wOGmxPNK!imRmoOhlE8>EH2#X>vVLp&n z#03En7DZgbd?2le3j!i6inxUNKw1$O1VmUAaS8K*v?4ADh_EQ)66OPGMO+XNVNt{- z%m>nnxF8_HqKHeF52O`wK|q8>5tlF@NGsxkfC!5sE@3{9R>TDX5f(*U!h9gDhzkND zEQ+{<`9N9`7X(CD6mbdjfwUqn2#ByK;u7WqX+>NR5MfaeS4{BrTh zaSV7d7p1duObAjv9YJbdMUaOB;Cd55%5em_wG=_fEeJA!+py$RCW1t5$u`c(tL*B% zlD1|FJMn|h`nRslj#+)^bz|%tSISJa|ZS=;|e|CL*3qB%@{81Xce$)96-brhH`QD#SJbLLF?e?zs zPEA_baICFyVEOE}hv#m;vd6F}aa(TOa-DRsBB!qAqn5afp8V6tdk@~&*ES$~;;p*4tndtJl~aE*vYyQbiVpG`S;d~-)@QqR3RQ!_go``=AK z$46e@6Nh}ku?9pE6+7f){M9IV@0pgP{TdmA^jr`QyiDuZ#wM)rVU9j%f!{`7wRo zn0o9d-*ruk1on}&_tTQruAV+5uzws;(P%_etR!L$A~AaBFy!QGl^T#ZlxGt*eBdSE zV8`gJ>XxLxc0_nXp4`I{E5US-N$2*>wKV=T^+E3sz`zdN?Wv#N|K`Jci+?*R8ogc7 zJG~K%_HRc%Q=O}sH*@{J7ftzB%eB6%vt75Z_SBa5PX@|(gL=_|^p;se2FB0-slRtd z*YvhMFX{Zkka_XxI@eGgXGt2=DMWMlhEf&M3EmHH}8kt4I4c zKbSr^Knet#-m9$7iO)9%`)@_eQz$ZIn LzH#3ROIQ5|k4swF literal 0 HcmV?d00001 diff --git a/public/rtc/images/power40.png b/public/rtc/images/power40.png new file mode 100644 index 0000000000000000000000000000000000000000..2c5bdc20987cc46d31ba58a9ad27606d67c29e00 GIT binary patch literal 16585 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 literal 0 HcmV?d00001 diff --git a/public/rtc/images/power60.png b/public/rtc/images/power60.png new file mode 100644 index 0000000000000000000000000000000000000000..f75dd690e181100a4f4079ebb3a567683ce63eef GIT binary patch literal 16128 zcmeI3e{d7W701uU0o#Pe{7Cr`NG>8!oJ6`i{jwy>vcWRQv;vAvVq7Sk?oRfBq!Xtz zk{zf`It)$HfW*m2^T+HG+6Bw3PI z@(nXdr~jO8bkf_m@B4N?yKi;>=%qyq=8Z|8l8zwAm_nO%G5Bl}->DZt#)j zwJr4_$msFnI|G(TV5Raxk)=UETU`F)vY3=WB|cT|nBk^*B<<7!-q z>y(71n9!PVtx0Qq1~-^+JVqqc6VkAAH0!KPprOe!X$`R&F+E`oP(L&&kPoC1+c!ps zrc6$bcawsJb(3Wb=Jk}Bv1nsV&&aMa<#R5M2g7148Z(xtIVLK&(@cdPpFnyjrqF5u z4JwwUO*D<;MjcKl)eeeO5)Lh)G-zmp(xKN8PMV-;J?#uawA*9D(lQAnxqcmz6t&$)ZQfZ)!gp#62T%&i828uEcCW;Y@OSF(@!MR7eV)}@4 zp+Pc77Qtv7I=#~2(5aOMT5C`m7=uBn1t|#<$F(|w988fwCN7nY^?}`58MBMQUJjmY zMa-I^t%D918$6-BB=2Ly`pZ!a7GUH^i=0?uOt6kkBqg407D_A+hBjkETBE~?M25rI z_~m>s1R?#H@Zod#%NdVUd4;5cy@nU@aZbTc^33cqutOfC@2Z5bY{s=nJY3^}3xf6EZv#Z)=zDPw30Hn@QY8y;-sLhCuSvIeU)z7oyikCO>h zG1yULuzCnH7S|Td9O_>pR->yT*gs2+gBM1K_i$*e8xCD69UAL~L!*&PJgi_*hqFP= zF;U_#Xy|w^0uOtPMX%FobY={0h9efS0mfBgWx+Y@6VDSc!Eg}lNf^0w*vJ@9I5M5NT7!CCvx&%D5mP(x!|{nh)faaX~<&O&OOoAIK}?f`CYyGA?O8kXOb90g*Ok zT+)0XuZ#-bN%MicGA;;+v?=3~<^y?UTo4dxQ^qCD2lC3eARyAFB(C)6pEwy0_~)h{ z{6+JF{gXz6zjvaPZLu9es%9Wa%`Xw8ZvcF@AxH&|Anhv=#PkM&OyufUoSlmxDVqze zvx@`QI&S3FPGu&Y{_DM+zaloyxsIkQ$~#-m%tZI5>C^V?DR{Yf&f=ET?4Le1aCrAy z1t#ng6JRwEnJM%R11RKQ8W2sZXrz=;=LF*nIb9`wgeRe*G_+RoNeRW0`ThY;AuW@6#!&w-lcOnXUA_zx!m8=`bAOWz>z1}Rc1v)&u{ta=^Hwh zo;)`7oqwHvLwn))k~brhNwU@;ioBWWdmA6$w0X%u!>s;MM|pFOH}8Y~jXf*BC_VPx z!>MR;N=8z0(}Y#$-JgBjIrE{Ej65VMrS4B7M$l&_UORcsxXilll|Ovd-aBV>-PMs_ zKRR+}a-paSIt6=%Z&T9fD`yX8`!6hSJbBnZCL_-|uBmz%*3j~rs^?nsyc#6A>C&`w zM{lg{OGj%E^}1X0+Iv5mC^ny7f9^ofx&G0OjRV)G0a?1~rS)AGHg+X}QEX`KXuENI z$G{|zWpe7?0dl!gH6l3`D1aLnI6MkyP@U_;A7QDMY}Gy5x! zc+#zN5LuqW`a7Cn?Eg4e%L z-P&;M&e83?9>XmprS45c-4U2_>^I^RV&*|VRd*5p%Y>%!HJ{AN*i!v=4YKFo8EB}- zlodhZW6>{@)$O;{7n}v3<)+qZTVfY_b25MDEnDAfW7(I#y?WsMyq#(EzHj&mZS|8u z!=(e~C+ literal 0 HcmV?d00001 diff --git a/public/rtc/images/power80.png b/public/rtc/images/power80.png new file mode 100644 index 0000000000000000000000000000000000000000..633dfddf14e20527bcfa6a71680fc7aa7c971b0a GIT binary patch literal 16093 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 literal 0 HcmV?d00001 diff --git a/public/rtc/images/videoExit.png b/public/rtc/images/videoExit.png new file mode 100644 index 0000000000000000000000000000000000000000..81279e9b550018392ef4bd8ac7c83d8836f29694 GIT binary patch literal 29545 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 literal 0 HcmV?d00001 diff --git a/public/rtc/images/videoExitFullscreen.png b/public/rtc/images/videoExitFullscreen.png new file mode 100644 index 0000000000000000000000000000000000000000..c8ae77f33b57e0421a23067d71149db0ed1fb1a1 GIT binary patch literal 22147 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

UzubL%xH56 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 Mfth}Zu4Cl?145C~vj6}9 literal 0 HcmV?d00001 diff --git a/public/rtc/images/videoFullscreen.png b/public/rtc/images/videoFullscreen.png new file mode 100644 index 0000000000000000000000000000000000000000..38b90fa70f1344b25c80279b2b266a25b4faf63d GIT binary patch literal 20592 zcmeHvc|6qH|NndJ5zUn(RFfvzXUH;yER)7A$r53h!7!G_*q12MB3Y79`E*-lCkn}x ztx32-lH|%3DcO=OzcbaXx!wBA_xpQ%|D1U|n3wZ@y>=XssidA`o$@pi((Y!5%L zC@%y-{DwHJCHQ_w|KZ^Rzw>PKFM+RBemFaS2;y5y|A9dn7epWkBT2HdrP`XBXt?@% zE8q#fE<}Z3Z$F?7L7KaQ{qU|{L@L6C=uYy{l9;HhmOzjQS`s!Yrf5??eWC{m7fK=S z3pKNH4fS$WCrIql=G6?=01mu~R6HWso9yGS5v(Qg*{=qW>CGq!#Ag+%mzIPsy+eep zsRcscmqJ9SD5%Q2D(=7_)YKIeRn##`%5n%Lw4y2st&UPumPadUpw%_diioct32j~= zX;KJo8kSgtuib&av?M&JR6h+ADkvyOA!vt!FU1|DsIIP#LMx$^l;nYiynl!f6(20` zk{^}i>w}>C#k=?hP_-l^=pB9ge4UrK-?xr@{J&xcP(%ge{ZNVu zXw=V)2(I63`~oQC&qE`)qKIUoH_?ac59}0wYUk(SOZD~l@cl)X-yZ+6W3VQsrr-Mh z>3F@pf7-P_b$1|u;47p*we+_N@gt%viT=I;6j$QzKrof9Kbt+3~ko5Ss_g@R}Fm%5l{7{So!*rwZBA}#orJj^!4dcrG}8QA^8w|gZ!m6 zQ9qh|U+?eUh*&(8sI7!nLd&C-<&{*e6qPiTRW)`f%AzqEXf%V9FPcC2F!d#n+(Lfh zLq!p|Vf4YE`J)f8e+YOg{(t0!QJ29F!BxY}m*S15YLmS2?nIQIkGm%7dn1G9x2V$4 z_a*yMz_5tgJ2X*0Yi6+e9BCScKK@j^k1Np-s|^|yNF;*B4ka~JS0y*1yfRVEMINK3 z>>{tOs=PyfhpP%2??O~mBPuF>2GP`%(fnVovA(VW^xg8+HQ|5hn!)^EuFWYVkm>Mb z1|9n7|F>QI#Ld6D!jb$ze1-w;HCCh8xp--q?h@~au?|91hu_-8Qxbss?keY#f3nxVc>Sl@kM1>5^z2V2{c|C{wElB_{*KsxucszGscC>% z0OP`cUIP%`|7!c*^A~+v`kImhKI^L~p}_~GNdNuSl=1P8rgs0`l=1P8rr$01`;e&G zN?&{Xp_##oo_W8dg?)e|5VciRRCcInqJC`t(ZYfhOeEW4Nnro_)1wkh@T<{}Pkw4? z_e)ELCtoeUEEdCo{&_9Gv;w*Sm+E~XGM zDzM;UM1!f!f{Q6cj0!Bc7|~!Vv*2P15u*YNE=Dw%$}G5;Ld2-Rf{PIirZNjIrVueI zu;5}ugQ?7diz!5m3M{x7(O@dG;9?39qXG*qMl_hpEV!6L#Hhf6ixCZ`G7B!I5HTvS z;9^9Bsmy|lDMXA4EVvlaU@EiVVhRzX0t+riG?>aPxR^r3sKA1Y5e=p?3ofP*F)Fa& zVnlL4`*c*RDpUB>TRZ~5L5f3XgeWH0W#eb>;d9X6~jA6=$kBz3~cB2(#G zf=d^WBmHwbC;ZJ?YA2kPO}FxJC>=&aY|#*$ha*Y{0dcUw5O5wSS_k6cVADaszdoXi z$D*7?j#X4v^0~Z{7v|f%rEU+;D!AT}^z;pzj^Wv25~Hq@94ij1>m4_5r_Phr^loY{ zXWY?I%W56jTy!9>aec=~85CZE9k&WUjes;=+Xs zR&J5!u9M`n1mdrc7E`N>XWn#AR z`nB*p>qQe~(YK--HvCpxEZI=#{|T-~ZSV>;+Z9^2`52yBu`A-zyL9T@qBIJ%OIC>2 zn=SgUt4%`{C|{j;gMqxu7O%5y6R8ad>$6FhJ2*dR)Tr znx&Jzer;z&M1-St^v%w(UJl*xijEJ4&2A+$&(i1RyjX>_o+CB?DLOkw9(t6z*65n$ zlb)WP4ZMj1jc1%(OS(TfoZR(XR7|Y4&ExioQ##L|KY!=1aj_3oAL`}p9nt(|*0Gg0 zQ9n*#D z&?02ieuT!wcZzp?Yq2pB?L*P!b@ld|K}JP?nMIJYp@A z8Yg|SBI9VauF=9(o3OAj8+Uj2HDWq?>5KgkN0cA2EBNj6(gG!c!M|#bZfA@B!xLiD z!3f8vZXVr}AU;}iXvrEh+!c)0(J?nQO)X*@eBWOiCw1~U4~R4y%YFNHNTwQ9htamB zX|`YzyPOU$KmPMi3)5`jKrgR1n+m!r!HhWAY94oV2wC5nbwi5;Lh!(ZV=tce^{vR} z!;*}ySz*L|UT`i1OR#Ewlot-_e@Kow%q5vKELGYzG+sdXb1a}W{x60s4Y9XGfVBG5S5 z1H-A=W6ZeNqEGRa%Rvvhla_cvE5tK^N#JISR*Ai@2_?=aQ3o)e)S(9^LcH~T%aJSF z9BhR#+#I!N>jR`N4`nS(LJ%zR#r12~hJ3ZNCMb1DegelWvo*)(7S)Omt;+^oZEBo+ z3nASxFF|m>Ie#fK+iI+-lQZE0hvnYAlR@H*)!JHG&0NXrDZLJRrP=n%r26g?3fRVn zdFY3Eagx#@%C|k*LMWirvEXnb;<)b(OX+w{B zU6tPJ;w=lva<0N>l`Nuo>xu~uI80rbGZp;)YYW$OeAe$yWj~W;l!nLh~t?M z4&R^HH1r{)rH(yuHF8CFZ^xQ}NsJiIQIf|+43ZWRkEn6>yT4-+BDBPZ$NqkE&-U%x zL*x+iTDtHoHpF~=+lv?Bp3z)wu!ovE{O`1mEGmk5W3oHPcFEn*Ep_2~AS@88H~Es& zOqDHh{>jUik#Rt!`{T!8_4d@W-7gg&{F*(+#!YRzFPOs+e2DIMbBkFU#l+SYMiC0S z-YjFY+3~+Ms^?j;B@!WBo-H6Tr1VX!%)Wl@!O4enoDHo~J1YY(^OGxk2YV>NNApnj z;pbqhG%zs0n%G=2x)yp7NjsA!3Ku>kepPBLV_P_9l$@kw%BX9!j`Li1iMyX>OVvf$vWF6g0PqQlzNTyu3UMKZ!N)BMTEUDo3|wsl3X<##}Kl8MU6 zvig_*)K-oS8249bnpkz+L2#k2-$joT_>^x@S!ES`ytB0Kz zFF?plDwQf#+yB0(rly8VIPu=@y&Z9Pd1H2qmy`E%MG?eGy5&w_C00bl#m^Q-#iXK#>qS-`&NALtvdZom*+szzI;B|_UzG70cvib+|KH$@uX8Dg9z;w>@w419Y(+DlinQCIZ z8y?xcBZ}wTa=ZNakG-?RJ&+4vX%UpJ*zc~ zwmXxQ3+t{vyrQEln(DT*#@pMw&lNwt6iHcLI=N2Py6%oouZ#=h zameI9OS>FpQ3Ql<_3{T<E^PyHY`5EIjQbH3x&u?e{$6jq$;P|s&V#DV{v@U->!9huFRIh~@kt|KYl?aQ5=ovTufI?F<5 zJ#QsOQ-gxswF+E{Fx}wL$piMRHLeXKiksB@=iv1*1os9$rFWK$Ox(jt+ht@ zRQ*1qYf}c9&1I-QK6BN)vtp+kGT#O+`rh@E>~$&1<>5NoLHRI{laq5phAfTzw`uM$;isGOC-IX@XuORtC8q(yvF%%ke}cCXg+z(fPet^%!~{lFgf4m z53&tSy|H@z@g|Zz#_+n+Hy^U;6!&D@OT{5OQc_a*2L=XypPHH)y>;uBEjU22QbPCD z`bq@KgKN*yU6RS;)04pt+S=NVDJGI3fW4)Fn6*H_V{YZ-Ox)=vAC_s*aO33Rc+e>q z62eXAs^1Cg4_p=k1Q!C-7Vz62m@R`MV7_!0(65OwgA2eYe#Mx-xPSnQhTzwuXJ%%E zy!!*F)Z1p}<^|@GDPGC6tI@3^aUa7!g@tRc-0bw!Qt1n-sHkwxW=GWXU%hfg|Iml= z?!JZa`%SHL8%|(f`I5;mI=Z^z{8xd{o8w*}l|FYeF)?ufKqA+!UE4_`BySf!)wo+? zuPp-3A$78%LgWxNAOMzl%>X2z4W|u!Hv^Wd;5KJ@rA>1P9QDHz@RDw_rvLEcrW)tM zh|3eed!wkRD4o1C!f@xn{xxl_tE*cFmZ*4MSV=p}yuhJ+Di?>G0?Y6=P~+knVWViU zMQVk1d)to90YV&D+51T|ElMi&kv?d1FqjwWcnT7zvSbSFO)_n8KaF6yb8fk~xL72s zbuKM6buS3kqNq3rIo1&WkO3Y}ubYdnOWZaHW{+_RJamV#p73iN>BVw-mYZTzvVi zO@U+8bNh!n0vk1E?!*dc%UynvFu(lCcv^7{VA-qg^hC5$s-5iY(k-*CdNg+Kbi#Au zLPF+El+quM#o)99OEWSv%{c*~qNr$IX}eohQZhZS$2B#a>1)~VcX!*Kp&%tVPcA-e z6WD(Su0`iDnRt3RVdEGwGCi!?5G}qlaNIGj zcG9+N?c#%-(?Ji##8k;2ZMU#@mwK(gXmpKo@KTvW0a@5~mDX5b zWe{QKg@uKMXXoVYJ=NI>flDUq3r!^bkLhjET3h?nL%H`&SHX${Fs=#<@+{}xr(lr} zcy~w3%nWMey)tCCl(eSxk3XW0W%rA%KDIH9{F!7UO=$B*sVP^Uq4`Puhva2 ztETjuRA41mVI_W3PZ>zUAtO&-6c<^z3^o&)SP4N(f3!NDycS@!i&b!@R%+)~E|Yo;Kcit*N)Yz52xHAysAN z)kfEz7z4nipyWLWw~}rQ8vXtQsGBynr)q~CdiCOyLnYoQ+iKH)q{j43&IEPd+OKbF zYWfCPynv8vbRN4+kAbqsFF5$_F;4Nrl7>^Y(^ZZ2J9*ou{rTGm@(T(!`*?aj_b5G( z2gU40fRlJCIy!onz?wA$&alQzq@iQj{kd`;r0ad{$1@+_jE%V{rISlQJ`>Qfg@CMj zOz(16%LVnVZm`D9hRI8>^|Jb9665C=dH8S!85tS*APG%CaIWa{CfCn!9IfdC)sl>` z-#y*rK~5BQP$_XH{GF2rUwTeQM@KwuXiAK%+G7vJ!07ecf;0M~r2?wg(fM)+ovNaS zOB}e9FZD%$Q8lt9uPS%=Bn?i}%~6B!<82;GR0RCBok`Qy?(3zcvnmB$VaqPNoL1{R z!8vXGm{ZI zS?QKJ1VfzSa6yaQ$L{SI0Ow}7u-{TN;<&lO++sZs@`^*5l2$}&YHIembLYZZx*qUD z=_w#RPX)sc@TWwp|7h*8SIK~?)_^#)(qnlDB?VKXc-B5cJTz3%@x+@ zyXweY>GicTfrt%5rKd+pc{gvK-|4#IK4s~oG_-^@m;^)$Q|UVGYLS|VW} ztGV;N5e&@Mxcu2GN2xEovv-uL5yS?ML037hz;)q$j{bwt z^C<-(a2(}yj%~i{kiTdodfe>B;%~ZeC)Wk*Ka~^K`-xYpbk)jl17m-Y+9dy;4VQQz zFA|f4b2w0}gI;Y<@#<;H?bsyVxWO*jm>*Z6nbmk`N%;DWs@&Yw(n2R|uiZOU&z0Z< zo_j493PlrgsXoNe1^-e(PQjmidvEC|JxW_^uE>eloO{nnvDf)PHoIZk z^omk>EEi%mvZPlAdeZz6qb%C&k4ZSZDasEzZk-eHbYOBx%zl6!F>-eCEp#<1nqESL zXvtk1R1;fo@i z9&8KG@AylTNB=iKBLz;_C$=crzfxMa3}|2^&Xkj zg$MnG#UfEsLMN|)tx;@wYZvrDkABc`utk?TaDf{P2XKR7;~BuM^Q0)s2mgF58R_;~n+$fH0{X*<1A0)6*&cE*CU7Ep#W&&g$K zM*ELhNL@&190-RVTvP_RSU^BPwU}+NBYR&SC}*(QY$P%{9(!f4bXU}CaA|Z1 zfNjW?9svpY3_m}Ar`v~tC+RbQF+O|${{17%9JP|}7kH4Qb78v2tK6Thv(+sqJCJwd zE^i${$s17dIHT+qaLwcjZj^FL0_sIUeV`<=+UXQlVhx?v@5{DodueWQ@Zd!YDWM*~ zBXa!v2A+4`1K_rUWK{1`Etzxcmdv)arp<@S9ahrqY;xJs_r33Gef-#CcxJdwxp@yy zsylUhMl#Tkb2`$kdTwPp_?~nU zZV*uDDo{y$dinC@v+(KWPO-esj3z0MAU8`$f zQ&;9zlpI?h2ewA{19L!n+iC&a9WN?e#Brf+2yt4hPq|8FbJ{h_>?XLLbj+X1$MA+R z78J7}!P>&nZl4$nnSrY8_^y4*rZ*lvdgQifz9q)8s;X*7tc7qcxcD}b{?#S;_fmmg dA)I==iyIUDl!vAxWAhTec)?Nl29Nmh4-o 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 literal 0 HcmV?d00001 diff --git a/public/rtc/images/videoPtghidn.png b/public/rtc/images/videoPtghidn.png new file mode 100644 index 0000000000000000000000000000000000000000..3019020598e17e156f4183028849f1f1e4f0fdb7 GIT binary patch literal 23012 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 literal 0 HcmV?d00001 diff --git a/public/rtc/images/videoPtgshow.png b/public/rtc/images/videoPtgshow.png new file mode 100644 index 0000000000000000000000000000000000000000..feb97e5ef28ae62a8e3a80b10870552ba7972de1 GIT binary patch literal 20118 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 XF*#f#fi6oISV9hJ8EBTMp9uaxw>c(| literal 0 HcmV?d00001 diff --git a/public/rtc/images/videoReInfo.png b/public/rtc/images/videoReInfo.png new file mode 100644 index 0000000000000000000000000000000000000000..6f1ba07ce53948a1b9c8066dc307ef3f5ed768e9 GIT binary patch literal 961 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 literal 0 HcmV?d00001 diff --git a/public/rtc/images/videotape.png b/public/rtc/images/videotape.png new file mode 100644 index 0000000000000000000000000000000000000000..de9058ef9a9238055cbb8883488f2c4cccb8a834 GIT binary patch literal 17387 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 CPZ`(% literal 0 HcmV?d00001 diff --git a/jquery-3.4.1.min.js b/public/rtc/jquery-3.4.1.min.js similarity index 100% rename from jquery-3.4.1.min.js rename to public/rtc/jquery-3.4.1.min.js diff --git a/public/rtc/js/deviceAlarmVideo.js b/public/rtc/js/deviceAlarmVideo.js new file mode 100644 index 00000000..e2016566 --- /dev/null +++ b/public/rtc/js/deviceAlarmVideo.js @@ -0,0 +1,806 @@ +import {timestampFormat,getParams} from "./timestampFormat.js"; +import { mqttUrl } from "../config/url.js"; +window.onload=function(){ + var slider,sliderInit,layer; + layui.use(['slider','layer'], function(){ + slider= layui.slider; + layer = layui.layer; + }); + var sizeLevel=0;//放大等级 + var videotapeStartTime="";//录像开始时间 + var videotapeEndTime="";//录像结束时间 + var startTimeStamp=""; + var endTimeStamp=""; + var bApplySign = false; + var applyPage=false; + var keyCode = 32; + var videoTime=60000*10; + var cdTimeCountFlag="video";//video跟videotape + var cdTimeCount=videoTime; + var countDownTimer=null; + var channelValue=decodeURI(getParams("id")); + var mdDeviceName=decodeURI(getParams("mdDeviceName")); + var station=decodeURI(getParams("station")); + var title=decodeURI(getParams("mdDeviceName")); + var loginUserName=decodeURI(getParams("username")); + var power=decodeURI(getParams("power")); + var rtmName=channelValue; + var client=null; + var buffer=[]; + var mediaRecorder =null; + var videoTimer=null; + var options = { + appid: "78846e9910a846688ab959e0f87034e5", + channel: channelValue, + uid: '', + token: null + }; + var client=AgoraRTC.createClient({mode: 'live',codec: "vp8"}); + var remoteUsers = {}; + let localTracks = { + audioTrack: true + }; + var videowatchingTimer=null; + $("html>head>title").html(title); + videoJoin(); + setPower(power); + + + function setPower(power){ + if(power=="null"){ + power=0; + } + if(power>=90){ + var img="images/power100.png"; + }else if(power>=70){ + var img="images/power80.png"; + }else if(power>=50){ + var img="images/power60.png"; + }else if(power>=30){ + var img="images/power40.png"; + }else if(power>=10){ + var img="images/power20.png"; + }else{ + var img="images/power0.png"; + } + $(".power>span").html(power+"%"); + $(".power>img").attr("src",img); + } + + function closePage(){ + leaveChannel();//我先离开频道 + var obj=getRtmData("videoclose","");//在去关闭 + sendMqttData(obj); + window.close(); + } + + async function leaveChannel() { + // leave the channel + await client.leave(); + if(videowatchingTimer!=null){ + clearInterval(videowatchingTimer); + videowatchingTimer=null; + } + } + + //关闭并退出 + $(".videoNav>.nav>img:nth-child(1)").on('click',function(){ + resetParentPlayPage(); + }) + + //重置父页面的播放页面 + function resetParentPlayPage(){ + var param = { + "sender":"children", + "receiver":"parent", + "deviceid":channelValue, + "cmd":"closePage" + }; + window.parent.postMessage(param,'*'); + closePage(); + } + + + window.addEventListener('message', function(e) { + var data=e.data + var cmd=data["cmd"]; + var deviceid=data["deviceid"] + if(cmd=="videoclose"){ + if(channelValue==deviceid){ + closePage(); + } + } + }) + + //如果在全屏 + function confClosePage(){ + var url=window.location.href; + if(url.indexOf("fullScreenVideo")==-1){ + closePage(); + } + } + + window.onresize = function () { + var w=parseFloat(window.innerWidth); + var h=parseFloat(window.innerHeight - 40); + switch(sizeLevel){ + case 1: + setVideoSize1280(w,h); + break; + case 2: + setVideoSize720(w,h); + break; + case 3: + setVideoSize480(w,h); + break; + case 4: + setVideoSize640(w,h); + break; + + default: + break; + } + } + + //1280*720 + function setVideoSize1280(w,h){ + var f=parseFloat(h/w); + if(f >= 0.5625){ + var width=w; + var height=width*0.5625; + var x= 0; + var y=parseFloat(h-height)/2; + }else{ + var height=h; + var width=(height*16)/9; + var x=parseFloat(w-width)/2; + var y= 0; + } + setPageSize(x,y,width,height) + } + + //720*1280 + function setVideoSize720(w,h){ + var f=parseFloat(w/h); + if(f>=0.5625){ + var height=h; + var width=h*0.5625; + var x=parseFloat(w-width)/2; + var y=0; + }else{ + var width=w; + var height=(w*16)/9; + var x=0; + var y=parseFloat(h-height)/2;; + } + setPageSize(x,y,width,height) + } + + //480*640 + function setVideoSize480(w,h){//宽度是480px;height:640px; + var f=parseFloat(w/h); + if(f>=0.75){ + var height=h; + var width=h*0.75; + var x=parseFloat(w-width)/2; + var y=0; + }else{ + var width=w; + var height=(w*4)/3; + var x=0; + var y=parseFloat(h-height)/2;; + } + setPageSize(0,0,120,160) + } + + //640*480 + function setVideoSize640(w,h){ + var f=parseFloat(h/w); + if(f >= 0.75){ + var width=w; + var height=width*0.75; + var x= 0; + var y=parseFloat(h-height)/2; + }else{ + var height=h; + var width=(height*4)/3; + var x=parseFloat(w-width)/2; + var y= 0; + } + setPageSize(x,y,width,height) + } + + function setPageSize(x,y,width,height){ + $("#video").css("width",width+"px"); + $("#video").css("height",height+"px"); + $("#video").css("left",x); + $("#video").css("top",y); + } + + $(".videoFullscreen").unbind('click'); + $(".videoFullscreen").click(function(){ + //投一个新的屏幕出去 + var width=1280; + var height=720; + window.open("fullScreenVideo.html?id="+encodeURI(channelValue)+"&power="+encodeURI(power)+"&mdDeviceName="+encodeURI(encodeURI(mdDeviceName))+"&station="+encodeURI(encodeURI(station))+"&title="+encodeURI(encodeURI(title))+"&username="+loginUserName,"","width="+width+",height="+height+",top=0,left=0"); + }) + + //打开声音 + function openMute(select){ + $(select).attr("src","images/openMute.png"); + $(select).attr("title","音量"); + $(select).attr("mute","open"); + } + + //关闭声音 + function closeMute(select){ + $(select).attr("src","images/closeMute.png"); + $(select).attr("title","静音"); + $(select).attr("mute","close"); + } + + //初始化声音 + function videoSlideInit(){ + sliderInit=slider.render({ + elem: '#slideTest1', + change: function(value){ + var select=$(".closeMute"); + if(value==0){ + closeMute(select); + }else{ + openMute(select); + } + setRemoteUserMute(value*10); + } + }); + } + + function setRemoteUserMute(value){ + for(var user in remoteUsers){ + remoteUsers[user].audioTrack.setVolume(value); + } + } + + let cameraid=0; + let rotateid=0; + //摄像图的操作 + $(".carmeOper").on('click',function(){ + rotateid=parseInt($(this).attr("rotate")); + $(".carmeOper").removeClass("bgColor"); + $(this).addClass("bgColor") + sendCarmeOper(); + }) + + //摄像头的方向调整 + $(".carmeDir").on('click',function(){ + let dir=$(this).attr("dir"); + cameraid=dir; + if(dir=="0"){ + $(this).attr("dir","1"); + $(this).html("后"); + }else{ + $(this).attr("dir","0"); + $(this).html("前"); + } + sendCarmeOper(); + }) + + function sendCarmeOper(){ + var obj=getRtmData("videoclose",""); + sendMqttData(obj); + setTimeout(()=>{ + let data={ + "rtmpflag":0, + "camera":cameraid, + "rotation":rotateid + } + var obj=getRtmData("videocall",JSON.stringify(data)); + sendMqttData(obj); + videoInfoWind(); + },4000) + } + + //调节音量大小 + $(".closeMute").click(function(){ + var mute=$(this).attr("mute"); + if(mute=="open"){ + setRemoteUserMute(0) + sliderInit.setValue(0) //设置开始值 + closeMute(this); + }else{ + setRemoteUserMute(1000) + sliderInit.setValue(100) //设置开始值 + openMute(this); + } + }) + + async function videoJoin() { + //订阅用户推送流 + client.on("user-published", handleUserPublished); + //订阅用户取消推流 + client.on("user-unpublished", handleUserUnpublished); + try { + // join a channel and create local tracks, we can use Promise.all to run them concurrently + [ options.uid] = await Promise.all([ + // join the channel + client.join(options.appid, options.channel, options.token || null), + ]); + } catch (e) { + console.log("加入频道失败", e); + } + // 使用 Web SDK 4.x,服务器频道禁用以后,客服端需要退出页面跟频道 + client.on("connection-state-change", (curState, prevState) => { + closePage(); + }); + + } + + async function subscribe(user, mediaType) { + const uid = user.uid; + // subscribe to a remote user + await client.subscribe(user, mediaType); + if (mediaType === 'video') { + const player = $(` +
+ `); + $("#agora_local").append(player); + user.videoTrack.play(`player-${uid}`); + //设置视频数据 + setVideoData(); + //初始化视频的尺寸 + videoInfoWind(); + + if(videowatchingTimer==null){ + setInterval(function(){ + var obj=getRtmData("videowatching",""); + sendMqttData(obj) + //每隔1分钟发送发送1个不关闭视频的指令 + },60000) + } + + + + } + if(mediaType === 'audio'){ + setRemoteUserMute(0); + //初始化音量 + videoSlideInit(); + user.audioTrack.play(); + } + } + + function handleUserPublished(user, mediaType) { + const id = user.uid; + remoteUsers[id] = user; + subscribe(user, mediaType); + } + + function handleUserUnpublished(user) { + const id = user.uid; + delete remoteUsers[id]; + $(`#player-wrapper-${id}`).remove(); + resetParentPlayPage(); + } + + + function setVideoData(){ + setInterval(()=>{ + var evt=client.getRemoteVideoStats(); + if(JSON.stringify(evt)!="{}"){ + for(var j in evt){ + var packetLossRate=evt[j]["packetLossRate"] + var receiveBitrate=parseFloat(evt[j]["receiveBitrate"]/1024).toFixed(2); + var receiveFrameRate=evt[j]["receiveFrameRate"] + var totalDuration=evt[j]["totalDuration"] + var totalFreezeTime=evt[j]["totalFreezeTime"] + var transportDelay=evt[j]["transportDelay"] + $(".PacketLossRate").html(packetLossRate); + $(".RecvBitrate").html(receiveBitrate); + $(".RenderFrameRate").html(receiveFrameRate); + $(".TotalPlayDuration").html(totalDuration); + $(".TotalFreezeTime").html(totalFreezeTime); + $(".TransportDelay").html(transportDelay); + } + } + },1000) + } + + function videoInfoWind(){ + videoTimer=setInterval(() => { + var evt=client.getRemoteVideoStats(); + if(JSON.stringify(evt)!="{}"){ + for(var i in evt){ + if("receiveResolutionHeight" in evt[i]){ + var RecvResolutionHeight=evt[i]["receiveResolutionHeight"]; + } + if("receiveResolutionWidth" in evt[i]){ + var RecvResolutionWidth=evt[i]["receiveResolutionWidth"]; + } + if((RecvResolutionWidth!="0"&&RecvResolutionHeight!="0")&&(RecvResolutionWidth!=undefined&&RecvResolutionHeight!=undefined)){ + clearInterval(videoTimer); + var width=RecvResolutionWidth; + var height=parseFloat(RecvResolutionHeight); + if(RecvResolutionWidth=="1280"&&RecvResolutionHeight=="720"){ + sizeLevel=1; + }else if(RecvResolutionWidth=="720"&&RecvResolutionHeight=="1280"){ + if(window.screen.height+200<=height){ + width=width*0.8; + height=height*0.8; + } + sizeLevel=2; + window.resizeTo(width,height); + }else if(RecvResolutionWidth=="480"&&RecvResolutionHeight=="640"){ + sizeLevel=3; + window.resizeTo("480","640"); + }else if(RecvResolutionWidth=="640"&&RecvResolutionHeight=="480"){ + sizeLevel=4; + window.resizeTo(RecvResolutionWidth,RecvResolutionHeight); + } + var param={ + "deviceid":channelValue, + "cmd":"videoloadedSuccess", + "data":{ + w:width, + h:height + } + } + console.log(param); + parent.postMessage(param,'*'); + //启动倒计时 + downTime30(); + } + } + } + },1000) + } + + //设置stream + function setRecStream(){ + let mediaStream = new MediaStream(); + console.log(mediaStream); + for(var user in remoteUsers){ + mediaStream.addTrack(remoteUsers[user].videoTrack.getMediaStreamTrack()) + mediaStream.addTrack(remoteUsers[user].audioTrack.getMediaStreamTrack()) + } + window.stream=mediaStream; + } + + //开启远程录像 + $(".startRecording").unbind(); + $(".startRecording").click(function(){ + var recordState=$(this).attr("state"); + if(recordState=="open"){ + setRecStream(); + startRecord(); + startTimeStamp=new Date().getTime(); + videotapeStartTime=timestampFormat(); + $(this).attr("state","close"); + $(this).attr("src","images/endRecording.png"); + $(this).attr("title","结束录像"); + layer.msg("录像开启成功"); + $(".inTheVideo").css("display","block"); + cdTimeCountFlag="videotape"; + downTime30(); + }else{ + endTimeStamp=new Date().getTime(); + videotapeEndTime=timestampFormat(); + stopRecord(); + cdTimeCount=videoTime; + clearInterval(countDownTimer); + countDownTimer=null; + cdTimeCountFlag="video"; + } + }) + + //视频信息 + $(".videoReInfo").on('click',function(){ + var state=$(this).attr("state"); + if(state=="close"){ + $(this).attr("state","open"); + $(".videoInfo").css("display","block"); + + + }else{ + $(this).attr("state","close"); + $(".videoInfo").css("display","none"); + } + }) + + //分享 + $(".videoShare").on('click',function(){ + var state=$(this).attr("state"); + if(state=="close"){ + $(this).attr("state","open"); + $("#qrcode").css("display","block"); + + + }else{ + $(this).attr("state","close"); + $("#qrcode").css("display","none"); + } + }) + + async function setClientHost(){ + //设置成主播 + await client.setClientRole("host"); + try { + // join a channel and create local tracks, we can use Promise.all to run them concurrently + [localTracks.audioTrack] = await Promise.all([ + // create local tracks, using microphone and camera + AgoraRTC.createMicrophoneAudioTrack() + ]); + await client.publish(Object.values(localTracks)); + } catch (e) { + console.log("加入频道失败", e); + } + } + async function setClientAudience(){ + //先调用取消发布,在设置成观众 + await client.unpublish(Object.values(localTracks)); + await client.setClientRole("audience"); + } + + //开启对讲 + $(".videoWalk").unbind(); + $(".videoWalk").click(function(){ + var state=$(this).attr("state"); + if(state=="close"){ + //开启 + $(this).attr("state","open"); + $(this).attr("src","images/videoWalkOnline.png"); + applyPage=true; + bApplySign=true; + setClientHost(); + }else{ + applyPage=false; + bApplySign=false; + //关闭 + $(this).attr("state","close"); + $(this).attr("src","images/videoWalk.png"); + setClientAudience(); + } + }) + + //键盘松开 + document.onkeyup = function (event) { + var e = event || window.event || arguments.callee.caller.arguments[0]; + if(applyPage){ + if(e && e.keyCode == keyCode&&!bApplySign) { + bApplySign = true; + //关闭麦克风 + localTracks.audioTrack.setEnabled(false); + //开启远程的声音 + setRemoteUserMute(100); + var select=$(".closeMute"); + openMute(select); + sliderInit.setValue(100) //设置开始值 + } + } + } + + //键盘按下 + document.onkeydown = function (event) { + var e = event || window.event || arguments.callee.caller.arguments[0]; + if(applyPage){ + if(e && e.keyCode == keyCode&&bApplySign) { + bApplySign = false; + //启用麦克风 + localTracks.audioTrack.setEnabled(true); + //关闭远程的声音 + setRemoteUserMute(0); + //页面状态改变 + sliderInit.setValue(0) //设置开始值 + var select=$(".closeMute"); + closeMute(select); + } + } + } + + //截图,并且把图片保存在云端 + $(".videoImg").click(function(){ + var video=document.querySelector(".agora_video_player"); + var canvas=document.getElementById('canvas'); + if(video!=null){ + $(".canvasImg").css("display","block"); + canvas.width=video.videoWidth; + canvas.height=video.videoHeight; + canvas.getContext('2d').drawImage(video,0,0,canvas.width,canvas.height); + var image = canvas . toDataURL ("image/png") ; + $(".canvasImgBox").css("width",canvas.width*0.3+"px"); + $(".canvasImgBox").css("height",canvas.height*0.3+"px"); + document.getElementById("save").href=image; + document.getElementById("save").download=mdDeviceName+".jpg"; + document.getElementById('save').onclick=function(){ + + $(".canvasImg").css("display","none"); + } + document.getElementById('cancel').onclick=function(){ + $(".canvasImg").css("display","none"); + } + }else{ + layer.msg("用户已离开,无法截图"); + } + }) + + function closeVideoStream(){ + var obj=getRtmData("videoclose","");//在去关闭 + sendMqttData(obj); + } + + + + //倒计时30分钟以后关闭录像,告诉用户,录像已经完成 + /*************************观看视频为5分钟1次,如果不点击确定,就会关闭***********************************/ + function downTime30(){ + if(countDownTimer!=null){ + clearInterval(countDownTimer); + }else{ + countDownTimer=setInterval(function(){ + cdTimeCount-=1000; + if(cdTimeCount<=0){ + clearInterval(countDownTimer); + countDownTimer=null; + if(cdTimeCountFlag=="videotape"){ + endTimeStamp=new Date().getTime(); + videotapeEndTime=timestampFormat(); + stopRecord(); + }else{ + //倒计时 + showCountDownTimer(); + } + } + },1000); + } + } + + //倒计时******************************************* + var closeTime=10;//倒计时 + var closePageTimer=null; + function showCountDownTimer(){ + $(".videoTitle").css("display","block"); + $(".close_ing_time").html(closeTime); + videoTitleEvent(); + closePageTimer=setInterval(function(){ + closeTime--; + $(".close_ing_time").html(closeTime); + if(closeTime<=0){ + closeVideoStream();//发送关闭指令 + leaveChannel();//离开频道 + clearInterval(closePageTimer);//退出定时器 + } + },1000); + } + + function videoTitleEvent(){ + $(".videoTitle>p:last-child>button:nth-child(1)").on('click',function(){ + var obj=getRtmData("videocall","");//在去关闭 + sendMqttData(obj); + $(".videoTitle").css("display","none"); + clearInterval(closePageTimer); + closePageTimer=null; + closeTime=10; + cdTimeCount=videoTime; + //再次加入频道 + videoJoin() + downTime30() + }) + $(".videoTitle>p:last-child>button:nth-child(2)").on('click',function(){ + closePage(); + }) + } + + function handleDataAvailable(e){ // 5、获取数据的事件函数 当我们点击录制之后,数据就会源源不断的从这个事件函数中获取到 + if(e && e.data && e.data.size > 0){ + console.log(e.data); + buffer.push(e.data); // 将e.data放入二进制数组里面 + // 这个buffer应该是我们在开始录制的时候创建这个buffer + } + } + + //开始录像 + function startRecord(){ + buffer = []; // 定义数组 + if (typeof MediaRecorder.isTypeSupported == 'function') { + if (MediaRecorder.isTypeSupported('video/webm;codecs=vp8')) { + var options = { + mimeType: 'video/webm;codecs=vp9,opus' + } + } else if (MediaRecorder.isTypeSupported('video/webm;codecs=vp9')) { + var options = { + mimeType:'video/webm;codecs=vp9,opus' + }; + } else if (MediaRecorder.isTypeSupported('video/webm;codecs=h264')) { + var options = { + mimeType:'video/webm;codecs=h264,opus' + }; + } + } + + if(!MediaRecorder.isTypeSupported(options.mimeType)){ // 判断录制的视频 mimeType 格式浏览器是否支持 + return; + } + + try{ // 防止录制异常 + // 5、先在上面定义全局对象mediaRecorder,以便于后面停止录制的时候可以用到 + mediaRecorder = new MediaRecorder(window.stream, options); // 调用录制API // window.stream在gotMediaStream中获取 + //4、调用事件 这个事件处理函数里面就会收到我们录制的那块数据 当我们收集到这个数据之后我们应该把它存储起来 + mediaRecorder.ondataavailable = handleDataAvailable; + mediaRecorder.start(10); // start方法里面传入一个时间片,每隔一个 时间片存储 一块数据 + }catch(e){ + console.error(e); + return; + } + } + + //停止录制 + function stopRecord(){ + //6、调用停止录制 + try{ + mediaRecorder.stop(); + }catch(e){ + console.error(e); + } + $(".startRecording").attr("state","open"); + $(".startRecording").attr("src","images/startRecording.png"); + $(this).attr("title","开始录像"); + layer.msg('录像已保存', { + time: false, //20s后自动关闭 + btn: ['知道了'] + }); + + $(".inTheVideo").css("display","none"); + var tmpBlob = new Blob(buffer, {type: 'video/webm'}); + var duration=endTimeStamp-startTimeStamp; + //调用设置时长代码。该函数基于fix-webm-duration.js + ysFixWebmDuration(tmpBlob, duration, function (fixedBlob) { + var recorderFile = fixedBlob; + let name =`${mdDeviceName}(${videotapeStartTime}---${videotapeEndTime}).mp4`; + var url = window.URL.createObjectURL(recorderFile); + var a = document.createElement('a'); + a.href = url; + a.style.display = 'none'; + a.download = name; + a.click(); + }); + } + + + //构建rtm发送对象 + function getRtmData(title,data){ + return { + "title":title, + "sender":loginUserName, + "department":"", + "scope":"", + "receiver":[rtmName], + "video":"", + "rtm":(new Date().getTime()).toString(), + "data":data, + "userScope":"", + "userBragide":"", + "userDetachchment":"", + "userBorough":"", + "name":"", + } + } + + //发送mqqt接口数据 + function sendMqttData(obj){ + var mqttObj={ + "topic":`${station}/ter_cmd`, + "message":JSON.stringify(obj) + } + $.ajax({ + url: mqttUrl, + type: "post", + dataType: "json", + headers: { + "Content-Type": "application/json;charset=utf-8" + }, + data: JSON.stringify(mqttObj), + success: function(d) { + //console.error(d); + } + }) + } +} \ No newline at end of file diff --git a/public/rtc/js/fullScreenVideo.js b/public/rtc/js/fullScreenVideo.js new file mode 100644 index 00000000..86598b83 --- /dev/null +++ b/public/rtc/js/fullScreenVideo.js @@ -0,0 +1,798 @@ +import {timestampFormat,getParams,fullScreen,exitFullscreen} from "./timestampFormat.js"; +import { mqttUrl } from "../config/url.js"; +window.onload=function(){ + var locationUrl=window.location.href; + var slider,sliderInit,layer; + layui.use(['slider','layer'], function(){ + slider= layui.slider; + layer = layui.layer; + }); + var sizeLevel=0;//放大等级 + var videotapeStartTime="";//录像开始时间 + var videotapeEndTime="";//录像结束时间 + var startTimeStamp=""; + var endTimeStamp=""; + var bApplySign = false; + var applyPage=false; + var keyCode = 32; + var videoTime=60000*12000; + var cdTimeCountFlag="video";//video跟videotape + var cdTimeCount=videoTime; + var countDownTimer=null; + var channelValue=decodeURI(getParams("id")); + var mdDeviceName=decodeURI(getParams("mdDeviceName")); + var station=decodeURI(getParams("station")); + var title=decodeURI(getParams("mdDeviceName")); + var loginUserName=decodeURI(getParams("username")); + var power=decodeURI(getParams("power")); + var rtmName=channelValue; + var client=null; + var buffer=[]; + var mediaRecorder =null; + var videoTimer=null; + var options = { + appid: "78846e9910a846688ab959e0f87034e5", + channel: channelValue, + uid: '', + token: null + }; + var client=AgoraRTC.createClient({mode: 'live',codec: "vp8"}); + var remoteUsers = {}; + let localTracks = { + audioTrack: true + }; + $("html>head>title").html(title); + videoJoin(); + setPower(power); + function setPower(power){ + if(power=="null"){ + power=0; + } + if(power>=90){ + var img="images/power100.png"; + }else if(power>=70){ + var img="images/power80.png"; + }else if(power>=50){ + var img="images/power60.png"; + }else if(power>=30){ + var img="images/power40.png"; + }else if(power>=10){ + var img="images/power20.png"; + }else{ + var img="images/power0.png"; + } + $(".power>span").html(power+"%"); + $(".power>img").attr("src",img); + } + + function closePage(){ + leaveChannel();//我先离开频道 + var obj=getRtmData("videoclose","");//在去关闭 + sendMqttData(obj); + window.close(); + } + + async function leaveChannel() { + // leave the channel + await client.leave(); + } + + //关闭并退出 + $(".videoNav>.nav>img:nth-child(1)").click(function(){ + var param = { + "sender":"children", + "receiver":"parent", + "deviceid":channelValue, + "cmd":"closePage" + }; + window.parent.postMessage(param,'*'); + closePage(); + }) + + window.addEventListener('message', function(e) { + var data=e.data + var cmd=data["cmd"]; + var deviceid=data["deviceid"] + if(cmd=="videoclose"){ + if(channelValue==deviceid){ + closePage(); + } + } + }) + + //如果在全屏 + function confClosePage(){ + var url=window.location.href; + if(url.indexOf("fullScreenVideo")==-1){ + closePage(); + } + } + + + + window.onbeforeunload=function(e){ + if(locationUrl.indexOf("videoMoitorShow")==-1){ + confClosePage(); + } + } + + window.onresize = function () { + var w=parseFloat(window.innerWidth); + var h=parseFloat(window.innerHeight - 40); + switch(sizeLevel){ + case 1: + setVideoSize1280(w,h); + break; + case 2: + setVideoSize720(w,h); + break; + case 3: + setVideoSize480(w,h); + break; + case 4: + setVideoSize640(w,h); + break; + default: + break; + } + } + + //1280*720 + function setVideoSize1280(w,h){ + var f=parseFloat(h/w); + if(f >= 0.5625){ + var width=w; + var height=width*0.5625; + var x= 0; + var y=parseFloat(h-height)/2; + }else{ + var height=h; + var width=(height*16)/9; + var x=parseFloat(w-width)/2; + var y= 0; + } + setPageSize(x,y,width,height) + } + + //720*1280 + function setVideoSize720(w,h){ + var f=parseFloat(w/h); + if(f>0.5625){ + var height=h; + var width=h*0.5625; + var x=parseFloat(w-width)/2; + var y=0; + }else{ + var width=w; + var height=(w*16)/9; + var x=0; + var y=parseFloat(h-height)/2;; + } + setPageSize(x,y,width,height) + } + + + //480*640 + function setVideoSize480(w,h){//宽度是480px;height:640px; + var f=parseFloat(w/h); + if(f>0.75){ + var height=h; + var width=h*0.75; + var x=parseFloat(w-width)/2; + var y=0; + }else{ + var width=w; + var height=(w*4)/3; + var x=0; + var y=parseFloat(h-height)/2;; + } + setPageSize(x,y,width,height) + } + + //640*480 + function setVideoSize640(w,h){ + var f=parseFloat(h/w); + if(f >= 0.75){ + var width=w; + var height=width*0.75; + var x= 0; + var y=parseFloat(h-height)/2; + }else{ + var height=h; + var width=(height*4)/3; + var x=parseFloat(w-width)/2; + var y= 0; + } + setPageSize(x,y,width,height) + } + + + + function setPageSize(x,y,width,height){ + $("#video").css("width",width+"px"); + $("#video").css("height",height+"px"); + $("#video").css("left",x); + $("#video").css("top",y); + } + + $(".videoFullscreen").unbind('click'); + $(".videoFullscreen").click(function(){ + + console.log(123456); + + var url=window.location.href; + if(url.indexOf("alarmDeviceVideo")!=-1){ + //投一个新的屏幕出去 + var width=1280; + var height=760; + window.open("fullScreenVideo.html?id="+encodeURI(channelValue)+"&power="+encodeURI(power)+"&mdDeviceName="+encodeURI(encodeURI(mdDeviceName))+"&station="+encodeURI(encodeURI(station))+"&title="+encodeURI(encodeURI(title))+"&username="+loginUserName,"","width="+width+",height="+height+",top=0,left=0"); + }else{ + var model=$(this).attr("model"); + if(model=="exitfullScreen"){ + fullScreen() + $(this).attr("src","images/videoExitFullscreen.png").attr("model","fullScreen").attr("title","退出全屏") + }else{ + exitFullscreen() + $(this).attr("src","images/videoFullscreen.png").attr("model","exitfullScreen").attr("title","全屏"); + } + } + }) + + //打开声音 + function openMute(select){ + $(select).attr("src","images/openMute.png"); + $(select).attr("title","音量"); + $(select).attr("mute","open"); + } + + //关闭声音 + function closeMute(select){ + $(select).attr("src","images/closeMute.png"); + $(select).attr("title","静音"); + $(select).attr("mute","close"); + } + + //初始化声音 + function videoSlideInit(){ + sliderInit=slider.render({ + elem: '#slideTest1', + change: function(value){ + var select=$(".closeMute"); + if(value==0){ + closeMute(select); + }else{ + openMute(select); + } + setRemoteUserMute(value*10); + } + }); + } + + function setRemoteUserMute(value){ + for(var user in remoteUsers){ + remoteUsers[user].audioTrack.setVolume(value); + } + } + + let cameraid=0; + let rotateid=0; + //摄像图的操作 + $(".carmeOper").on('click',function(){ + rotateid=parseInt($(this).attr("rotate")); + $(".carmeOper").removeClass("bgColor"); + $(this).addClass("bgColor") + sendCarmeOper(); + }) + + //摄像头的方向调整 + $(".carmeDir").on('click',function(){ + let dir=$(this).attr("dir"); + cameraid=dir; + if(dir=="0"){ + $(this).attr("dir","1"); + $(this).html("后"); + }else{ + $(this).attr("dir","0"); + $(this).html("前"); + } + sendCarmeOper(); + }) + + function sendCarmeOper(){ + var obj=getRtmData("videoclose",""); + sendMqttData(obj); + setTimeout(()=>{ + let data={ + "rtmpflag":0, + "camera":cameraid, + "rotation":rotateid + } + var obj=getRtmData("videocall",JSON.stringify(data)); + sendMqttData(obj); + videoInfoWind(); + },4000) + } + + //调节音量大小 + $(".closeMute").click(function(){ + var mute=$(this).attr("mute"); + if(mute=="open"){ + setRemoteUserMute(0) + sliderInit.setValue(0) //设置开始值 + closeMute(this); + }else{ + setRemoteUserMute(1000) + sliderInit.setValue(100) //设置开始值 + openMute(this); + } + }) + + async function videoJoin() { + //订阅用户推送流 + client.on("user-published", handleUserPublished); + //订阅用户取消推流 + client.on("user-unpublished", handleUserUnpublished); + try { + // join a channel and create local tracks, we can use Promise.all to run them concurrently + [ options.uid] = await Promise.all([ + // join the channel + client.join(options.appid, options.channel, options.token || null), + ]); + } catch (e) { + console.log("加入频道失败", e); + } + // 使用 Web SDK 4.x,服务器频道禁用以后,客服端需要退出页面跟频道 + client.on("connection-state-change", (curState, prevState) => { + closePage(); + }); + } + + async function subscribe(user, mediaType) { + const uid = user.uid; + // subscribe to a remote user + await client.subscribe(user, mediaType); + if (mediaType === 'video') { + const player = $(` +
+ `); + $("#agora_local").append(player); + user.videoTrack.play(`player-${uid}`); + //设置视频数据 + setVideoData(); + //初始化视频的尺寸 + videoInfoWind(); + + + setInterval(function(){ + var obj=getRtmData("videowatching",""); + sendMqttData(obj) + //每隔1分钟发送发送1个不关闭视频的指令 + },60000) + + } + if(mediaType === 'audio'){ + setRemoteUserMute(0); + //初始化音量 + videoSlideInit(); + user.audioTrack.play(); + } + } + + + function handleUserPublished(user, mediaType) { + const id = user.uid; + remoteUsers[id] = user; + subscribe(user, mediaType); + } + + function handleUserUnpublished(user) { + const id = user.uid; + delete remoteUsers[id]; + $(`#player-wrapper-${id}`).remove(); + } + + + function setVideoData(){ + setInterval(()=>{ + var evt=client.getRemoteVideoStats(); + if(JSON.stringify(evt)!="{}"){ + for(var j in evt){ + var packetLossRate=evt[j]["packetLossRate"] + var receiveBitrate=parseFloat(evt[j]["receiveBitrate"]/1024).toFixed(2); + var receiveFrameRate=evt[j]["receiveFrameRate"] + var totalDuration=evt[j]["totalDuration"] + var totalFreezeTime=evt[j]["totalFreezeTime"] + var transportDelay=evt[j]["transportDelay"] + $(".PacketLossRate").html(packetLossRate); + $(".RecvBitrate").html(receiveBitrate); + $(".RenderFrameRate").html(receiveFrameRate); + $(".TotalPlayDuration").html(totalDuration); + $(".TotalFreezeTime").html(totalFreezeTime); + $(".TransportDelay").html(transportDelay); + } + } + },1000) + } + + function videoInfoWind(){ + videoTimer=setInterval(() => { + var evt=client.getRemoteVideoStats(); + if(JSON.stringify(evt)!="{}"){ + for(var i in evt){ + if("receiveResolutionHeight" in evt[i]){ + var RecvResolutionHeight=evt[i]["receiveResolutionHeight"]; + } + if("receiveResolutionWidth" in evt[i]){ + var RecvResolutionWidth=evt[i]["receiveResolutionWidth"]; + } + if((RecvResolutionWidth!="0"&&RecvResolutionHeight!="0")&&(RecvResolutionWidth!=undefined&&RecvResolutionHeight!=undefined)){ + clearInterval(videoTimer); + var width=RecvResolutionWidth; + var height=parseFloat(RecvResolutionHeight); + if(RecvResolutionWidth=="1280"&&RecvResolutionHeight=="720"){ + sizeLevel=1; + setVideoSize1280(width*0.5,height*0.5); + window.resizeTo(width,height); + }else if(RecvResolutionWidth=="720"&&RecvResolutionHeight=="1280"){ + if(window.screen.height+200<=height){ + width=width*0.8; + height=height*0.8; + } + sizeLevel=2; + setVideoSize720(width*0.5,height*0.5); + window.resizeTo(width,height); + }else if(RecvResolutionWidth=="480"&&RecvResolutionHeight=="640"){ + sizeLevel=3; + setVideoSize480(width*0.5,height*0.5); + window.resizeTo("496","750"); + }else if(RecvResolutionWidth=="640"&&RecvResolutionHeight=="480"){ + sizeLevel=4; + setVideoSize640(width*0.5,height*0.5); + window.resizeTo(RecvResolutionWidth,RecvResolutionHeight); + } + var param={ + "deviceid":channelValue, + "cmd":"videoloadedSuccess" + } + parent.postMessage(param,'*'); + //启动倒计时 + downTime30(); + } + } + } + },1000) + } + + //设置stream + function setRecStream(){ + let mediaStream = new MediaStream(); + for(var user in remoteUsers){ + mediaStream.addTrack(remoteUsers[user].videoTrack.getMediaStreamTrack()) + mediaStream.addTrack(remoteUsers[user].audioTrack.getMediaStreamTrack()) + } + window.stream=mediaStream; + } + + //开启远程录像 + $(".startRecording").unbind(); + $(".startRecording").click(function(){ + var recordState=$(this).attr("state"); + if(recordState=="open"){ + setRecStream(); + startRecord(); + startTimeStamp=new Date().getTime(); + videotapeStartTime=timestampFormat(); + $(this).attr("state","close"); + $(this).attr("src","images/endRecording.png"); + $(this).attr("title","结束录像"); + layer.msg("录像开启成功"); + $(".inTheVideo").css("display","block"); + cdTimeCountFlag="videotape"; + downTime30(); + }else{ + endTimeStamp=new Date().getTime(); + videotapeEndTime=timestampFormat(); + stopRecord(); + cdTimeCount=videoTime; + clearInterval(countDownTimer); + countDownTimer=null; + cdTimeCountFlag="video"; + } + }) + + //视频信息 + $(".videoReInfo").on('click',function(){ + var state=$(this).attr("state"); + if(state=="close"){ + $(this).attr("state","open"); + $(".videoInfo").css("display","block"); + + + }else{ + $(this).attr("state","close"); + $(".videoInfo").css("display","none"); + } + }) + + async function setClientHost(){ + //设置成主播 + await client.setClientRole("host"); + try { + // join a channel and create local tracks, we can use Promise.all to run them concurrently + [localTracks.audioTrack] = await Promise.all([ + // create local tracks, using microphone and camera + AgoraRTC.createMicrophoneAudioTrack() + ]); + await client.publish(Object.values(localTracks)); + } catch (e) { + console.log("加入频道失败", e); + } + } + async function setClientAudience(){ + //先调用取消发布,在设置成观众 + await client.unpublish(Object.values(localTracks)); + await client.setClientRole("audience"); + } + + //开启对讲 + $(".videoWalk").unbind(); + $(".videoWalk").click(function(){ + var state=$(this).attr("state"); + if(state=="close"){ + //开启 + $(this).attr("state","open"); + $(this).attr("src","images/videoWalkOnline.png"); + applyPage=true; + bApplySign=true; + setClientHost(); + }else{ + applyPage=false; + bApplySign=false; + //关闭 + $(this).attr("state","close"); + $(this).attr("src","images/videoWalk.png"); + setClientAudience(); + } + }) + + //键盘松开 + document.onkeyup = function (event) { + var e = event || window.event || arguments.callee.caller.arguments[0]; + if(applyPage){ + if(e && e.keyCode == keyCode&&!bApplySign) { + bApplySign = true; + //关闭麦克风 + localTracks.audioTrack.setEnabled(false); + //开启远程的声音 + setRemoteUserMute(100); + var select=$(".closeMute"); + openMute(select); + sliderInit.setValue(100) //设置开始值 + } + } + } + + //键盘按下 + document.onkeydown = function (event) { + var e = event || window.event || arguments.callee.caller.arguments[0]; + if(applyPage){ + if(e && e.keyCode == keyCode&&bApplySign) { + bApplySign = false; + //启用麦克风 + localTracks.audioTrack.setEnabled(true); + //关闭远程的声音 + setRemoteUserMute(0); + //页面状态改变 + sliderInit.setValue(0) //设置开始值 + var select=$(".closeMute"); + closeMute(select); + } + } + } + + //截图,并且把图片保存在云端 + $(".videoImg").click(function(){ + var video=document.querySelector(".agora_video_player"); + var canvas=document.getElementById('canvas'); + if(video!=null){ + $(".canvasImg").css("display","block"); + canvas.width=video.videoWidth; + canvas.height=video.videoHeight; + canvas.getContext('2d').drawImage(video,0,0,canvas.width,canvas.height); + var image = canvas . toDataURL ("image/png") ; + $(".canvasImgBox").css("width",canvas.width*0.3+"px"); + $(".canvasImgBox").css("height",canvas.height*0.3+"px"); + document.getElementById("save").href=image; + document.getElementById("save").download=mdDeviceName+".jpg"; + document.getElementById('save').onclick=function(){ + + $(".canvasImg").css("display","none"); + } + document.getElementById('cancel').onclick=function(){ + $(".canvasImg").css("display","none"); + } + }else{ + layer.msg("用户已离开,无法截图"); + } + }) + + function closeVideoStream(){ + var obj=getRtmData("videoclose","");//在去关闭 + sendMqttData(obj); + } + + + + //倒计时30分钟以后关闭录像,告诉用户,录像已经完成 + /*************************观看视频为5分钟1次,如果不点击确定,就会关闭***********************************/ + function downTime30(){ + if(countDownTimer!=null){ + clearInterval(countDownTimer); + }else{ + countDownTimer=setInterval(function(){ + cdTimeCount-=1000; + if(cdTimeCount<=0){ + clearInterval(countDownTimer); + countDownTimer=null; + if(cdTimeCountFlag=="videotape"){ + endTimeStamp=new Date().getTime(); + videotapeEndTime=timestampFormat(); + stopRecord(); + }else{ + //倒计时 + showCountDownTimer(); + } + } + },1000); + } + } + + //倒计时******************************************* + var closeTime=10;//倒计时 + var closePageTimer=null; + function showCountDownTimer(){ + $(".videoTitle").css("display","block"); + $(".close_ing_time").html(closeTime); + videoTitleEvent(); + closePageTimer=setInterval(function(){ + closeTime--; + $(".close_ing_time").html(closeTime); + if(closeTime<=0){ + closeVideoStream();//发送关闭指令 + leaveChannel();//离开频道 + clearInterval(closePageTimer);//退出定时器 + } + },1000); + } + + function videoTitleEvent(){ + $(".videoTitle>p:last-child>button:nth-child(1)").on('click',function(){ + var obj=getRtmData("videocall","");//在去关闭 + sendMqttData(obj); + $(".videoTitle").css("display","none"); + clearInterval(closePageTimer); + closePageTimer=null; + closeTime=10; + cdTimeCount=videoTime; + //再次加入频道 + videoJoin() + downTime30() + }) + $(".videoTitle>p:last-child>button:nth-child(2)").on('click',function(){ + closePage(); + }) + } + + function handleDataAvailable(e){ // 5、获取数据的事件函数 当我们点击录制之后,数据就会源源不断的从这个事件函数中获取到 + if(e && e.data && e.data.size > 0){ + console.log(e.data); + buffer.push(e.data); // 将e.data放入二进制数组里面 + // 这个buffer应该是我们在开始录制的时候创建这个buffer + } + } + + //开始录像 + function startRecord(){ + buffer = []; // 定义数组 + if (typeof MediaRecorder.isTypeSupported == 'function') { + if (MediaRecorder.isTypeSupported('video/webm;codecs=vp8')) { + var options = { + mimeType: 'video/webm;codecs=vp9,opus' + } + } else if (MediaRecorder.isTypeSupported('video/webm;codecs=vp9')) { + var options = { + mimeType:'video/webm;codecs=vp9,opus' + }; + } else if (MediaRecorder.isTypeSupported('video/webm;codecs=h264')) { + var options = { + mimeType:'video/webm;codecs=h264,opus' + }; + } + } + + if(!MediaRecorder.isTypeSupported(options.mimeType)){ // 判断录制的视频 mimeType 格式浏览器是否支持 + return; + } + + try{ // 防止录制异常 + // 5、先在上面定义全局对象mediaRecorder,以便于后面停止录制的时候可以用到 + mediaRecorder = new MediaRecorder(window.stream, options); // 调用录制API // window.stream在gotMediaStream中获取 + //4、调用事件 这个事件处理函数里面就会收到我们录制的那块数据 当我们收集到这个数据之后我们应该把它存储起来 + mediaRecorder.ondataavailable = handleDataAvailable; + mediaRecorder.start(0); // start方法里面传入一个时间片,每隔一个 时间片存储 一块数据 + }catch(e){ + console.error(e); + return; + } + } + + //停止录制 + function stopRecord(){ + //6、调用停止录制 + try{ + mediaRecorder.stop(); + }catch(e){ + console.error(e); + } + $(".startRecording").attr("state","open"); + $(".startRecording").attr("src","images/startRecording.png"); + $(this).attr("title","开始录像"); + layer.msg('录像已保存', { + time: false, //20s后自动关闭 + btn: ['知道了'] + }); + + $(".inTheVideo").css("display","none"); + var tmpBlob = new Blob(buffer, {type: 'video/webm'}); + var duration=endTimeStamp-startTimeStamp; + //调用设置时长代码。该函数基于fix-webm-duration.js + ysFixWebmDuration(tmpBlob, duration, function (fixedBlob) { + var recorderFile = fixedBlob; + let name =`${mdDeviceName}(${videotapeStartTime}---${videotapeEndTime}).mp4`; + var url = window.URL.createObjectURL(recorderFile); + var a = document.createElement('a'); + a.href = url; + a.style.display = 'none'; + a.download = name; + a.click(); + }); + } + //构建rtm发送对象 + function getRtmData(title,data){ + return { + "title":title, + "sender":loginUserName, + "department":"", + "scope":"", + "receiver":[rtmName], + "video":"", + "rtm":(new Date().getTime()).toString(), + "data":data, + "userScope":"", + "userBragide":"", + "userDetachchment":"", + "userBorough":"", + "name":"", + } + } + + //发送mqqt接口数据 + function sendMqttData(obj){ + var mqttObj={ + "topic":`${station}/ter_cmd`, + "message":JSON.stringify(obj) + } + $.ajax({ + url: mqttUrl, + type: "post", + dataType: "json", + headers: { + "Content-Type": "application/json;charset=utf-8" + }, + data: JSON.stringify(mqttObj), + success: function(d) { + //console.error(d); + } + }) + } +} \ No newline at end of file diff --git a/public/rtc/js/moveDeviceVideoOne.js b/public/rtc/js/moveDeviceVideoOne.js new file mode 100644 index 00000000..86598b83 --- /dev/null +++ b/public/rtc/js/moveDeviceVideoOne.js @@ -0,0 +1,798 @@ +import {timestampFormat,getParams,fullScreen,exitFullscreen} from "./timestampFormat.js"; +import { mqttUrl } from "../config/url.js"; +window.onload=function(){ + var locationUrl=window.location.href; + var slider,sliderInit,layer; + layui.use(['slider','layer'], function(){ + slider= layui.slider; + layer = layui.layer; + }); + var sizeLevel=0;//放大等级 + var videotapeStartTime="";//录像开始时间 + var videotapeEndTime="";//录像结束时间 + var startTimeStamp=""; + var endTimeStamp=""; + var bApplySign = false; + var applyPage=false; + var keyCode = 32; + var videoTime=60000*12000; + var cdTimeCountFlag="video";//video跟videotape + var cdTimeCount=videoTime; + var countDownTimer=null; + var channelValue=decodeURI(getParams("id")); + var mdDeviceName=decodeURI(getParams("mdDeviceName")); + var station=decodeURI(getParams("station")); + var title=decodeURI(getParams("mdDeviceName")); + var loginUserName=decodeURI(getParams("username")); + var power=decodeURI(getParams("power")); + var rtmName=channelValue; + var client=null; + var buffer=[]; + var mediaRecorder =null; + var videoTimer=null; + var options = { + appid: "78846e9910a846688ab959e0f87034e5", + channel: channelValue, + uid: '', + token: null + }; + var client=AgoraRTC.createClient({mode: 'live',codec: "vp8"}); + var remoteUsers = {}; + let localTracks = { + audioTrack: true + }; + $("html>head>title").html(title); + videoJoin(); + setPower(power); + function setPower(power){ + if(power=="null"){ + power=0; + } + if(power>=90){ + var img="images/power100.png"; + }else if(power>=70){ + var img="images/power80.png"; + }else if(power>=50){ + var img="images/power60.png"; + }else if(power>=30){ + var img="images/power40.png"; + }else if(power>=10){ + var img="images/power20.png"; + }else{ + var img="images/power0.png"; + } + $(".power>span").html(power+"%"); + $(".power>img").attr("src",img); + } + + function closePage(){ + leaveChannel();//我先离开频道 + var obj=getRtmData("videoclose","");//在去关闭 + sendMqttData(obj); + window.close(); + } + + async function leaveChannel() { + // leave the channel + await client.leave(); + } + + //关闭并退出 + $(".videoNav>.nav>img:nth-child(1)").click(function(){ + var param = { + "sender":"children", + "receiver":"parent", + "deviceid":channelValue, + "cmd":"closePage" + }; + window.parent.postMessage(param,'*'); + closePage(); + }) + + window.addEventListener('message', function(e) { + var data=e.data + var cmd=data["cmd"]; + var deviceid=data["deviceid"] + if(cmd=="videoclose"){ + if(channelValue==deviceid){ + closePage(); + } + } + }) + + //如果在全屏 + function confClosePage(){ + var url=window.location.href; + if(url.indexOf("fullScreenVideo")==-1){ + closePage(); + } + } + + + + window.onbeforeunload=function(e){ + if(locationUrl.indexOf("videoMoitorShow")==-1){ + confClosePage(); + } + } + + window.onresize = function () { + var w=parseFloat(window.innerWidth); + var h=parseFloat(window.innerHeight - 40); + switch(sizeLevel){ + case 1: + setVideoSize1280(w,h); + break; + case 2: + setVideoSize720(w,h); + break; + case 3: + setVideoSize480(w,h); + break; + case 4: + setVideoSize640(w,h); + break; + default: + break; + } + } + + //1280*720 + function setVideoSize1280(w,h){ + var f=parseFloat(h/w); + if(f >= 0.5625){ + var width=w; + var height=width*0.5625; + var x= 0; + var y=parseFloat(h-height)/2; + }else{ + var height=h; + var width=(height*16)/9; + var x=parseFloat(w-width)/2; + var y= 0; + } + setPageSize(x,y,width,height) + } + + //720*1280 + function setVideoSize720(w,h){ + var f=parseFloat(w/h); + if(f>0.5625){ + var height=h; + var width=h*0.5625; + var x=parseFloat(w-width)/2; + var y=0; + }else{ + var width=w; + var height=(w*16)/9; + var x=0; + var y=parseFloat(h-height)/2;; + } + setPageSize(x,y,width,height) + } + + + //480*640 + function setVideoSize480(w,h){//宽度是480px;height:640px; + var f=parseFloat(w/h); + if(f>0.75){ + var height=h; + var width=h*0.75; + var x=parseFloat(w-width)/2; + var y=0; + }else{ + var width=w; + var height=(w*4)/3; + var x=0; + var y=parseFloat(h-height)/2;; + } + setPageSize(x,y,width,height) + } + + //640*480 + function setVideoSize640(w,h){ + var f=parseFloat(h/w); + if(f >= 0.75){ + var width=w; + var height=width*0.75; + var x= 0; + var y=parseFloat(h-height)/2; + }else{ + var height=h; + var width=(height*4)/3; + var x=parseFloat(w-width)/2; + var y= 0; + } + setPageSize(x,y,width,height) + } + + + + function setPageSize(x,y,width,height){ + $("#video").css("width",width+"px"); + $("#video").css("height",height+"px"); + $("#video").css("left",x); + $("#video").css("top",y); + } + + $(".videoFullscreen").unbind('click'); + $(".videoFullscreen").click(function(){ + + console.log(123456); + + var url=window.location.href; + if(url.indexOf("alarmDeviceVideo")!=-1){ + //投一个新的屏幕出去 + var width=1280; + var height=760; + window.open("fullScreenVideo.html?id="+encodeURI(channelValue)+"&power="+encodeURI(power)+"&mdDeviceName="+encodeURI(encodeURI(mdDeviceName))+"&station="+encodeURI(encodeURI(station))+"&title="+encodeURI(encodeURI(title))+"&username="+loginUserName,"","width="+width+",height="+height+",top=0,left=0"); + }else{ + var model=$(this).attr("model"); + if(model=="exitfullScreen"){ + fullScreen() + $(this).attr("src","images/videoExitFullscreen.png").attr("model","fullScreen").attr("title","退出全屏") + }else{ + exitFullscreen() + $(this).attr("src","images/videoFullscreen.png").attr("model","exitfullScreen").attr("title","全屏"); + } + } + }) + + //打开声音 + function openMute(select){ + $(select).attr("src","images/openMute.png"); + $(select).attr("title","音量"); + $(select).attr("mute","open"); + } + + //关闭声音 + function closeMute(select){ + $(select).attr("src","images/closeMute.png"); + $(select).attr("title","静音"); + $(select).attr("mute","close"); + } + + //初始化声音 + function videoSlideInit(){ + sliderInit=slider.render({ + elem: '#slideTest1', + change: function(value){ + var select=$(".closeMute"); + if(value==0){ + closeMute(select); + }else{ + openMute(select); + } + setRemoteUserMute(value*10); + } + }); + } + + function setRemoteUserMute(value){ + for(var user in remoteUsers){ + remoteUsers[user].audioTrack.setVolume(value); + } + } + + let cameraid=0; + let rotateid=0; + //摄像图的操作 + $(".carmeOper").on('click',function(){ + rotateid=parseInt($(this).attr("rotate")); + $(".carmeOper").removeClass("bgColor"); + $(this).addClass("bgColor") + sendCarmeOper(); + }) + + //摄像头的方向调整 + $(".carmeDir").on('click',function(){ + let dir=$(this).attr("dir"); + cameraid=dir; + if(dir=="0"){ + $(this).attr("dir","1"); + $(this).html("后"); + }else{ + $(this).attr("dir","0"); + $(this).html("前"); + } + sendCarmeOper(); + }) + + function sendCarmeOper(){ + var obj=getRtmData("videoclose",""); + sendMqttData(obj); + setTimeout(()=>{ + let data={ + "rtmpflag":0, + "camera":cameraid, + "rotation":rotateid + } + var obj=getRtmData("videocall",JSON.stringify(data)); + sendMqttData(obj); + videoInfoWind(); + },4000) + } + + //调节音量大小 + $(".closeMute").click(function(){ + var mute=$(this).attr("mute"); + if(mute=="open"){ + setRemoteUserMute(0) + sliderInit.setValue(0) //设置开始值 + closeMute(this); + }else{ + setRemoteUserMute(1000) + sliderInit.setValue(100) //设置开始值 + openMute(this); + } + }) + + async function videoJoin() { + //订阅用户推送流 + client.on("user-published", handleUserPublished); + //订阅用户取消推流 + client.on("user-unpublished", handleUserUnpublished); + try { + // join a channel and create local tracks, we can use Promise.all to run them concurrently + [ options.uid] = await Promise.all([ + // join the channel + client.join(options.appid, options.channel, options.token || null), + ]); + } catch (e) { + console.log("加入频道失败", e); + } + // 使用 Web SDK 4.x,服务器频道禁用以后,客服端需要退出页面跟频道 + client.on("connection-state-change", (curState, prevState) => { + closePage(); + }); + } + + async function subscribe(user, mediaType) { + const uid = user.uid; + // subscribe to a remote user + await client.subscribe(user, mediaType); + if (mediaType === 'video') { + const player = $(` +
+ `); + $("#agora_local").append(player); + user.videoTrack.play(`player-${uid}`); + //设置视频数据 + setVideoData(); + //初始化视频的尺寸 + videoInfoWind(); + + + setInterval(function(){ + var obj=getRtmData("videowatching",""); + sendMqttData(obj) + //每隔1分钟发送发送1个不关闭视频的指令 + },60000) + + } + if(mediaType === 'audio'){ + setRemoteUserMute(0); + //初始化音量 + videoSlideInit(); + user.audioTrack.play(); + } + } + + + function handleUserPublished(user, mediaType) { + const id = user.uid; + remoteUsers[id] = user; + subscribe(user, mediaType); + } + + function handleUserUnpublished(user) { + const id = user.uid; + delete remoteUsers[id]; + $(`#player-wrapper-${id}`).remove(); + } + + + function setVideoData(){ + setInterval(()=>{ + var evt=client.getRemoteVideoStats(); + if(JSON.stringify(evt)!="{}"){ + for(var j in evt){ + var packetLossRate=evt[j]["packetLossRate"] + var receiveBitrate=parseFloat(evt[j]["receiveBitrate"]/1024).toFixed(2); + var receiveFrameRate=evt[j]["receiveFrameRate"] + var totalDuration=evt[j]["totalDuration"] + var totalFreezeTime=evt[j]["totalFreezeTime"] + var transportDelay=evt[j]["transportDelay"] + $(".PacketLossRate").html(packetLossRate); + $(".RecvBitrate").html(receiveBitrate); + $(".RenderFrameRate").html(receiveFrameRate); + $(".TotalPlayDuration").html(totalDuration); + $(".TotalFreezeTime").html(totalFreezeTime); + $(".TransportDelay").html(transportDelay); + } + } + },1000) + } + + function videoInfoWind(){ + videoTimer=setInterval(() => { + var evt=client.getRemoteVideoStats(); + if(JSON.stringify(evt)!="{}"){ + for(var i in evt){ + if("receiveResolutionHeight" in evt[i]){ + var RecvResolutionHeight=evt[i]["receiveResolutionHeight"]; + } + if("receiveResolutionWidth" in evt[i]){ + var RecvResolutionWidth=evt[i]["receiveResolutionWidth"]; + } + if((RecvResolutionWidth!="0"&&RecvResolutionHeight!="0")&&(RecvResolutionWidth!=undefined&&RecvResolutionHeight!=undefined)){ + clearInterval(videoTimer); + var width=RecvResolutionWidth; + var height=parseFloat(RecvResolutionHeight); + if(RecvResolutionWidth=="1280"&&RecvResolutionHeight=="720"){ + sizeLevel=1; + setVideoSize1280(width*0.5,height*0.5); + window.resizeTo(width,height); + }else if(RecvResolutionWidth=="720"&&RecvResolutionHeight=="1280"){ + if(window.screen.height+200<=height){ + width=width*0.8; + height=height*0.8; + } + sizeLevel=2; + setVideoSize720(width*0.5,height*0.5); + window.resizeTo(width,height); + }else if(RecvResolutionWidth=="480"&&RecvResolutionHeight=="640"){ + sizeLevel=3; + setVideoSize480(width*0.5,height*0.5); + window.resizeTo("496","750"); + }else if(RecvResolutionWidth=="640"&&RecvResolutionHeight=="480"){ + sizeLevel=4; + setVideoSize640(width*0.5,height*0.5); + window.resizeTo(RecvResolutionWidth,RecvResolutionHeight); + } + var param={ + "deviceid":channelValue, + "cmd":"videoloadedSuccess" + } + parent.postMessage(param,'*'); + //启动倒计时 + downTime30(); + } + } + } + },1000) + } + + //设置stream + function setRecStream(){ + let mediaStream = new MediaStream(); + for(var user in remoteUsers){ + mediaStream.addTrack(remoteUsers[user].videoTrack.getMediaStreamTrack()) + mediaStream.addTrack(remoteUsers[user].audioTrack.getMediaStreamTrack()) + } + window.stream=mediaStream; + } + + //开启远程录像 + $(".startRecording").unbind(); + $(".startRecording").click(function(){ + var recordState=$(this).attr("state"); + if(recordState=="open"){ + setRecStream(); + startRecord(); + startTimeStamp=new Date().getTime(); + videotapeStartTime=timestampFormat(); + $(this).attr("state","close"); + $(this).attr("src","images/endRecording.png"); + $(this).attr("title","结束录像"); + layer.msg("录像开启成功"); + $(".inTheVideo").css("display","block"); + cdTimeCountFlag="videotape"; + downTime30(); + }else{ + endTimeStamp=new Date().getTime(); + videotapeEndTime=timestampFormat(); + stopRecord(); + cdTimeCount=videoTime; + clearInterval(countDownTimer); + countDownTimer=null; + cdTimeCountFlag="video"; + } + }) + + //视频信息 + $(".videoReInfo").on('click',function(){ + var state=$(this).attr("state"); + if(state=="close"){ + $(this).attr("state","open"); + $(".videoInfo").css("display","block"); + + + }else{ + $(this).attr("state","close"); + $(".videoInfo").css("display","none"); + } + }) + + async function setClientHost(){ + //设置成主播 + await client.setClientRole("host"); + try { + // join a channel and create local tracks, we can use Promise.all to run them concurrently + [localTracks.audioTrack] = await Promise.all([ + // create local tracks, using microphone and camera + AgoraRTC.createMicrophoneAudioTrack() + ]); + await client.publish(Object.values(localTracks)); + } catch (e) { + console.log("加入频道失败", e); + } + } + async function setClientAudience(){ + //先调用取消发布,在设置成观众 + await client.unpublish(Object.values(localTracks)); + await client.setClientRole("audience"); + } + + //开启对讲 + $(".videoWalk").unbind(); + $(".videoWalk").click(function(){ + var state=$(this).attr("state"); + if(state=="close"){ + //开启 + $(this).attr("state","open"); + $(this).attr("src","images/videoWalkOnline.png"); + applyPage=true; + bApplySign=true; + setClientHost(); + }else{ + applyPage=false; + bApplySign=false; + //关闭 + $(this).attr("state","close"); + $(this).attr("src","images/videoWalk.png"); + setClientAudience(); + } + }) + + //键盘松开 + document.onkeyup = function (event) { + var e = event || window.event || arguments.callee.caller.arguments[0]; + if(applyPage){ + if(e && e.keyCode == keyCode&&!bApplySign) { + bApplySign = true; + //关闭麦克风 + localTracks.audioTrack.setEnabled(false); + //开启远程的声音 + setRemoteUserMute(100); + var select=$(".closeMute"); + openMute(select); + sliderInit.setValue(100) //设置开始值 + } + } + } + + //键盘按下 + document.onkeydown = function (event) { + var e = event || window.event || arguments.callee.caller.arguments[0]; + if(applyPage){ + if(e && e.keyCode == keyCode&&bApplySign) { + bApplySign = false; + //启用麦克风 + localTracks.audioTrack.setEnabled(true); + //关闭远程的声音 + setRemoteUserMute(0); + //页面状态改变 + sliderInit.setValue(0) //设置开始值 + var select=$(".closeMute"); + closeMute(select); + } + } + } + + //截图,并且把图片保存在云端 + $(".videoImg").click(function(){ + var video=document.querySelector(".agora_video_player"); + var canvas=document.getElementById('canvas'); + if(video!=null){ + $(".canvasImg").css("display","block"); + canvas.width=video.videoWidth; + canvas.height=video.videoHeight; + canvas.getContext('2d').drawImage(video,0,0,canvas.width,canvas.height); + var image = canvas . toDataURL ("image/png") ; + $(".canvasImgBox").css("width",canvas.width*0.3+"px"); + $(".canvasImgBox").css("height",canvas.height*0.3+"px"); + document.getElementById("save").href=image; + document.getElementById("save").download=mdDeviceName+".jpg"; + document.getElementById('save').onclick=function(){ + + $(".canvasImg").css("display","none"); + } + document.getElementById('cancel').onclick=function(){ + $(".canvasImg").css("display","none"); + } + }else{ + layer.msg("用户已离开,无法截图"); + } + }) + + function closeVideoStream(){ + var obj=getRtmData("videoclose","");//在去关闭 + sendMqttData(obj); + } + + + + //倒计时30分钟以后关闭录像,告诉用户,录像已经完成 + /*************************观看视频为5分钟1次,如果不点击确定,就会关闭***********************************/ + function downTime30(){ + if(countDownTimer!=null){ + clearInterval(countDownTimer); + }else{ + countDownTimer=setInterval(function(){ + cdTimeCount-=1000; + if(cdTimeCount<=0){ + clearInterval(countDownTimer); + countDownTimer=null; + if(cdTimeCountFlag=="videotape"){ + endTimeStamp=new Date().getTime(); + videotapeEndTime=timestampFormat(); + stopRecord(); + }else{ + //倒计时 + showCountDownTimer(); + } + } + },1000); + } + } + + //倒计时******************************************* + var closeTime=10;//倒计时 + var closePageTimer=null; + function showCountDownTimer(){ + $(".videoTitle").css("display","block"); + $(".close_ing_time").html(closeTime); + videoTitleEvent(); + closePageTimer=setInterval(function(){ + closeTime--; + $(".close_ing_time").html(closeTime); + if(closeTime<=0){ + closeVideoStream();//发送关闭指令 + leaveChannel();//离开频道 + clearInterval(closePageTimer);//退出定时器 + } + },1000); + } + + function videoTitleEvent(){ + $(".videoTitle>p:last-child>button:nth-child(1)").on('click',function(){ + var obj=getRtmData("videocall","");//在去关闭 + sendMqttData(obj); + $(".videoTitle").css("display","none"); + clearInterval(closePageTimer); + closePageTimer=null; + closeTime=10; + cdTimeCount=videoTime; + //再次加入频道 + videoJoin() + downTime30() + }) + $(".videoTitle>p:last-child>button:nth-child(2)").on('click',function(){ + closePage(); + }) + } + + function handleDataAvailable(e){ // 5、获取数据的事件函数 当我们点击录制之后,数据就会源源不断的从这个事件函数中获取到 + if(e && e.data && e.data.size > 0){ + console.log(e.data); + buffer.push(e.data); // 将e.data放入二进制数组里面 + // 这个buffer应该是我们在开始录制的时候创建这个buffer + } + } + + //开始录像 + function startRecord(){ + buffer = []; // 定义数组 + if (typeof MediaRecorder.isTypeSupported == 'function') { + if (MediaRecorder.isTypeSupported('video/webm;codecs=vp8')) { + var options = { + mimeType: 'video/webm;codecs=vp9,opus' + } + } else if (MediaRecorder.isTypeSupported('video/webm;codecs=vp9')) { + var options = { + mimeType:'video/webm;codecs=vp9,opus' + }; + } else if (MediaRecorder.isTypeSupported('video/webm;codecs=h264')) { + var options = { + mimeType:'video/webm;codecs=h264,opus' + }; + } + } + + if(!MediaRecorder.isTypeSupported(options.mimeType)){ // 判断录制的视频 mimeType 格式浏览器是否支持 + return; + } + + try{ // 防止录制异常 + // 5、先在上面定义全局对象mediaRecorder,以便于后面停止录制的时候可以用到 + mediaRecorder = new MediaRecorder(window.stream, options); // 调用录制API // window.stream在gotMediaStream中获取 + //4、调用事件 这个事件处理函数里面就会收到我们录制的那块数据 当我们收集到这个数据之后我们应该把它存储起来 + mediaRecorder.ondataavailable = handleDataAvailable; + mediaRecorder.start(0); // start方法里面传入一个时间片,每隔一个 时间片存储 一块数据 + }catch(e){ + console.error(e); + return; + } + } + + //停止录制 + function stopRecord(){ + //6、调用停止录制 + try{ + mediaRecorder.stop(); + }catch(e){ + console.error(e); + } + $(".startRecording").attr("state","open"); + $(".startRecording").attr("src","images/startRecording.png"); + $(this).attr("title","开始录像"); + layer.msg('录像已保存', { + time: false, //20s后自动关闭 + btn: ['知道了'] + }); + + $(".inTheVideo").css("display","none"); + var tmpBlob = new Blob(buffer, {type: 'video/webm'}); + var duration=endTimeStamp-startTimeStamp; + //调用设置时长代码。该函数基于fix-webm-duration.js + ysFixWebmDuration(tmpBlob, duration, function (fixedBlob) { + var recorderFile = fixedBlob; + let name =`${mdDeviceName}(${videotapeStartTime}---${videotapeEndTime}).mp4`; + var url = window.URL.createObjectURL(recorderFile); + var a = document.createElement('a'); + a.href = url; + a.style.display = 'none'; + a.download = name; + a.click(); + }); + } + //构建rtm发送对象 + function getRtmData(title,data){ + return { + "title":title, + "sender":loginUserName, + "department":"", + "scope":"", + "receiver":[rtmName], + "video":"", + "rtm":(new Date().getTime()).toString(), + "data":data, + "userScope":"", + "userBragide":"", + "userDetachchment":"", + "userBorough":"", + "name":"", + } + } + + //发送mqqt接口数据 + function sendMqttData(obj){ + var mqttObj={ + "topic":`${station}/ter_cmd`, + "message":JSON.stringify(obj) + } + $.ajax({ + url: mqttUrl, + type: "post", + dataType: "json", + headers: { + "Content-Type": "application/json;charset=utf-8" + }, + data: JSON.stringify(mqttObj), + success: function(d) { + //console.error(d); + } + }) + } +} \ No newline at end of file diff --git a/public/rtc/js/timestampFormat.js b/public/rtc/js/timestampFormat.js new file mode 100644 index 00000000..ddce9bd0 --- /dev/null +++ b/public/rtc/js/timestampFormat.js @@ -0,0 +1,68 @@ +export function timestampFormat(){ + var currentTime = new Date(); + var year = currentTime.getFullYear(); + var getMonth = (currentTime.getMonth()) + 1; + var getDate = currentTime.getDate(); + var getHours = currentTime.getHours(); + var getMinutes = currentTime.getMinutes(); + var getSeconds = currentTime.getSeconds(); + if(getMonth < 10) { + getMonth = "0" + getMonth; + } + if(getDate < 10) { + getDate = "0" + getDate; + } + if(getHours < 10) { + getHours = "0" + getHours; + } + if(getMinutes < 10) { + getMinutes = "0" + getMinutes; + } + if(getSeconds < 10) { + getSeconds = "0" + getSeconds; + } + return year + "年" + getMonth + "月" + getDate + "日" + getHours + "时" + getMinutes + "分" + getSeconds+"秒"; +} + +//接受url的值,进行解析 +export function getParams(key) { + var reg = new RegExp("(^|&)" + key + "=([^&]*)(&|$)"); + var r = window.location.search.substr(1).match(reg); + if (r != null) { + return unescape(r[2]); + } + return null; +}; + +//全屏 +export function fullScreen() { + var element = document.documentElement; + if (element.requestFullscreen) { + element.requestFullscreen(); + } else if (element.msRequestFullscreen) { + element.msRequestFullscreen(); + } else if (element.mozRequestFullScreen) { + element.mozRequestFullScreen(); + } else if (element.webkitRequestFullscreen) { + element.webkitRequestFullscreen(); + } +} + +//退出全屏 +export function exitFullscreen() { + if (document.exitFullscreen) { + document.exitFullscreen(); + } else if (document.msExitFullscreen) { + document.msExitFullscreen(); + } else if (document.mozCancelFullScreen) { + document.mozCancelFullScreen(); + } else if (document.webkitExitFullscreen) { + document.webkitExitFullscreen(); + } +} + + + + + + diff --git a/public/rtc/layui.css b/public/rtc/layui.css new file mode 100644 index 00000000..e922fb03 --- /dev/null +++ b/public/rtc/layui.css @@ -0,0 +1 @@ +blockquote,body,button,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,input,li,ol,p,pre,td,textarea,th,ul{margin:0;padding:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}a:active,a:hover{outline:0}img{display:inline-block;border:none;vertical-align:middle}li{list-style:none}table{border-collapse:collapse;border-spacing:0}h1,h2,h3,h4{font-weight:700}h5,h6{font-weight:500;font-size:100%}button,input,select,textarea{font-size:100%}button,input,optgroup,option,select,textarea{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;outline:0}pre{white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}body{line-height:1.6;color:#333;color:rgba(0,0,0,.85);font:14px Helvetica Neue,Helvetica,PingFang SC,Tahoma,Arial,sans-serif}hr{height:0;line-height:0;margin:10px 0;padding:0;border:none;border-bottom:1px solid #eee;clear:both;overflow:hidden;background:0 0}a{color:#333;text-decoration:none}a:hover{color:#777}a cite{font-style:normal;*cursor:pointer}.layui-border-box,.layui-border-box *{box-sizing:border-box}.layui-box,.layui-box *{box-sizing:content-box}.layui-clear{clear:both;*zoom:1}.layui-clear:after{content:'\20';clear:both;*zoom:1;display:block;height:0}.layui-clear-space{word-spacing:-5px}.layui-inline{position:relative;display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.layui-edge{position:relative;display:inline-block;vertical-align:middle;width:0;height:0;border-width:6px;border-style:dashed;border-color:transparent;overflow:hidden}.layui-edge-top{top:-4px;border-bottom-color:#999;border-bottom-style:solid}.layui-edge-right{border-left-color:#999;border-left-style:solid}.layui-edge-bottom{top:2px;border-top-color:#999;border-top-style:solid}.layui-edge-left{border-right-color:#999;border-right-style:solid}.layui-elip{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-disabled,.layui-icon,.layui-unselect{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.layui-disabled,.layui-disabled:hover{color:#d2d2d2!important;cursor:not-allowed!important}.layui-circle{border-radius:100%}.layui-show{display:block!important}.layui-hide{display:none!important}.layui-show-v{visibility:visible!important}.layui-hide-v{visibility:hidden!important}@font-face{font-family:layui-icon;src:url(../font/iconfont.eot?v=282);src:url(../font/iconfont.eot?v=282#iefix) format('embedded-opentype'),url(../font/iconfont.woff2?v=282) format('woff2'),url(../font/iconfont.woff?v=282) format('woff'),url(../font/iconfont.ttf?v=282) format('truetype'),url(../font/iconfont.svg?v=282#layui-icon) format('svg')}.layui-icon{font-family:layui-icon!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layui-icon-leaf:before{content:"\e701"}.layui-icon-folder:before{content:"\eabe"}.layui-icon-folder-open:before{content:"\eac1"}.layui-icon-gitee:before{content:"\e69b"}.layui-icon-github:before{content:"\e6a7"}.layui-icon-disabled:before{content:"\e6cc"}.layui-icon-moon:before{content:"\e6c2"}.layui-icon-error:before{content:"\e693"}.layui-icon-success:before{content:"\e697"}.layui-icon-question:before{content:"\e699"}.layui-icon-lock:before{content:"\e69a"}.layui-icon-eye:before{content:"\e695"}.layui-icon-eye-invisible:before{content:"\e696"}.layui-icon-backspace:before{content:"\e694"}.layui-icon-tips-fill:before{content:"\eb2e"}.layui-icon-test:before{content:"\e692"}.layui-icon-clear:before{content:"\e788"}.layui-icon-heart-fill:before{content:"\e68f"}.layui-icon-light:before{content:"\e748"}.layui-icon-music:before{content:"\e690"}.layui-icon-time:before{content:"\e68d"}.layui-icon-ie:before{content:"\e7bb"}.layui-icon-firefox:before{content:"\e686"}.layui-icon-at:before{content:"\e687"}.layui-icon-bluetooth:before{content:"\e689"}.layui-icon-chrome:before{content:"\e68a"}.layui-icon-edge:before{content:"\e68b"}.layui-icon-heart:before{content:"\e68c"}.layui-icon-key:before{content:"\e683"}.layui-icon-android:before{content:"\e684"}.layui-icon-mike:before{content:"\e6dc"}.layui-icon-mute:before{content:"\e685"}.layui-icon-gift:before{content:"\e627"}.layui-icon-windows:before{content:"\e67f"}.layui-icon-ios:before{content:"\e680"}.layui-icon-logout:before{content:"\e682"}.layui-icon-wifi:before{content:"\e7e0"}.layui-icon-rss:before{content:"\e808"}.layui-icon-email:before{content:"\e618"}.layui-icon-reduce-circle:before{content:"\e616"}.layui-icon-transfer:before{content:"\e691"}.layui-icon-service:before{content:"\e626"}.layui-icon-addition:before{content:"\e624"}.layui-icon-subtraction:before{content:"\e67e"}.layui-icon-slider:before{content:"\e714"}.layui-icon-print:before{content:"\e66d"}.layui-icon-export:before{content:"\e67d"}.layui-icon-cols:before{content:"\e610"}.layui-icon-screen-full:before{content:"\e622"}.layui-icon-screen-restore:before{content:"\e758"}.layui-icon-rate-half:before{content:"\e6c9"}.layui-icon-rate-solid:before{content:"\e67a"}.layui-icon-rate:before{content:"\e67b"}.layui-icon-cellphone:before{content:"\e678"}.layui-icon-vercode:before{content:"\e679"}.layui-icon-login-weibo:before{content:"\e675"}.layui-icon-login-qq:before{content:"\e676"}.layui-icon-login-wechat:before{content:"\e677"}.layui-icon-username:before{content:"\e66f"}.layui-icon-password:before{content:"\e673"}.layui-icon-refresh-3:before{content:"\e9aa"}.layui-icon-auz:before{content:"\e672"}.layui-icon-shrink-right:before{content:"\e668"}.layui-icon-spread-left:before{content:"\e66b"}.layui-icon-snowflake:before{content:"\e6b1"}.layui-icon-tips:before{content:"\e702"}.layui-icon-note:before{content:"\e66e"}.layui-icon-senior:before{content:"\e674"}.layui-icon-refresh-1:before{content:"\e666"}.layui-icon-refresh:before{content:"\e669"}.layui-icon-flag:before{content:"\e66c"}.layui-icon-theme:before{content:"\e66a"}.layui-icon-notice:before{content:"\e667"}.layui-icon-console:before{content:"\e665"}.layui-icon-website:before{content:"\e7ae"}.layui-icon-face-surprised:before{content:"\e664"}.layui-icon-set:before{content:"\e716"}.layui-icon-template:before{content:"\e663"}.layui-icon-app:before{content:"\e653"}.layui-icon-template-1:before{content:"\e656"}.layui-icon-home:before{content:"\e68e"}.layui-icon-female:before{content:"\e661"}.layui-icon-male:before{content:"\e662"}.layui-icon-tread:before{content:"\e6c5"}.layui-icon-praise:before{content:"\e6c6"}.layui-icon-rmb:before{content:"\e65e"}.layui-icon-more:before{content:"\e65f"}.layui-icon-camera:before{content:"\e660"}.layui-icon-cart-simple:before{content:"\e698"}.layui-icon-face-cry:before{content:"\e69c"}.layui-icon-face-smile:before{content:"\e6af"}.layui-icon-survey:before{content:"\e6b2"}.layui-icon-read:before{content:"\e705"}.layui-icon-location:before{content:"\e715"}.layui-icon-dollar:before{content:"\e659"}.layui-icon-diamond:before{content:"\e735"}.layui-icon-return:before{content:"\e65c"}.layui-icon-camera-fill:before{content:"\e65d"}.layui-icon-fire:before{content:"\e756"}.layui-icon-more-vertical:before{content:"\e671"}.layui-icon-cart:before{content:"\e657"}.layui-icon-star-fill:before{content:"\e658"}.layui-icon-prev:before{content:"\e65a"}.layui-icon-next:before{content:"\e65b"}.layui-icon-upload:before{content:"\e67c"}.layui-icon-upload-drag:before{content:"\e681"}.layui-icon-user:before{content:"\e770"}.layui-icon-file-b:before{content:"\e655"}.layui-icon-component:before{content:"\e857"}.layui-icon-find-fill:before{content:"\e670"}.layui-icon-loading:before{content:"\e63d"}.layui-icon-loading-1:before{content:"\e63e"}.layui-icon-add-1:before{content:"\e654"}.layui-icon-pause:before{content:"\e651"}.layui-icon-play:before{content:"\e652"}.layui-icon-video:before{content:"\e6ed"}.layui-icon-headset:before{content:"\e6fc"}.layui-icon-voice:before{content:"\e688"}.layui-icon-speaker:before{content:"\e645"}.layui-icon-fonts-del:before{content:"\e64f"}.layui-icon-fonts-html:before{content:"\e64b"}.layui-icon-fonts-code:before{content:"\e64e"}.layui-icon-fonts-strong:before{content:"\e62b"}.layui-icon-unlink:before{content:"\e64d"}.layui-icon-picture:before{content:"\e64a"}.layui-icon-link:before{content:"\e64c"}.layui-icon-face-smile-b:before{content:"\e650"}.layui-icon-align-center:before{content:"\e647"}.layui-icon-align-right:before{content:"\e648"}.layui-icon-align-left:before{content:"\e649"}.layui-icon-fonts-u:before{content:"\e646"}.layui-icon-fonts-i:before{content:"\e644"}.layui-icon-tabs:before{content:"\e62a"}.layui-icon-circle:before{content:"\e63f"}.layui-icon-radio:before{content:"\e643"}.layui-icon-share:before{content:"\e641"}.layui-icon-edit:before{content:"\e642"}.layui-icon-delete:before{content:"\e640"}.layui-icon-engine:before{content:"\e628"}.layui-icon-chart-screen:before{content:"\e629"}.layui-icon-chart:before{content:"\e62c"}.layui-icon-table:before{content:"\e62d"}.layui-icon-tree:before{content:"\e62e"}.layui-icon-upload-circle:before{content:"\e62f"}.layui-icon-templeate-1:before{content:"\e630"}.layui-icon-util:before{content:"\e631"}.layui-icon-layouts:before{content:"\e632"}.layui-icon-prev-circle:before{content:"\e633"}.layui-icon-carousel:before{content:"\e634"}.layui-icon-code-circle:before{content:"\e635"}.layui-icon-water:before{content:"\e636"}.layui-icon-date:before{content:"\e637"}.layui-icon-layer:before{content:"\e638"}.layui-icon-fonts-clear:before{content:"\e639"}.layui-icon-dialogue:before{content:"\e63a"}.layui-icon-cellphone-fine:before{content:"\e63b"}.layui-icon-form:before{content:"\e63c"}.layui-icon-file:before{content:"\e621"}.layui-icon-triangle-r:before{content:"\e623"}.layui-icon-triangle-d:before{content:"\e625"}.layui-icon-set-sm:before{content:"\e620"}.layui-icon-add-circle:before{content:"\e61f"}.layui-icon-layim-download:before{content:"\e61e"}.layui-icon-layim-uploadfile:before{content:"\e61d"}.layui-icon-404:before{content:"\e61c"}.layui-icon-about:before{content:"\e60b"}.layui-icon-layim-theme:before{content:"\e61b"}.layui-icon-down:before{content:"\e61a"}.layui-icon-up:before{content:"\e619"}.layui-icon-circle-dot:before{content:"\e617"}.layui-icon-set-fill:before{content:"\e614"}.layui-icon-search:before{content:"\e615"}.layui-icon-friends:before{content:"\e612"}.layui-icon-group:before{content:"\e613"}.layui-icon-reply-fill:before{content:"\e611"}.layui-icon-menu-fill:before{content:"\e60f"}.layui-icon-face-smile-fine:before{content:"\e60c"}.layui-icon-picture-fine:before{content:"\e60d"}.layui-icon-log:before{content:"\e60e"}.layui-icon-list:before{content:"\e60a"}.layui-icon-release:before{content:"\e609"}.layui-icon-add-circle-fine:before{content:"\e608"}.layui-icon-ok:before{content:"\e605"}.layui-icon-help:before{content:"\e607"}.layui-icon-chat:before{content:"\e606"}.layui-icon-top:before{content:"\e604"}.layui-icon-right:before{content:"\e602"}.layui-icon-left:before{content:"\e603"}.layui-icon-star:before{content:"\e600"}.layui-icon-download-circle:before{content:"\e601"}.layui-icon-close:before{content:"\1006"}.layui-icon-close-fill:before{content:"\1007"}.layui-icon-ok-circle:before{content:"\1005"}.layui-main{position:relative;width:1160px;margin:0 auto}.layui-header{position:relative;z-index:1000;height:60px}.layui-header a:hover{transition:all .5s;-webkit-transition:all .5s}.layui-side{position:fixed;left:0;top:0;bottom:0;z-index:999;width:200px;overflow-x:hidden}.layui-side-scroll{position:relative;width:220px;height:100%;overflow-x:hidden}.layui-body{position:relative;left:200px;right:0;top:0;bottom:0;z-index:900;width:auto;box-sizing:border-box}.layui-layout-body{overflow-x:hidden}.layui-layout-admin .layui-header{position:fixed;top:0;left:0;right:0;background-color:#23292e}.layui-layout-admin .layui-side{top:60px;width:200px;overflow-x:hidden}.layui-layout-admin .layui-body{position:absolute;top:60px;padding-bottom:44px}.layui-layout-admin .layui-main{width:auto;margin:0 15px}.layui-layout-admin .layui-footer{position:fixed;left:200px;right:0;bottom:0;z-index:990;height:44px;line-height:44px;padding:0 15px;box-shadow:-1px 0 4px rgb(0 0 0 / 12%);background-color:#fafafa}.layui-layout-admin .layui-logo{position:absolute;left:0;top:0;width:200px;height:100%;line-height:60px;text-align:center;color:#16baaa;font-size:16px;box-shadow:0 1px 2px 0 rgb(0 0 0 / 15%)}.layui-layout-admin .layui-header .layui-nav{background:0 0}.layui-layout-left{position:absolute!important;left:200px;top:0}.layui-layout-right{position:absolute!important;right:0;top:0}.layui-container{position:relative;margin:0 auto;box-sizing:border-box}.layui-fluid{position:relative;margin:0 auto;padding:0 15px}.layui-row:after,.layui-row:before{content:"";display:block;clear:both}.layui-col-lg1,.layui-col-lg10,.layui-col-lg11,.layui-col-lg12,.layui-col-lg2,.layui-col-lg3,.layui-col-lg4,.layui-col-lg5,.layui-col-lg6,.layui-col-lg7,.layui-col-lg8,.layui-col-lg9,.layui-col-md1,.layui-col-md10,.layui-col-md11,.layui-col-md12,.layui-col-md2,.layui-col-md3,.layui-col-md4,.layui-col-md5,.layui-col-md6,.layui-col-md7,.layui-col-md8,.layui-col-md9,.layui-col-sm1,.layui-col-sm10,.layui-col-sm11,.layui-col-sm12,.layui-col-sm2,.layui-col-sm3,.layui-col-sm4,.layui-col-sm5,.layui-col-sm6,.layui-col-sm7,.layui-col-sm8,.layui-col-sm9,.layui-col-xl1,.layui-col-xl10,.layui-col-xl11,.layui-col-xl12,.layui-col-xl2,.layui-col-xl3,.layui-col-xl4,.layui-col-xl5,.layui-col-xl6,.layui-col-xl7,.layui-col-xl8,.layui-col-xl9,.layui-col-xs1,.layui-col-xs10,.layui-col-xs11,.layui-col-xs12,.layui-col-xs2,.layui-col-xs3,.layui-col-xs4,.layui-col-xs5,.layui-col-xs6,.layui-col-xs7,.layui-col-xs8,.layui-col-xs9{position:relative;display:block;box-sizing:border-box}.layui-col-xs1,.layui-col-xs10,.layui-col-xs11,.layui-col-xs12,.layui-col-xs2,.layui-col-xs3,.layui-col-xs4,.layui-col-xs5,.layui-col-xs6,.layui-col-xs7,.layui-col-xs8,.layui-col-xs9{float:left}.layui-col-xs1{width:8.33333333%}.layui-col-xs2{width:16.66666667%}.layui-col-xs3{width:25%}.layui-col-xs4{width:33.33333333%}.layui-col-xs5{width:41.66666667%}.layui-col-xs6{width:50%}.layui-col-xs7{width:58.33333333%}.layui-col-xs8{width:66.66666667%}.layui-col-xs9{width:75%}.layui-col-xs10{width:83.33333333%}.layui-col-xs11{width:91.66666667%}.layui-col-xs12{width:100%}.layui-col-xs-offset1{margin-left:8.33333333%}.layui-col-xs-offset2{margin-left:16.66666667%}.layui-col-xs-offset3{margin-left:25%}.layui-col-xs-offset4{margin-left:33.33333333%}.layui-col-xs-offset5{margin-left:41.66666667%}.layui-col-xs-offset6{margin-left:50%}.layui-col-xs-offset7{margin-left:58.33333333%}.layui-col-xs-offset8{margin-left:66.66666667%}.layui-col-xs-offset9{margin-left:75%}.layui-col-xs-offset10{margin-left:83.33333333%}.layui-col-xs-offset11{margin-left:91.66666667%}.layui-col-xs-offset12{margin-left:100%}@media screen and (max-width:767.98px){.layui-container{padding:0 15px}.layui-hide-xs{display:none!important}.layui-show-xs-block{display:block!important}.layui-show-xs-inline{display:inline!important}.layui-show-xs-inline-block{display:inline-block!important}}@media screen and (min-width:768px){.layui-container{width:720px}.layui-hide-sm{display:none!important}.layui-show-sm-block{display:block!important}.layui-show-sm-inline{display:inline!important}.layui-show-sm-inline-block{display:inline-block!important}.layui-col-sm1,.layui-col-sm10,.layui-col-sm11,.layui-col-sm12,.layui-col-sm2,.layui-col-sm3,.layui-col-sm4,.layui-col-sm5,.layui-col-sm6,.layui-col-sm7,.layui-col-sm8,.layui-col-sm9{float:left}.layui-col-sm1{width:8.33333333%}.layui-col-sm2{width:16.66666667%}.layui-col-sm3{width:25%}.layui-col-sm4{width:33.33333333%}.layui-col-sm5{width:41.66666667%}.layui-col-sm6{width:50%}.layui-col-sm7{width:58.33333333%}.layui-col-sm8{width:66.66666667%}.layui-col-sm9{width:75%}.layui-col-sm10{width:83.33333333%}.layui-col-sm11{width:91.66666667%}.layui-col-sm12{width:100%}.layui-col-sm-offset1{margin-left:8.33333333%}.layui-col-sm-offset2{margin-left:16.66666667%}.layui-col-sm-offset3{margin-left:25%}.layui-col-sm-offset4{margin-left:33.33333333%}.layui-col-sm-offset5{margin-left:41.66666667%}.layui-col-sm-offset6{margin-left:50%}.layui-col-sm-offset7{margin-left:58.33333333%}.layui-col-sm-offset8{margin-left:66.66666667%}.layui-col-sm-offset9{margin-left:75%}.layui-col-sm-offset10{margin-left:83.33333333%}.layui-col-sm-offset11{margin-left:91.66666667%}.layui-col-sm-offset12{margin-left:100%}}@media screen and (min-width:992px){.layui-container{width:960px}.layui-hide-md{display:none!important}.layui-show-md-block{display:block!important}.layui-show-md-inline{display:inline!important}.layui-show-md-inline-block{display:inline-block!important}.layui-col-md1,.layui-col-md10,.layui-col-md11,.layui-col-md12,.layui-col-md2,.layui-col-md3,.layui-col-md4,.layui-col-md5,.layui-col-md6,.layui-col-md7,.layui-col-md8,.layui-col-md9{float:left}.layui-col-md1{width:8.33333333%}.layui-col-md2{width:16.66666667%}.layui-col-md3{width:25%}.layui-col-md4{width:33.33333333%}.layui-col-md5{width:41.66666667%}.layui-col-md6{width:50%}.layui-col-md7{width:58.33333333%}.layui-col-md8{width:66.66666667%}.layui-col-md9{width:75%}.layui-col-md10{width:83.33333333%}.layui-col-md11{width:91.66666667%}.layui-col-md12{width:100%}.layui-col-md-offset1{margin-left:8.33333333%}.layui-col-md-offset2{margin-left:16.66666667%}.layui-col-md-offset3{margin-left:25%}.layui-col-md-offset4{margin-left:33.33333333%}.layui-col-md-offset5{margin-left:41.66666667%}.layui-col-md-offset6{margin-left:50%}.layui-col-md-offset7{margin-left:58.33333333%}.layui-col-md-offset8{margin-left:66.66666667%}.layui-col-md-offset9{margin-left:75%}.layui-col-md-offset10{margin-left:83.33333333%}.layui-col-md-offset11{margin-left:91.66666667%}.layui-col-md-offset12{margin-left:100%}}@media screen and (min-width:1200px){.layui-container{width:1150px}.layui-hide-lg{display:none!important}.layui-show-lg-block{display:block!important}.layui-show-lg-inline{display:inline!important}.layui-show-lg-inline-block{display:inline-block!important}.layui-col-lg1,.layui-col-lg10,.layui-col-lg11,.layui-col-lg12,.layui-col-lg2,.layui-col-lg3,.layui-col-lg4,.layui-col-lg5,.layui-col-lg6,.layui-col-lg7,.layui-col-lg8,.layui-col-lg9{float:left}.layui-col-lg1{width:8.33333333%}.layui-col-lg2{width:16.66666667%}.layui-col-lg3{width:25%}.layui-col-lg4{width:33.33333333%}.layui-col-lg5{width:41.66666667%}.layui-col-lg6{width:50%}.layui-col-lg7{width:58.33333333%}.layui-col-lg8{width:66.66666667%}.layui-col-lg9{width:75%}.layui-col-lg10{width:83.33333333%}.layui-col-lg11{width:91.66666667%}.layui-col-lg12{width:100%}.layui-col-lg-offset1{margin-left:8.33333333%}.layui-col-lg-offset2{margin-left:16.66666667%}.layui-col-lg-offset3{margin-left:25%}.layui-col-lg-offset4{margin-left:33.33333333%}.layui-col-lg-offset5{margin-left:41.66666667%}.layui-col-lg-offset6{margin-left:50%}.layui-col-lg-offset7{margin-left:58.33333333%}.layui-col-lg-offset8{margin-left:66.66666667%}.layui-col-lg-offset9{margin-left:75%}.layui-col-lg-offset10{margin-left:83.33333333%}.layui-col-lg-offset11{margin-left:91.66666667%}.layui-col-lg-offset12{margin-left:100%}}@media screen and (min-width:1400px){.layui-container{width:1330px}.layui-hide-xl{display:none!important}.layui-show-xl-block{display:block!important}.layui-show-xl-inline{display:inline!important}.layui-show-xl-inline-block{display:inline-block!important}.layui-col-xl1,.layui-col-xl10,.layui-col-xl11,.layui-col-xl12,.layui-col-xl2,.layui-col-xl3,.layui-col-xl4,.layui-col-xl5,.layui-col-xl6,.layui-col-xl7,.layui-col-xl8,.layui-col-xl9{float:left}.layui-col-xl1{width:8.33333333%}.layui-col-xl2{width:16.66666667%}.layui-col-xl3{width:25%}.layui-col-xl4{width:33.33333333%}.layui-col-xl5{width:41.66666667%}.layui-col-xl6{width:50%}.layui-col-xl7{width:58.33333333%}.layui-col-xl8{width:66.66666667%}.layui-col-xl9{width:75%}.layui-col-xl10{width:83.33333333%}.layui-col-xl11{width:91.66666667%}.layui-col-xl12{width:100%}.layui-col-xl-offset1{margin-left:8.33333333%}.layui-col-xl-offset2{margin-left:16.66666667%}.layui-col-xl-offset3{margin-left:25%}.layui-col-xl-offset4{margin-left:33.33333333%}.layui-col-xl-offset5{margin-left:41.66666667%}.layui-col-xl-offset6{margin-left:50%}.layui-col-xl-offset7{margin-left:58.33333333%}.layui-col-xl-offset8{margin-left:66.66666667%}.layui-col-xl-offset9{margin-left:75%}.layui-col-xl-offset10{margin-left:83.33333333%}.layui-col-xl-offset11{margin-left:91.66666667%}.layui-col-xl-offset12{margin-left:100%}}.layui-col-space1{margin:-.5px}.layui-col-space1>*{padding:.5px}.layui-col-space2{margin:-1px}.layui-col-space2>*{padding:1px}.layui-col-space4{margin:-2px}.layui-col-space4>*{padding:2px}.layui-col-space5{margin:-2.5px}.layui-col-space5>*{padding:2.5px}.layui-col-space6{margin:-3px}.layui-col-space6>*{padding:3px}.layui-col-space8{margin:-4px}.layui-col-space8>*{padding:4px}.layui-col-space10{margin:-5px}.layui-col-space10>*{padding:5px}.layui-col-space12{margin:-6px}.layui-col-space12>*{padding:6px}.layui-col-space14{margin:-7px}.layui-col-space14>*{padding:7px}.layui-col-space15{margin:-7.5px}.layui-col-space15>*{padding:7.5px}.layui-col-space16{margin:-8px}.layui-col-space16>*{padding:8px}.layui-col-space18{margin:-9px}.layui-col-space18>*{padding:9px}.layui-col-space20{margin:-10px}.layui-col-space20>*{padding:10px}.layui-col-space22{margin:-11px}.layui-col-space22>*{padding:11px}.layui-col-space24{margin:-12px}.layui-col-space24>*{padding:12px}.layui-col-space25{margin:-12.5px}.layui-col-space25>*{padding:12.5px}.layui-col-space26{margin:-13px}.layui-col-space26>*{padding:13px}.layui-col-space28{margin:-14px}.layui-col-space28>*{padding:14px}.layui-col-space30{margin:-15px}.layui-col-space30>*{padding:15px}.layui-col-space32{margin:-16px}.layui-col-space32>*{padding:16px}.layui-padding-1{padding:4px!important}.layui-padding-2{padding:8px!important}.layui-padding-3{padding:16px!important}.layui-padding-4{padding:32px!important}.layui-padding-5{padding:48px!important}.layui-margin-1{margin:4px!important}.layui-margin-2{margin:8px!important}.layui-margin-3{margin:16px!important}.layui-margin-4{margin:32px!important}.layui-margin-5{margin:48px!important}.layui-btn,.layui-input,.layui-select,.layui-textarea,.layui-upload-button{outline:0;-webkit-appearance:none;transition:all .3s;-webkit-transition:all .3s;box-sizing:border-box}.layui-elem-quote{margin-bottom:10px;padding:15px;line-height:1.8;border-left:5px solid #16b777;border-radius:0 2px 2px 0;background-color:#fafafa}.layui-quote-nm{border-style:solid;border-width:1px;border-left-width:5px;background:0 0}.layui-elem-field{margin-bottom:10px;padding:0;border-width:1px;border-style:solid}.layui-elem-field legend{margin-left:20px;padding:0 10px;font-size:20px}.layui-field-title{margin:16px 0;border-width:0;border-top-width:1px}.layui-field-box{padding:15px}.layui-field-title .layui-field-box{padding:10px 0}.layui-progress{position:relative;height:6px;border-radius:20px;background-color:#eee}.layui-progress-bar{position:absolute;left:0;top:0;width:0;max-width:100%;height:6px;border-radius:20px;text-align:right;background-color:#16b777;transition:all .3s;-webkit-transition:all .3s}.layui-progress-big,.layui-progress-big .layui-progress-bar{height:18px;line-height:18px}.layui-progress-text{position:relative;top:-20px;line-height:18px;font-size:12px;color:#5f5f5f}.layui-progress-big .layui-progress-text{position:static;padding:0 10px;color:#fff}.layui-collapse{border-width:1px;border-style:solid;border-radius:2px}.layui-colla-content,.layui-colla-item{border-top-width:1px;border-top-style:solid}.layui-colla-item:first-child{border-top:none}.layui-colla-title{position:relative;height:42px;line-height:42px;padding:0 15px 0 35px;color:#333;background-color:#fafafa;cursor:pointer;font-size:14px;overflow:hidden}.layui-colla-content{display:none;padding:10px 15px;line-height:1.6;color:#5f5f5f}.layui-colla-icon{position:absolute;left:15px;top:0;font-size:14px}.layui-card{margin-bottom:15px;border-radius:2px;background-color:#fff;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.layui-card:last-child{margin-bottom:0}.layui-card-header{position:relative;height:42px;line-height:42px;padding:0 15px;border-bottom:1px solid #f8f8f8;color:#333;border-radius:2px 2px 0 0;font-size:14px}.layui-card-body{position:relative;padding:10px 15px;line-height:24px}.layui-card-body[pad15]{padding:15px}.layui-card-body[pad20]{padding:20px}.layui-card-body .layui-table{margin:5px 0}.layui-card .layui-tab{margin:0}.layui-panel{position:relative;border-width:1px;border-style:solid;border-radius:2px;box-shadow:1px 1px 4px rgb(0 0 0 / 8%);background-color:#fff;color:#5f5f5f}.layui-panel-window{position:relative;padding:15px;border-radius:0;border-top:5px solid #eee;background-color:#fff}.layui-auxiliar-moving{position:fixed;left:0;right:0;top:0;bottom:0;width:100%;height:100%;background:0 0;z-index:9999999999;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.layui-scrollbar-hide{overflow:hidden!important}.layui-bg-red{background-color:#ff5722!important;color:#fff!important}.layui-bg-orange{background-color:#ffb800!important;color:#fff!important}.layui-bg-green{background-color:#16baaa!important;color:#fff!important}.layui-bg-cyan{background-color:#2f4056!important;color:#fff!important}.layui-bg-blue{background-color:#1e9fff!important;color:#fff!important}.layui-bg-purple{background-color:#a233c6!important;color:#fff!important}.layui-bg-black{background-color:#2f363c!important;color:#fff!important}.layui-bg-gray{background-color:#fafafa!important;color:#5f5f5f!important}.layui-badge-rim,.layui-border,.layui-colla-content,.layui-colla-item,.layui-collapse,.layui-elem-field,.layui-form-pane .layui-form-item[pane],.layui-form-pane .layui-form-label,.layui-input,.layui-input-split,.layui-panel,.layui-quote-nm,.layui-select,.layui-tab-bar,.layui-tab-card,.layui-tab-title,.layui-tab-title .layui-this:after,.layui-textarea{border-color:#eee}.layui-border{border-width:1px;border-style:solid;color:#5f5f5f!important}.layui-border-red{border-width:1px;border-style:solid;border-color:#ff5722!important;color:#ff5722!important}.layui-border-orange{border-width:1px;border-style:solid;border-color:#ffb800!important;color:#ffb800!important}.layui-border-green{border-width:1px;border-style:solid;border-color:#16baaa!important;color:#16baaa!important}.layui-border-cyan{border-width:1px;border-style:solid;border-color:#2f4056!important;color:#2f4056!important}.layui-border-blue{border-width:1px;border-style:solid;border-color:#1e9fff!important;color:#1e9fff!important}.layui-border-purple{border-width:1px;border-style:solid;border-color:#a233c6!important;color:#a233c6!important}.layui-border-black{border-width:1px;border-style:solid;border-color:#2f363c!important;color:#2f363c!important}hr.layui-border-black,hr.layui-border-blue,hr.layui-border-cyan,hr.layui-border-green,hr.layui-border-orange,hr.layui-border-purple,hr.layui-border-red{border-width:0 0 1px}.layui-timeline-item:before{background-color:#eee}.layui-text{line-height:1.8;font-size:14px}.layui-text h1,.layui-text h2,.layui-text h3,.layui-text h4,.layui-text h5,.layui-text h6{color:#3a3a3a}.layui-text h1{font-size:32px}.layui-text h2{font-size:24px}.layui-text h3{font-size:18px}.layui-text h4{font-size:16px}.layui-text h5{font-size:14px}.layui-text h6{font-size:13px}.layui-text ol,.layui-text ul{padding-left:15px}.layui-text ul li{margin-top:5px;list-style-type:disc}.layui-text ol li{margin-top:5px;list-style-type:decimal}.layui-text-em,.layui-word-aux{color:#999!important;padding-left:5px!important;padding-right:5px!important}.layui-text p{margin:15px 0}.layui-text p:first-child{margin-top:0}.layui-text p:last-child{margin-bottom:0}.layui-text a:not(.layui-btn){color:#01aaed}.layui-text a:not(.layui-btn):hover{text-decoration:underline}.layui-text blockquote:not(.layui-elem-quote){padding:5px 15px;border-left:5px solid #eee}.layui-text pre>code:not(.layui-code){padding:15px;font-family:"Courier New",Consolas,"Lucida Console"}.layui-font-12{font-size:12px!important}.layui-font-13{font-size:13px!important}.layui-font-14{font-size:14px!important}.layui-font-16{font-size:16px!important}.layui-font-18{font-size:18px!important}.layui-font-20{font-size:20px!important}.layui-font-22{font-size:22px!important}.layui-font-24{font-size:24px!important}.layui-font-26{font-size:26px!important}.layui-font-28{font-size:28px!important}.layui-font-30{font-size:30px!important}.layui-font-32{font-size:32px!important}.layui-font-red{color:#ff5722!important}.layui-font-orange{color:#ffb800!important}.layui-font-green{color:#16baaa!important}.layui-font-cyan{color:#2f4056!important}.layui-font-blue{color:#01aaed!important}.layui-font-purple{color:#a233c6!important}.layui-font-black{color:#000!important}.layui-font-gray{color:#c2c2c2!important}.layui-btn{display:inline-block;vertical-align:middle;height:38px;line-height:38px;border:1px solid transparent;padding:0 18px;background-color:#16baaa;color:#fff;white-space:nowrap;text-align:center;font-size:14px;border-radius:2px;cursor:pointer;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.layui-btn:hover{opacity:.8;filter:alpha(opacity=80);color:#fff}.layui-btn:active{opacity:1;filter:alpha(opacity=100)}.layui-btn+.layui-btn{margin-left:10px}.layui-btn-container{word-spacing:-5px}.layui-btn-container .layui-btn{margin-right:10px;margin-bottom:10px;word-spacing:normal}.layui-btn-container .layui-btn+.layui-btn{margin-left:0}.layui-table .layui-btn-container .layui-btn{margin-bottom:9px}.layui-btn-radius{border-radius:100px}.layui-btn .layui-icon{padding:0 2px;vertical-align:middle\0;vertical-align:bottom}.layui-btn-primary{border-color:#d2d2d2;background:0 0;color:#5f5f5f}.layui-btn-primary:hover{border-color:#16baaa;color:#333}.layui-btn-normal{background-color:#1e9fff}.layui-btn-warm{background-color:#ffb800}.layui-btn-danger{background-color:#ff5722}.layui-btn-checked{background-color:#16b777}.layui-btn-disabled,.layui-btn-disabled:active,.layui-btn-disabled:hover{border-color:#eee!important;background-color:#fbfbfb!important;color:#d2d2d2!important;cursor:not-allowed!important;opacity:1}.layui-btn-lg{height:44px;line-height:44px;padding:0 25px;font-size:16px}.layui-btn-sm{height:30px;line-height:30px;padding:0 10px;font-size:12px}.layui-btn-xs{height:22px;line-height:22px;padding:0 5px;font-size:12px}.layui-btn-xs i{font-size:12px!important}.layui-btn-group{display:inline-block;vertical-align:middle;font-size:0}.layui-btn-group .layui-btn{margin-left:0!important;margin-right:0!important;border-left:1px solid rgba(255,255,255,.5);border-radius:0}.layui-btn-group .layui-btn-primary{border-left:none}.layui-btn-group .layui-btn-primary:hover{border-color:#d2d2d2;color:#16baaa}.layui-btn-group .layui-btn:first-child{border-left:none;border-radius:2px 0 0 2px}.layui-btn-group .layui-btn-primary:first-child{border-left:1px solid #d2d2d2}.layui-btn-group .layui-btn:last-child{border-radius:0 2px 2px 0}.layui-btn-group .layui-btn+.layui-btn{margin-left:0}.layui-btn-group+.layui-btn-group{margin-left:10px}.layui-btn-fluid{width:100%}.layui-input,.layui-select,.layui-textarea{height:38px;line-height:1.3;line-height:38px\9;border-width:1px;border-style:solid;background-color:#fff;color:rgba(0,0,0,.85);border-radius:2px}.layui-input::-webkit-input-placeholder,.layui-select::-webkit-input-placeholder,.layui-textarea::-webkit-input-placeholder{line-height:1.3}.layui-input,.layui-textarea{display:block;width:100%;padding-left:10px}.layui-input:hover,.layui-textarea:hover{border-color:#d2d2d2!important}.layui-input:focus,.layui-textarea:focus{border-color:#16b777!important;box-shadow:0 0 0 3px rgba(22,183,119,.08)}.layui-textarea{position:relative;min-height:100px;height:auto;line-height:20px;padding:6px 10px;resize:vertical}.layui-input[disabled],.layui-textarea[disabled]{background-color:#fafafa}.layui-select{padding:0 10px}.layui-form input[type=checkbox],.layui-form input[type=radio],.layui-form select{display:none}.layui-form [lay-ignore]{display:initial}.layui-form-item{position:relative;margin-bottom:15px;clear:both;*zoom:1}.layui-form-item:after{content:'\20';clear:both;*zoom:1;display:block;height:0}.layui-form-label{position:relative;float:left;display:block;padding:9px 15px;width:80px;font-weight:400;line-height:20px;text-align:right}.layui-form-label-col{display:block;float:none;padding:9px 0;line-height:20px;text-align:left}.layui-form-item .layui-inline{margin-bottom:5px;margin-right:10px}.layui-input-block,.layui-input-inline{position:relative}.layui-input-block{margin-left:110px;min-height:36px}.layui-input-inline{display:inline-block;vertical-align:middle}.layui-form-item .layui-input-inline{float:left;width:190px;margin-right:10px}.layui-form-text .layui-input-inline{width:auto}.layui-form-mid{position:relative;float:left;display:block;padding:9px 0!important;line-height:20px;margin-right:10px}.layui-form-danger+.layui-form-select .layui-input,.layui-form-danger:focus{border-color:#ff5722!important;box-shadow:0 0 0 3px rgba(255,87,34,.08)}.layui-input-prefix,.layui-input-split,.layui-input-suffix,.layui-input-suffix .layui-input-affix{position:absolute;right:0;top:0;padding:0 10px;width:35px;height:100%;text-align:center;transition:all .3s;box-sizing:border-box}.layui-input-prefix{left:0;border-radius:2px 0 0 2px}.layui-input-suffix{right:0;border-radius:0 2px 2px 0}.layui-input-split{border-width:1px;border-style:solid}.layui-input-prefix .layui-icon,.layui-input-split .layui-icon,.layui-input-suffix .layui-icon{position:relative;font-size:16px;color:#5f5f5f;transition:all .3s}.layui-input-group{position:relative;display:table;box-sizing:border-box}.layui-input-group>*{display:table-cell;vertical-align:middle;position:relative}.layui-input-group .layui-input{padding-right:15px}.layui-input-group>.layui-input-prefix{width:auto;border-right:0}.layui-input-group>.layui-input-suffix{width:auto;border-left:0}.layui-input-group .layui-input-split{white-space:nowrap}.layui-input-wrap{position:relative;line-height:38px}.layui-input-wrap .layui-input{padding-right:35px}.layui-input-wrap .layui-input::-ms-clear,.layui-input-wrap .layui-input::-ms-reveal{display:none}.layui-input-wrap .layui-input-prefix+.layui-input,.layui-input-wrap .layui-input-prefix~* .layui-input{padding-left:35px}.layui-input-wrap .layui-input-split+.layui-input,.layui-input-wrap .layui-input-split~* .layui-input{padding-left:45px}.layui-input-wrap .layui-input-prefix~.layui-form-select{position:static}.layui-input-wrap .layui-input-prefix,.layui-input-wrap .layui-input-split,.layui-input-wrap .layui-input-suffix{pointer-events:none}.layui-input-wrap .layui-input:hover+.layui-input-split{border-color:#d2d2d2}.layui-input-wrap .layui-input:focus+.layui-input-split{border-color:#16b777}.layui-input-wrap .layui-input.layui-form-danger:focus+.layui-input-split{border-color:#ff5722}.layui-input-wrap .layui-input-prefix.layui-input-split{border-width:0;border-right-width:1px}.layui-input-wrap .layui-input-suffix.layui-input-split{border-width:0;border-left-width:1px}.layui-input-affix{line-height:38px}.layui-input-suffix .layui-input-affix{right:auto;left:-35px}.layui-input-affix .layui-icon{color:rgba(0,0,0,.8);pointer-events:auto!important;cursor:pointer}.layui-input-affix .layui-icon-clear{color:rgba(0,0,0,.3)}.layui-input-affix .layui-icon:hover{color:rgba(0,0,0,.6)}.layui-input-wrap .layui-input-number{width:24px;padding:0}.layui-input-wrap .layui-input-number .layui-icon{position:absolute;right:0;width:100%;height:50%;line-height:normal;font-size:12px}.layui-input-wrap .layui-input-number .layui-icon:before{position:absolute;left:50%;top:50%;margin-top:-6px;margin-left:-6px}.layui-input-wrap .layui-input-number .layui-icon-up{top:0;border-bottom:1px solid #eee}.layui-input-wrap .layui-input-number .layui-icon-down{bottom:0}.layui-input-wrap .layui-input-number .layui-icon:hover{font-weight:700}.layui-input-wrap .layui-input[type=number]::-webkit-inner-spin-button,.layui-input-wrap .layui-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none!important}.layui-input-wrap .layui-input[type=number]{-moz-appearance:textfield}.layui-input-wrap .layui-input[type=number].layui-input-number-out-of-range{color:#ff5722}.layui-form-select{position:relative;color:#5f5f5f}.layui-form-select .layui-input{padding-right:30px;cursor:pointer}.layui-form-select .layui-edge{position:absolute;right:10px;top:50%;margin-top:-3px;cursor:pointer;border-width:6px;border-top-color:#c2c2c2;border-top-style:solid;transition:all .3s;-webkit-transition:all .3s}.layui-form-select dl{display:none;position:absolute;left:0;top:42px;padding:5px 0;z-index:899;min-width:100%;border:1px solid #eee;max-height:300px;overflow-y:auto;background-color:#fff;border-radius:2px;box-shadow:1px 1px 4px rgb(0 0 0 / 8%);box-sizing:border-box}.layui-form-select dl dd,.layui-form-select dl dt{padding:0 10px;line-height:36px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layui-form-select dl dt{font-size:12px;color:#999}.layui-form-select dl dd{cursor:pointer}.layui-form-select dl dd:hover{background-color:#f8f8f8;-webkit-transition:.5s all;transition:.5s all}.layui-form-select .layui-select-group dd{padding-left:20px}.layui-form-select dl dd.layui-select-tips{padding-left:10px!important;color:#999}.layui-form-select dl dd.layui-this{background-color:#f8f8f8;color:#16b777;font-weight:700}.layui-form-select dl dd.layui-disabled{background-color:#fff}.layui-form-selected dl{display:block}.layui-form-selected .layui-edge{margin-top:-9px;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.layui-form-selected .layui-edge{margin-top:-3px\0}:root .layui-form-selected .layui-edge{margin-top:-9px\0/IE9}.layui-form-selectup dl{top:auto;bottom:42px}.layui-select-none{margin:5px 0;text-align:center;color:#999}.layui-select-panel-wrap{position:absolute;z-index:99999999}.layui-select-panel-wrap dl{position:relative;display:block;top:0}.layui-select-disabled .layui-disabled{border-color:#eee!important}.layui-select-disabled .layui-edge{border-top-color:#d2d2d2}.layui-form-checkbox{position:relative;display:inline-block;vertical-align:middle;height:30px;line-height:30px;margin-right:10px;padding-right:30px;background-color:#fff;cursor:pointer;font-size:0;-webkit-transition:.1s linear;transition:.1s linear;box-sizing:border-box}.layui-form-checkbox>*{display:inline-block;vertical-align:middle}.layui-form-checkbox>div{padding:0 11px;font-size:14px;border-radius:2px 0 0 2px;background-color:#d2d2d2;color:#fff;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.layui-form-checkbox>div>.layui-icon{line-height:normal}.layui-form-checkbox:hover>div{background-color:#c2c2c2}.layui-form-checkbox>i{position:absolute;right:0;top:0;width:30px;height:100%;border:1px solid #d2d2d2;border-left:none;border-radius:0 2px 2px 0;color:#fff;color:rgba(255,255,255,0);font-size:20px;text-align:center;box-sizing:border-box}.layui-form-checkbox:hover>i{border-color:#c2c2c2;color:#c2c2c2}.layui-form-checked,.layui-form-checked:hover{border-color:#16b777}.layui-form-checked:hover>div,.layui-form-checked>div{background-color:#16b777}.layui-form-checked:hover>i,.layui-form-checked>i{color:#16b777}.layui-form-item .layui-form-checkbox{margin-top:4px}.layui-form-checkbox.layui-checkbox-disabled>div{background-color:#eee!important}.layui-form [lay-checkbox]{display:none}.layui-form-checkbox[lay-skin=primary]{height:auto!important;line-height:normal!important;min-width:18px;min-height:18px;border:none!important;margin-right:0;padding-left:24px;padding-right:0;background:0 0}.layui-form-checkbox[lay-skin=primary]>div{margin-top:-1px;padding-left:0;padding-right:15px;line-height:18px;background:0 0;color:#5f5f5f}.layui-form-checkbox[lay-skin=primary]>i{right:auto;left:0;width:16px;height:16px;line-height:14px;border:1px solid #d2d2d2;font-size:12px;border-radius:2px;background-color:#fff;-webkit-transition:.1s linear;transition:.1s linear}.layui-form-checkbox[lay-skin=primary]:hover>i{border-color:#16b777;color:#fff}.layui-form-checked[lay-skin=primary]>i{border-color:#16b777!important;background-color:#16b777;color:#fff}.layui-checkbox-disabled[lay-skin=primary]>div{background:0 0!important}.layui-form-checked.layui-checkbox-disabled[lay-skin=primary]>i{background:#eee!important;border-color:#eee!important}.layui-checkbox-disabled[lay-skin=primary]:hover>i{border-color:#d2d2d2}.layui-form-item .layui-form-checkbox[lay-skin=primary]{margin-top:10px}.layui-form-checkbox[lay-skin=primary]>.layui-icon-indeterminate{border-color:#16b777}.layui-form-checkbox[lay-skin=primary]>.layui-icon-indeterminate:before{content:'';display:inline-block;vertical-align:middle;position:relative;width:50%;height:1px;margin:-1px auto 0;background-color:#16b777}.layui-form-switch{position:relative;display:inline-block;vertical-align:middle;height:24px;line-height:22px;min-width:44px;padding:0 5px;margin-top:8px;border:1px solid #d2d2d2;border-radius:20px;cursor:pointer;box-sizing:border-box;background-color:#fff;-webkit-transition:.1s linear;transition:.1s linear}.layui-form-switch>i{position:absolute;left:5px;top:3px;width:16px;height:16px;border-radius:20px;background-color:#d2d2d2;-webkit-transition:.1s linear;transition:.1s linear}.layui-form-switch>div{position:relative;top:0;margin-left:21px;padding:0!important;text-align:center!important;color:#999!important;font-style:normal!important;font-size:12px}.layui-form-onswitch{border-color:#16b777;background-color:#16b777}.layui-form-onswitch>i{left:100%;margin-left:-21px;background-color:#fff}.layui-form-onswitch>div{margin-left:0;margin-right:21px;color:#fff!important}.layui-form-checkbox[lay-skin=none] *,.layui-form-radio[lay-skin=none] *{box-sizing:border-box}.layui-form-checkbox[lay-skin=none],.layui-form-radio[lay-skin=none]{position:relative;min-height:20px;margin:0;padding:0;height:auto;line-height:normal}.layui-form-checkbox[lay-skin=none]>div,.layui-form-radio[lay-skin=none]>div{position:relative;top:0;left:0;cursor:pointer;z-index:10;color:inherit;background-color:inherit}.layui-form-checkbox[lay-skin=none]>i,.layui-form-radio[lay-skin=none]>i{display:none}.layui-form-checkbox[lay-skin=none].layui-checkbox-disabled>div,.layui-form-radio[lay-skin=none].layui-radio-disabled>div{cursor:not-allowed}.layui-checkbox-disabled{border-color:#eee!important}.layui-checkbox-disabled>div{color:#c2c2c2!important}.layui-checkbox-disabled>i{border-color:#eee!important}.layui-checkbox-disabled:hover>i{color:#fff!important}.layui-form-radio{display:inline-block;vertical-align:middle;line-height:28px;margin:6px 10px 0 0;padding-right:10px;cursor:pointer;font-size:0}.layui-form-radio>*{display:inline-block;vertical-align:middle;font-size:14px}.layui-form-radio>i{margin-right:8px;font-size:22px;color:#c2c2c2}.layui-form-radio:hover>*,.layui-form-radioed,.layui-form-radioed>i{color:#16b777}.layui-radio-disabled>i{color:#eee!important}.layui-radio-disabled>*{color:#c2c2c2!important}.layui-form [lay-radio]{display:none}.layui-form-pane .layui-form-label{width:110px;padding:8px 15px;height:38px;line-height:20px;border-width:1px;border-style:solid;border-radius:2px 0 0 2px;text-align:center;background-color:#fafafa;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box}.layui-form-pane .layui-input-inline{margin-left:-1px}.layui-form-pane .layui-input-block{margin-left:110px;left:-1px}.layui-form-pane .layui-input{border-radius:0 2px 2px 0}.layui-form-pane .layui-form-text .layui-form-label{float:none;width:100%;border-radius:2px;box-sizing:border-box;text-align:left}.layui-form-pane .layui-form-text .layui-input-inline{display:block;margin:0;top:-1px;clear:both}.layui-form-pane .layui-form-text .layui-input-block{margin:0;left:0;top:-1px}.layui-form-pane .layui-form-text .layui-textarea{min-height:100px;border-radius:0 0 2px 2px}.layui-form-pane .layui-form-checkbox{margin:4px 0 4px 10px}.layui-form-pane .layui-form-radio,.layui-form-pane .layui-form-switch{margin-top:6px;margin-left:10px}.layui-form-pane .layui-form-item[pane]{position:relative;border-width:1px;border-style:solid}.layui-form-pane .layui-form-item[pane] .layui-form-label{position:absolute;left:0;top:0;height:100%;border-width:0;border-right-width:1px}.layui-form-pane .layui-form-item[pane] .layui-input-inline{margin-left:110px}@media screen and (max-width:450px){.layui-form-item .layui-form-label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-form-item .layui-inline{display:block;margin-right:0;margin-bottom:20px;clear:both}.layui-form-item .layui-inline:after{content:'\20';clear:both;display:block;height:0}.layui-form-item .layui-input-inline{display:block;float:none;left:-3px;width:auto!important;margin:0 0 10px 112px}.layui-form-item .layui-input-inline+.layui-form-mid{margin-left:110px;top:-5px;padding:0}.layui-form-item .layui-form-checkbox{margin-right:5px;margin-bottom:5px}}.layui-laypage{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;margin:10px 0;font-size:0}.layui-laypage>a:first-child,.layui-laypage>a:first-child em{border-radius:2px 0 0 2px}.layui-laypage>a:last-child,.layui-laypage>a:last-child em{border-radius:0 2px 2px 0}.layui-laypage>:first-child{margin-left:0!important}.layui-laypage>:last-child{margin-right:0!important}.layui-laypage a,.layui-laypage button,.layui-laypage input,.layui-laypage select,.layui-laypage span{border:1px solid #eee}.layui-laypage a,.layui-laypage span{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;padding:0 15px;height:28px;line-height:28px;margin:0 -1px 5px 0;background-color:#fff;color:#333;font-size:12px}.layui-laypage a[data-page]{color:#333}.layui-laypage a{text-decoration:none!important;cursor:pointer}.layui-laypage a:hover{color:#16baaa}.layui-laypage em{font-style:normal}.layui-laypage .layui-laypage-spr{color:#999;font-weight:700}.layui-laypage .layui-laypage-curr{position:relative}.layui-laypage .layui-laypage-curr em{position:relative;color:#fff}.layui-laypage .layui-laypage-curr .layui-laypage-em{position:absolute;left:-1px;top:-1px;padding:1px;width:100%;height:100%;background-color:#16baaa}.layui-laypage-em{border-radius:2px}.layui-laypage-next em,.layui-laypage-prev em{font-family:Sim sun;font-size:16px}.layui-laypage .layui-laypage-count,.layui-laypage .layui-laypage-limits,.layui-laypage .layui-laypage-refresh,.layui-laypage .layui-laypage-skip{margin-left:10px;margin-right:10px;padding:0;border:none}.layui-laypage .layui-laypage-limits,.layui-laypage .layui-laypage-refresh{vertical-align:top}.layui-laypage .layui-laypage-refresh i{font-size:18px;cursor:pointer}.layui-laypage select{height:22px;padding:3px;border-radius:2px;cursor:pointer}.layui-laypage .layui-laypage-skip{height:30px;line-height:30px;color:#999}.layui-laypage button,.layui-laypage input{height:30px;line-height:30px;border-radius:2px;vertical-align:top;background-color:#fff;box-sizing:border-box}.layui-laypage input{display:inline-block;width:40px;margin:0 10px;padding:0 3px;text-align:center}.layui-laypage input:focus,.layui-laypage select:focus{border-color:#16baaa!important}.layui-laypage button{margin-left:10px;padding:0 10px;cursor:pointer}.layui-flow-more{margin:10px 0;text-align:center;color:#999;font-size:14px;clear:both}.layui-flow-more a{height:32px;line-height:32px}.layui-flow-more a *{display:inline-block;vertical-align:top}.layui-flow-more a cite{padding:0 20px;border-radius:3px;background-color:#eee;color:#333;font-style:normal}.layui-flow-more a cite:hover{opacity:.8}.layui-flow-more a i{font-size:30px;color:#737383}.layui-table{width:100%;margin:10px 0;background-color:#fff;color:#5f5f5f}.layui-table tr{transition:all .3s;-webkit-transition:all .3s}.layui-table th{text-align:left;font-weight:600}.layui-table-mend{background-color:#fff}.layui-table-click,.layui-table-hover,.layui-table[lay-even] tbody tr:nth-child(even){background-color:#f8f8f8}.layui-table-checked{background-color:#dbfbf0}.layui-table-checked.layui-table-click,.layui-table-checked.layui-table-hover{background-color:#abf8dd}.layui-table-disabled-transition *,.layui-table-disabled-transition :after,.layui-table-disabled-transition :before{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}.layui-table td,.layui-table th,.layui-table-col-set,.layui-table-fixed-r,.layui-table-grid-down,.layui-table-header,.layui-table-mend,.layui-table-page,.layui-table-tips-main,.layui-table-tool,.layui-table-total,.layui-table-view,.layui-table[lay-skin=line],.layui-table[lay-skin=row]{border-width:1px;border-style:solid;border-color:#eee}.layui-table td,.layui-table th{position:relative;padding:9px 15px;min-height:20px;line-height:20px;font-size:14px}.layui-table[lay-skin=line] td,.layui-table[lay-skin=line] th{border-width:0;border-bottom-width:1px}.layui-table[lay-skin=row] td,.layui-table[lay-skin=row] th{border-width:0;border-right-width:1px}.layui-table[lay-skin=nob] td,.layui-table[lay-skin=nob] th{border:none}.layui-table img{max-width:100px}.layui-table[lay-size=lg] td,.layui-table[lay-size=lg] th{padding-top:15px;padding-right:30px;padding-bottom:15px;padding-left:30px}.layui-table-view .layui-table[lay-size=lg] .layui-table-cell{height:50px;line-height:40px}.layui-table[lay-size=sm] td,.layui-table[lay-size=sm] th{padding-top:5px;padding-right:10px;padding-bottom:5px;padding-left:10px;font-size:12px}.layui-table-view .layui-table[lay-size=sm] .layui-table-cell{height:30px;line-height:20px;padding-top:5px;padding-left:11px;padding-right:11px}.layui-table[lay-data],.layui-table[lay-options]{display:none}.layui-table-box{position:relative;overflow:hidden}.layui-table-view{clear:both}.layui-table-view .layui-table{position:relative;width:auto;margin:0;border:0;border-collapse:separate}.layui-table-view .layui-table[lay-skin=line]{border-width:0;border-right-width:1px}.layui-table-view .layui-table[lay-skin=row]{border-width:0;border-bottom-width:1px}.layui-table-view .layui-table td,.layui-table-view .layui-table th{padding:0;border-top:none;border-left:none}.layui-table-view .layui-table th [lay-event],.layui-table-view .layui-table th.layui-unselect .layui-table-cell span{cursor:pointer}.layui-table-view .layui-table td,.layui-table-view .layui-table th span{cursor:default}.layui-table-view .layui-table td[data-edit]{cursor:text}.layui-table-view .layui-table td[data-edit]:hover:after{position:absolute;left:0;top:0;width:100%;height:100%;box-sizing:border-box;border:1px solid #16b777;pointer-events:none;content:""}.layui-table-view .layui-form-checkbox[lay-skin=primary] i{width:18px;height:18px;line-height:16px}.layui-table-view .layui-form-radio{line-height:0;padding:0}.layui-table-view .layui-form-radio>i{margin:0;font-size:20px}.layui-table-init{position:absolute;left:0;top:0;right:0;bottom:0;margin:0;z-index:199;transition:opacity .1s;user-select:none;opacity:1}.layui-table-init.layui-hide-v{opacity:0}.layui-table-loading-icon{position:absolute;width:100%\0;left:50%;left:auto\0;top:50%;margin-top:-15px\0;transform:translate(-50%,-50%);transform:none\0;text-align:center}.layui-table-loading-icon .layui-icon{font-size:30px;color:#c2c2c2}.layui-table-header{border-width:0;border-bottom-width:1px;overflow:hidden}.layui-table-header .layui-table{margin-bottom:-1px}.layui-table-column{position:relative;width:100%;min-height:41px;padding:8px 16px;border-width:0;border-bottom-width:1px}.layui-table-column .layui-btn-container{margin-bottom:-8px}.layui-table-column .layui-btn-container .layui-btn{margin-right:8px;margin-bottom:8px}.layui-table-tool .layui-inline[lay-event]{position:relative;width:26px;height:26px;padding:5px;line-height:16px;margin-right:10px;text-align:center;color:#333;border:1px solid #ccc;cursor:pointer;-webkit-transition:.5s all;transition:.5s all}.layui-table-tool .layui-inline[lay-event]:hover{border:1px solid #999}.layui-table-tool-temp{padding-right:120px}.layui-table-tool-self{position:absolute;right:17px;top:10px}.layui-table-tool .layui-table-tool-self .layui-inline[lay-event]{margin:0 0 0 10px}.layui-table-tool-panel{position:absolute;top:29px;left:-1px;z-index:399;padding:5px 0!important;min-width:150px;min-height:40px;border:1px solid #d2d2d2;text-align:left;overflow-y:auto;background-color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.12)}.layui-table-tool-panel li{padding:0 10px;margin:0!important;line-height:30px;list-style-type:none!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-transition:.5s all;transition:.5s all}.layui-table-tool-panel li .layui-form-checkbox[lay-skin=primary]{width:100%}.layui-table-tool-panel li:hover{background-color:#f8f8f8}.layui-table-tool-panel li .layui-form-checkbox[lay-skin=primary]{padding-left:28px}.layui-table-tool-panel li .layui-form-checkbox[lay-skin=primary] i{position:absolute;left:0;top:0}.layui-table-tool-panel li .layui-form-checkbox[lay-skin=primary] span{padding:0}.layui-table-tool .layui-table-tool-self .layui-table-tool-panel{left:auto;right:-1px}.layui-table-col-set{position:absolute;right:0;top:0;width:20px;height:100%;border-width:0;border-left-width:1px;background-color:#fff}.layui-table-sort{width:10px;height:20px;margin-left:5px;cursor:pointer!important}.layui-table-sort .layui-edge{position:absolute;left:5px;border-width:5px}.layui-table-sort .layui-table-sort-asc{top:3px;border-top:none;border-bottom-style:solid;border-bottom-color:#b2b2b2}.layui-table-sort .layui-table-sort-asc:hover{border-bottom-color:#5f5f5f}.layui-table-sort .layui-table-sort-desc{bottom:5px;border-bottom:none;border-top-style:solid;border-top-color:#b2b2b2}.layui-table-sort .layui-table-sort-desc:hover{border-top-color:#5f5f5f}.layui-table-sort[lay-sort=asc] .layui-table-sort-asc{border-bottom-color:#000}.layui-table-sort[lay-sort=desc] .layui-table-sort-desc{border-top-color:#000}.layui-table-cell{height:38px;line-height:28px;padding:6px 15px;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box}.layui-table-cell .layui-form-checkbox[lay-skin=primary]{top:-1px;padding:0}.layui-table-cell .layui-form-checkbox[lay-skin=primary]>div{padding-left:24px}.layui-table-cell .layui-table-link{color:#01aaed}.layui-table-cell .layui-btn{vertical-align:inherit}.layui-table-cell[align=center]{-webkit-box-pack:center}.layui-table-cell[align=right]{-webkit-box-pack:end}.laytable-cell-checkbox,.laytable-cell-numbers,.laytable-cell-radio,.laytable-cell-space{text-align:center;-webkit-box-pack:center}.layui-table-body{position:relative;overflow:auto;margin-right:-1px;margin-bottom:-1px}.layui-table-body .layui-none{line-height:26px;padding:30px 15px;text-align:center;color:#999}.layui-table-fixed{position:absolute;left:0;top:0;z-index:101}.layui-table-fixed .layui-table-body{overflow:hidden}.layui-table-fixed-l{box-shadow:1px 0 8px rgba(0,0,0,.08)}.layui-table-fixed-r{left:auto;right:-1px;border-width:0;border-left-width:1px;box-shadow:-1px 0 8px rgba(0,0,0,.08)}.layui-table-fixed-r .layui-table-header{position:relative;overflow:visible}.layui-table-mend{position:absolute;right:-49px;top:0;height:100%;width:50px;border-width:0;border-left-width:1px}.layui-table-tool{position:relative;width:100%;min-height:50px;line-height:30px;padding:10px 15px;border-width:0;border-bottom-width:1px}.layui-table-tool .layui-btn-container{margin-bottom:-10px}.layui-table-total{margin-bottom:-1px;border-width:0;border-top-width:1px;overflow:hidden}.layui-table-page{border-width:0;border-top-width:1px;margin-bottom:-1px;white-space:nowrap;overflow:hidden}.layui-table-page>div{height:26px}.layui-table-page .layui-laypage{margin:0}.layui-table-page .layui-laypage a,.layui-table-page .layui-laypage span{height:26px;line-height:26px;margin-bottom:10px;border:none;background:0 0}.layui-table-page .layui-laypage a,.layui-table-page .layui-laypage span.layui-laypage-curr{padding:0 12px}.layui-table-page .layui-laypage span{margin-left:0;padding:0}.layui-table-page .layui-laypage .layui-laypage-prev{margin-left:-11px!important}.layui-table-page .layui-laypage .layui-laypage-curr .layui-laypage-em{left:0;top:0;padding:0}.layui-table-page .layui-laypage button,.layui-table-page .layui-laypage input{height:26px;line-height:26px}.layui-table-page .layui-laypage input{width:40px}.layui-table-page .layui-laypage button{padding:0 10px}.layui-table-page select{height:18px}.layui-table-pagebar{float:right;line-height:23px}.layui-table-pagebar .layui-btn-sm{margin-top:-1px}.layui-table-pagebar .layui-btn-xs{margin-top:2px}.layui-table-view select[lay-ignore]{display:inline-block}.layui-table-patch .layui-table-cell{padding:0;width:30px}.layui-table-edit{position:absolute;left:0;top:0;z-index:189;min-width:100%;min-height:100%;padding:5px 14px;border-radius:0;box-shadow:1px 1px 20px rgba(0,0,0,.15);background-color:#fff}.layui-table-edit:focus{border-color:#16b777!important}input.layui-input.layui-table-edit{height:100%}select.layui-table-edit{padding:0 0 0 10px;border-color:#d2d2d2}.layui-table-view .layui-form-checkbox,.layui-table-view .layui-form-radio,.layui-table-view .layui-form-switch{top:0;margin:0}.layui-table-view .layui-form-checkbox{top:-1px;height:26px;line-height:26px}.layui-table-view .layui-form-checkbox i{height:26px}.layui-table-grid .layui-table-cell{overflow:visible}.layui-table-grid-down{position:absolute;top:0;right:0;width:24px;height:100%;padding:5px 0;border-width:0;border-left-width:1px;text-align:center;background-color:#fff;color:#999;cursor:pointer}.layui-table-grid-down .layui-icon{position:absolute;top:50%;left:50%;margin:-8px 0 0 -8px;font-size:14px}.layui-table-grid-down:hover{background-color:#fbfbfb}.layui-table-expanded{height:95px}.layui-table-expanded .layui-table-cell,.layui-table-view .layui-table[lay-size=lg] .layui-table-expanded .layui-table-cell,.layui-table-view .layui-table[lay-size=sm] .layui-table-expanded .layui-table-cell{height:auto;max-height:94px;white-space:normal;text-overflow:clip}.layui-table-cell-c{position:absolute;bottom:-10px;right:50%;margin-right:-9px;width:20px;height:20px;line-height:18px;cursor:pointer;text-align:center;background-color:#fff;border:1px solid #eee;border-radius:50%;z-index:1000;transition:.3s all;font-size:14px}.layui-table-cell-c:hover{border-color:#16b777}.layui-table-expanded td:hover .layui-table-cell{overflow:auto}.layui-table-main>.layui-table>tbody>tr:last-child>td>.layui-table-cell-c{bottom:0}body .layui-table-tips .layui-layer-content{background:0 0;padding:0;box-shadow:0 1px 6px rgba(0,0,0,.12)}.layui-table-tips-main{margin:-49px 0 0 -1px;max-height:150px;padding:8px 15px;font-size:14px;overflow-y:scroll;background-color:#fff;color:#5f5f5f}.layui-table-tips-c{position:absolute;right:-3px;top:-13px;width:20px;height:20px;padding:3px;cursor:pointer;background-color:#5f5f5f;border-radius:50%;color:#fff}.layui-table-tips-c:hover{background-color:#777}.layui-table-tips-c:before{position:relative;right:-2px}.layui-table-tree-nodeIcon{max-width:20px}.layui-table-tree-nodeIcon>*{width:100%}.layui-table-tree-flexIcon,.layui-table-tree-nodeIcon{margin-right:2px}.layui-table-tree-flexIcon{cursor:pointer}.layui-upload-file{display:none!important;opacity:.01;filter:Alpha(opacity=1)}.layui-upload-list{margin:11px 0}.layui-upload-choose{max-width:200px;padding:0 10px;color:#999;font-size:14px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-upload-drag{position:relative;display:inline-block;padding:30px;border:1px dashed #e2e2e2;background-color:#fff;text-align:center;cursor:pointer;color:#999}.layui-upload-drag .layui-icon{font-size:50px;color:#16baaa}.layui-upload-drag[lay-over]{border-color:#16baaa}.layui-upload-form{display:inline-block}.layui-upload-iframe{position:absolute;width:0;height:0;border:0;visibility:hidden}.layui-upload-wrap{position:relative;display:inline-block;vertical-align:middle}.layui-upload-wrap .layui-upload-file{display:block!important;position:absolute;left:0;top:0;z-index:10;font-size:100px;width:100%;height:100%;opacity:.01;filter:Alpha(opacity=1);cursor:pointer}.layui-btn-container .layui-upload-choose{padding-left:0}.layui-menu{position:relative;margin:5px 0;background-color:#fff;box-sizing:border-box}.layui-menu *{box-sizing:border-box}.layui-menu li,.layui-menu-body-title,.layui-menu-body-title a{padding:5px 15px;color:initial}.layui-menu li{position:relative;margin:0 0 1px;line-height:26px;color:rgba(0,0,0,.8);font-size:14px;white-space:nowrap;cursor:pointer;transition:all .3s}.layui-menu li:hover{background-color:#f8f8f8}.layui-menu li.layui-disabled,.layui-menu li.layui-disabled *{background:0 0!important;color:#d2d2d2!important;cursor:not-allowed!important}.layui-menu-item-parent:hover>.layui-menu-body-panel{display:block;animation-name:layui-fadein;animation-duration:.3s;animation-fill-mode:both;animation-delay:.2s}.layui-menu-item-group>.layui-menu-body-title,.layui-menu-item-parent>.layui-menu-body-title{padding-right:38px}.layui-menu .layui-menu-item-divider:hover,.layui-menu .layui-menu-item-group:hover,.layui-menu .layui-menu-item-none:hover{background:0 0;cursor:default}.layui-menu .layui-menu-item-group>ul{margin:5px 0 -5px}.layui-menu .layui-menu-item-group>.layui-menu-body-title{color:rgba(0,0,0,.35);user-select:none}.layui-menu .layui-menu-item-none{color:rgba(0,0,0,.35);cursor:default}.layui-menu .layui-menu-item-none{text-align:center}.layui-menu .layui-menu-item-divider{margin:5px 0;padding:0;height:0;line-height:0;border-bottom:1px solid #eee;overflow:hidden}.layui-menu .layui-menu-item-down:hover,.layui-menu .layui-menu-item-up:hover{cursor:pointer}.layui-menu .layui-menu-item-up>.layui-menu-body-title{color:rgba(0,0,0,.8)}.layui-menu .layui-menu-item-up>ul{visibility:hidden;height:0;overflow:hidden}.layui-menu .layui-menu-item-down>.layui-menu-body-title>.layui-icon-down{transform:rotate(180deg)}.layui-menu .layui-menu-item-up>.layui-menu-body-title>.layui-icon-up{transform:rotate(-180deg)}.layui-menu .layui-menu-item-down:hover>.layui-menu-body-title>.layui-icon,.layui-menu .layui-menu-item-up>.layui-menu-body-title:hover>.layui-icon{color:#000}.layui-menu .layui-menu-item-down>ul{visibility:visible;height:auto}.layui-menu .layui-menu-item-checked,.layui-menu .layui-menu-item-checked2{background-color:#f8f8f8!important;color:#16b777}.layui-menu .layui-menu-item-checked a,.layui-menu .layui-menu-item-checked2 a{color:#16b777}.layui-menu .layui-menu-item-checked:after{position:absolute;right:-1px;top:0;bottom:0;border-right:3px solid #16b777;content:""}.layui-menu-body-title{position:relative;margin:-5px -15px;overflow:hidden;text-overflow:ellipsis}.layui-menu-body-title a{display:block;margin:-5px -15px;color:rgba(0,0,0,.8)}.layui-menu-body-title a:hover{transition:all .3s}.layui-menu-body-title>.layui-icon{position:absolute;right:15px;top:50%;margin-top:-6px;line-height:normal;font-size:14px;transition:all .2s;-webkit-transition:all .2s}.layui-menu-body-title>.layui-icon:hover{transition:all .3s}.layui-menu-body-title>.layui-icon-right{right:14px}.layui-menu-body-panel{display:none;position:absolute;top:-7px;left:100%;z-index:1000;margin-left:13px;padding:5px 0}.layui-menu-body-panel:before{content:"";position:absolute;width:20px;left:-16px;top:0;bottom:0}.layui-menu-body-panel-left{left:auto;right:100%;margin:0 13px 0}.layui-menu-body-panel-left:before{left:auto;right:-16px}.layui-menu-lg li{line-height:32px}.layui-menu-lg .layui-menu-body-title a:hover,.layui-menu-lg li:hover{background:0 0;color:#16b777}.layui-menu-lg li .layui-menu-body-panel{margin-left:14px}.layui-menu-lg li .layui-menu-body-panel-left{margin:0 15px 0}.layui-dropdown{position:absolute;left:-999999px;top:-999999px;z-index:77777777;margin:5px 0;min-width:100px}.layui-dropdown:before{content:"";position:absolute;width:100%;height:6px;left:0;top:-6px}.layui-dropdown-shade{top:0;left:0;width:100%;height:100%;_height:expression(document.body.offsetHeight+"px");position:fixed;_position:absolute;pointer-events:auto}.layui-nav{position:relative;padding:0 15px;background-color:#2f363c;color:#fff;border-radius:2px;font-size:0;box-sizing:border-box}.layui-nav *{font-size:14px}.layui-nav .layui-nav-item{position:relative;display:inline-block;*display:inline;*zoom:1;margin-top:0;list-style:none;vertical-align:middle;line-height:60px}.layui-nav .layui-nav-item a{display:block;padding:0 20px;color:#fff;color:rgba(255,255,255,.7);transition:all .3s;-webkit-transition:all .3s}.layui-nav .layui-this:after,.layui-nav-bar{content:"";position:absolute;left:0;top:0;width:0;height:3px;background-color:#16b777;transition:all .2s;-webkit-transition:all .2s;pointer-events:none}.layui-nav-bar{z-index:1000}.layui-nav[lay-bar=disabled] .layui-nav-bar{display:none}.layui-nav .layui-nav-item a:hover,.layui-nav .layui-this a{color:#fff;text-decoration:none}.layui-nav .layui-this:after{top:auto;bottom:0;width:100%}.layui-nav-img{width:30px;height:30px;margin-right:10px;border-radius:50%}.layui-nav .layui-nav-more{position:absolute;top:0;right:3px;left:auto!important;margin-top:0;font-size:12px;cursor:pointer;transition:all .2s;-webkit-transition:all .2s}.layui-nav .layui-nav-mored,.layui-nav-itemed>a .layui-nav-more{transform:rotate(180deg)}.layui-nav-child{display:none;position:absolute;left:0;top:65px;min-width:100%;line-height:36px;padding:5px 0;box-shadow:0 2px 4px rgba(0,0,0,.12);border:1px solid #eee;background-color:#fff;z-index:100;border-radius:2px;white-space:nowrap;box-sizing:border-box}.layui-nav .layui-nav-child a{color:#5f5f5f;color:rgba(0,0,0,.8)}.layui-nav .layui-nav-child a:hover{background-color:#f8f8f8;color:rgba(0,0,0,.8)}.layui-nav-child dd{margin:1px 0;position:relative}.layui-nav-child dd.layui-this{background-color:#f8f8f8;color:#000}.layui-nav-child dd.layui-this:after{display:none}.layui-nav-child-r{left:auto;right:0}.layui-nav-child-c{text-align:center}.layui-nav.layui-nav-tree{width:200px;padding:0}.layui-nav-tree .layui-nav-item{display:block;width:100%;line-height:40px}.layui-nav-tree .layui-nav-item a{position:relative;height:40px;line-height:40px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-nav-tree .layui-nav-item>a{padding-top:5px;padding-bottom:5px}.layui-nav-tree .layui-nav-more{right:15px}.layui-nav-tree .layui-nav-item>a .layui-nav-more{padding:5px 0}.layui-nav-tree .layui-nav-bar{width:5px;height:0}.layui-side .layui-nav-tree .layui-nav-bar{width:2px}.layui-nav-tree .layui-nav-child dd.layui-this,.layui-nav-tree .layui-nav-child dd.layui-this a,.layui-nav-tree .layui-this,.layui-nav-tree .layui-this>a,.layui-nav-tree .layui-this>a:hover{background-color:#16baaa;color:#fff}.layui-nav-tree .layui-this:after{display:none}.layui-nav-itemed>a,.layui-nav-tree .layui-nav-title a,.layui-nav-tree .layui-nav-title a:hover{color:#fff!important}.layui-nav-tree .layui-nav-bar{background-color:#16baaa}.layui-nav-tree .layui-nav-child{position:relative;z-index:0;top:0;border:none;background:0 0;background-color:rgba(0,0,0,.3);box-shadow:none}.layui-nav-tree .layui-nav-child dd{margin:0}.layui-nav-tree .layui-nav-child a{color:#fff;color:rgba(255,255,255,.7)}.layui-nav-tree .layui-nav-child a:hover{background:0 0;color:#fff}.layui-nav-itemed>.layui-nav-child,.layui-nav-itemed>.layui-nav-child>.layui-this>.layui-nav-child{display:block}.layui-nav-side{position:fixed;top:0;bottom:0;left:0;overflow-x:hidden;z-index:999}.layui-nav-tree.layui-bg-gray a,.layui-nav.layui-bg-gray .layui-nav-item a{color:#373737;color:rgba(0,0,0,.8)}.layui-nav-tree.layui-bg-gray .layui-nav-itemed>a{color:#000!important}.layui-nav.layui-bg-gray .layui-this a{color:#16b777}.layui-nav-tree.layui-bg-gray .layui-nav-child{padding-left:11px;background:0 0}.layui-nav-tree.layui-bg-gray .layui-nav-child dd.layui-this,.layui-nav-tree.layui-bg-gray .layui-nav-child dd.layui-this a,.layui-nav-tree.layui-bg-gray .layui-this,.layui-nav-tree.layui-bg-gray .layui-this>a{background:0 0!important;color:#16b777!important;font-weight:700}.layui-nav-tree.layui-bg-gray .layui-nav-bar{background-color:#16b777}.layui-breadcrumb{visibility:hidden;font-size:0}.layui-breadcrumb>*{font-size:14px}.layui-breadcrumb a{color:#999!important}.layui-breadcrumb a:hover{color:#16b777!important}.layui-breadcrumb a cite{color:#5f5f5f;font-style:normal}.layui-breadcrumb span[lay-separator]{margin:0 10px;color:#999}.layui-tab{margin:10px 0;text-align:left!important}.layui-tab[overflow]>.layui-tab-title{overflow:hidden}.layui-tab .layui-tab-title{position:relative;left:0;height:40px;white-space:nowrap;font-size:0;border-bottom-width:1px;border-bottom-style:solid;transition:all .2s;-webkit-transition:all .2s}.layui-tab .layui-tab-title li{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;font-size:14px;transition:all .2s;-webkit-transition:all .2s}.layui-tab .layui-tab-title li{position:relative;line-height:40px;min-width:65px;margin:0;padding:0 15px;text-align:center;cursor:pointer}.layui-tab .layui-tab-title li a{display:block;padding:0 15px;margin:0 -15px}.layui-tab-title .layui-this{color:#000}.layui-tab-title .layui-this:after{position:absolute;left:0;top:0;content:"";width:100%;height:41px;border-width:1px;border-bottom-width:2px;border-style:solid;border-bottom-color:#fff;border-radius:2px 2px 0 0;box-sizing:border-box;pointer-events:none}.layui-tab-bar{position:absolute;right:0;top:0;z-index:10;width:30px;height:39px;line-height:39px;border-width:1px;border-style:solid;border-radius:2px;text-align:center;background-color:#fff;cursor:pointer}.layui-tab-bar .layui-icon{position:relative;display:inline-block;top:3px;transition:all .3s;-webkit-transition:all .3s}.layui-tab-item{display:none}.layui-tab-more{padding-right:30px;height:auto!important;white-space:normal!important}.layui-tab-more li.layui-this:after{border-bottom-color:#eee;border-radius:2px}.layui-tab-more .layui-tab-bar .layui-icon{top:-2px;top:3px\0;-webkit-transform:rotate(180deg);transform:rotate(180deg)}:root .layui-tab-more .layui-tab-bar .layui-icon{top:-2px\0/IE9}.layui-tab-content{padding:15px 0}.layui-tab-title li .layui-tab-close{position:relative;display:inline-block;width:18px;height:18px;line-height:20px;margin-left:8px;top:1px;text-align:center;font-size:14px;color:#c2c2c2;transition:all .2s;-webkit-transition:all .2s}.layui-tab-title li .layui-tab-close:hover{border-radius:2px;background-color:#ff5722;color:#fff}.layui-tab-brief>.layui-tab-title .layui-this{color:#16baaa}.layui-tab-brief>.layui-tab-more li.layui-this:after,.layui-tab-brief>.layui-tab-title .layui-this:after{border:none;border-radius:0;border-bottom:2px solid #16b777}.layui-tab-brief[overflow]>.layui-tab-title .layui-this:after{top:-1px}.layui-tab-card{border-width:1px;border-style:solid;border-radius:2px;box-shadow:0 2px 5px 0 rgba(0,0,0,.1)}.layui-tab-card>.layui-tab-title{background-color:#fafafa}.layui-tab-card>.layui-tab-title li{margin-right:-1px;margin-left:-1px}.layui-tab-card>.layui-tab-title .layui-this{background-color:#fff}.layui-tab-card>.layui-tab-title .layui-this:after{border-top:none;border-width:1px;border-bottom-color:#fff}.layui-tab-card>.layui-tab-title .layui-tab-bar{height:40px;line-height:40px;border-radius:0;border-top:none;border-right:none}.layui-tab-card>.layui-tab-more .layui-this{background:0 0;color:#16b777}.layui-tab-card>.layui-tab-more .layui-this:after{border:none}.layui-timeline{padding-left:5px}.layui-timeline-item{position:relative;padding-bottom:20px}.layui-timeline-axis{position:absolute;left:-5px;top:0;z-index:10;width:20px;height:20px;line-height:20px;background-color:#fff;color:#16b777;border-radius:50%;text-align:center;cursor:pointer}.layui-timeline-axis:hover{color:#ff5722}.layui-timeline-item:before{content:"";position:absolute;left:5px;top:0;z-index:0;width:1px;height:100%}.layui-timeline-item:first-child:before{display:block}.layui-timeline-item:last-child:before{display:none}.layui-timeline-content{padding-left:25px}.layui-timeline-title{position:relative;margin-bottom:10px;line-height:22px}.layui-badge,.layui-badge-dot,.layui-badge-rim{position:relative;display:inline-block;padding:0 6px;font-size:12px;text-align:center;background-color:#ff5722;color:#fff;border-radius:2px}.layui-badge{height:18px;line-height:18px}.layui-badge-dot{width:8px;height:8px;padding:0;border-radius:50%}.layui-badge-rim{height:18px;line-height:18px;border-width:1px;border-style:solid;background-color:#fff;color:#5f5f5f}.layui-btn .layui-badge,.layui-btn .layui-badge-dot{margin-left:5px}.layui-nav .layui-badge,.layui-nav .layui-badge-dot{position:absolute;top:50%;margin:-5px 6px 0}.layui-nav .layui-badge{margin-top:-10px}.layui-tab-title .layui-badge,.layui-tab-title .layui-badge-dot{left:5px;top:-2px}.layui-carousel{position:relative;left:0;top:0;background-color:#f8f8f8}.layui-carousel>[carousel-item]{position:relative;width:100%;height:100%;overflow:hidden}.layui-carousel>[carousel-item]:before{position:absolute;content:'\e63d';left:50%;top:50%;width:100px;line-height:20px;margin:-10px 0 0 -50px;text-align:center;color:#c2c2c2;font-family:layui-icon!important;font-size:30px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layui-carousel>[carousel-item]>*{display:none;position:absolute;left:0;top:0;width:100%;height:100%;background-color:#f8f8f8;transition-duration:.3s;-webkit-transition-duration:.3s}.layui-carousel-updown>*{-webkit-transition:.3s ease-in-out up;transition:.3s ease-in-out up}.layui-carousel-arrow{display:none\0;opacity:0;position:absolute;left:10px;top:50%;margin-top:-18px;width:36px;height:36px;line-height:36px;text-align:center;font-size:20px;border:none 0;border-radius:50%;background-color:rgba(0,0,0,.2);color:#fff;-webkit-transition-duration:.3s;transition-duration:.3s;cursor:pointer}.layui-carousel-arrow[lay-type=add]{left:auto!important;right:10px}.layui-carousel[lay-arrow=always] .layui-carousel-arrow{opacity:1;left:20px}.layui-carousel[lay-arrow=always] .layui-carousel-arrow[lay-type=add]{right:20px}.layui-carousel[lay-arrow=none] .layui-carousel-arrow{display:none}.layui-carousel-arrow:hover,.layui-carousel-ind ul:hover{background-color:rgba(0,0,0,.35)}.layui-carousel:hover .layui-carousel-arrow{display:block\0;opacity:1;left:20px}.layui-carousel:hover .layui-carousel-arrow[lay-type=add]{right:20px}.layui-carousel-ind{position:relative;top:-35px;width:100%;line-height:0!important;text-align:center;font-size:0}.layui-carousel[lay-indicator=outside]{margin-bottom:30px}.layui-carousel[lay-indicator=outside] .layui-carousel-ind{top:10px}.layui-carousel[lay-indicator=outside] .layui-carousel-ind ul{background-color:rgba(0,0,0,.5)}.layui-carousel[lay-indicator=none] .layui-carousel-ind{display:none}.layui-carousel-ind ul{display:inline-block;padding:5px;background-color:rgba(0,0,0,.2);border-radius:10px;-webkit-transition-duration:.3s;transition-duration:.3s}.layui-carousel-ind ul li{display:inline-block;width:10px;height:10px;margin:0 3px;font-size:14px;background-color:#eee;background-color:rgba(255,255,255,.5);border-radius:50%;cursor:pointer;-webkit-transition-duration:.3s;transition-duration:.3s}.layui-carousel-ind ul li:hover{background-color:rgba(255,255,255,.7)}.layui-carousel-ind ul li.layui-this{background-color:#fff}.layui-carousel>[carousel-item]>.layui-carousel-next,.layui-carousel>[carousel-item]>.layui-carousel-prev,.layui-carousel>[carousel-item]>.layui-this{display:block}.layui-carousel>[carousel-item]>.layui-this{left:0}.layui-carousel>[carousel-item]>.layui-carousel-prev{left:-100%}.layui-carousel>[carousel-item]>.layui-carousel-next{left:100%}.layui-carousel>[carousel-item]>.layui-carousel-next.layui-carousel-left,.layui-carousel>[carousel-item]>.layui-carousel-prev.layui-carousel-right{left:0}.layui-carousel>[carousel-item]>.layui-this.layui-carousel-left{left:-100%}.layui-carousel>[carousel-item]>.layui-this.layui-carousel-right{left:100%}.layui-carousel[lay-anim=updown] .layui-carousel-arrow{left:50%!important;top:20px;margin:0 0 0 -18px}.layui-carousel[lay-anim=updown] .layui-carousel-arrow[lay-type=add]{top:auto!important;bottom:20px}.layui-carousel[lay-anim=updown] .layui-carousel-ind{position:absolute;top:50%;right:20px;width:auto;height:auto}.layui-carousel[lay-anim=updown] .layui-carousel-ind ul{padding:3px 5px}.layui-carousel[lay-anim=updown] .layui-carousel-ind li{display:block;margin:6px 0}.layui-carousel[lay-anim=updown]>[carousel-item]>*{left:0!important}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this{top:0}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-prev{top:-100%}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-next{top:100%}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-next.layui-carousel-left,.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-prev.layui-carousel-right{top:0}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this.layui-carousel-left{top:-100%}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this.layui-carousel-right{top:100%}.layui-carousel[lay-anim=fade]>[carousel-item]>*{left:0!important}.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-next,.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-prev{opacity:0}.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-next.layui-carousel-left,.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-prev.layui-carousel-right{opacity:1}.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-this.layui-carousel-left,.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-this.layui-carousel-right{opacity:0}.layui-fixbar{position:fixed;right:16px;bottom:16px;z-index:999999}.layui-fixbar li{width:50px;height:50px;line-height:50px;margin-bottom:1px;text-align:center;cursor:pointer;font-size:30px;background-color:#9f9f9f;color:#fff;border-radius:2px;opacity:.95}.layui-fixbar li:hover{opacity:.85}.layui-fixbar li:active{opacity:1}.layui-fixbar .layui-fixbar-top{display:none;font-size:40px}body .layui-util-face{border:none;background:0 0}body .layui-util-face .layui-layer-content{padding:0;background-color:#fff;color:#5f5f5f;box-shadow:none}.layui-util-face .layui-layer-TipsG{display:none}.layui-util-face ul{position:relative;width:372px;padding:10px;border:1px solid #d9d9d9;background-color:#fff;box-shadow:0 0 20px rgba(0,0,0,.2)}.layui-util-face ul li{cursor:pointer;float:left;border:1px solid #e8e8e8;height:22px;width:26px;overflow:hidden;margin:-1px 0 0 -1px;padding:4px 2px;text-align:center}.layui-util-face ul li:hover{position:relative;z-index:2;border:1px solid #eb7350;background:#fff9ec}.layui-code{display:block;position:relative;padding:15px;line-height:20px;border:1px solid #eee;border-left-width:6px;background-color:#fff;color:#333;font-family:"Courier New",Consolas,"Lucida Console";font-size:12px}.layui-transfer-box,.layui-transfer-header,.layui-transfer-search{border-width:0;border-style:solid;border-color:#eee}.layui-transfer-box{position:relative;display:inline-block;vertical-align:middle;border-width:1px;width:200px;height:360px;border-radius:2px;background-color:#fff}.layui-transfer-box .layui-form-checkbox{width:100%;margin:0!important}.layui-transfer-header{height:38px;line-height:38px;padding:0 11px;border-bottom-width:1px}.layui-transfer-search{position:relative;padding:11px;border-bottom-width:1px}.layui-transfer-search .layui-input{height:32px;padding-left:30px;font-size:12px}.layui-transfer-search .layui-icon-search{position:absolute;left:20px;top:50%;line-height:normal;margin-top:-8px;color:#5f5f5f}.layui-transfer-active{margin:0 15px;display:inline-block;vertical-align:middle}.layui-transfer-active .layui-btn{display:block;margin:0;padding:0 15px;background-color:#16b777;border-color:#16b777;color:#fff}.layui-transfer-active .layui-btn-disabled{background-color:#fbfbfb;border-color:#eee;color:#d2d2d2}.layui-transfer-active .layui-btn:first-child{margin-bottom:15px}.layui-transfer-active .layui-btn .layui-icon{margin:0;font-size:14px!important}.layui-transfer-data{padding:5px 0;overflow:auto}.layui-transfer-data li{height:32px;line-height:32px;margin-top:0!important;padding:0 11px;list-style-type:none!important}.layui-transfer-data li:hover{background-color:#f8f8f8;transition:.5s all}.layui-transfer-data .layui-none{padding:15px 11px;text-align:center;color:#999}.layui-rate,.layui-rate *{display:inline-block;vertical-align:middle}.layui-rate{padding:11px 6px 11px 0;font-size:0}.layui-rate li{margin-top:0!important}.layui-rate li i.layui-icon{font-size:20px;color:#ffb800}.layui-rate li i.layui-icon{margin-right:5px;transition:all .3s;-webkit-transition:all .3s}.layui-rate li i:hover,.layui-rate-hover{cursor:pointer;transform:scale(1.12);-webkit-transform:scale(1.12)}.layui-rate[readonly] li i:hover{cursor:default;transform:scale(1)}.layui-colorpicker{width:38px;height:38px;border:1px solid #eee;padding:5px;border-radius:2px;line-height:24px;display:inline-block;cursor:pointer;transition:all .3s;-webkit-transition:all .3s;box-sizing:border-box}.layui-colorpicker:hover{border-color:#d2d2d2}.layui-colorpicker.layui-colorpicker-lg{width:44px;height:44px;line-height:30px}.layui-colorpicker.layui-colorpicker-sm{width:30px;height:30px;line-height:20px;padding:3px}.layui-colorpicker.layui-colorpicker-xs{width:22px;height:22px;line-height:16px;padding:1px}.layui-colorpicker-trigger-bgcolor{display:block;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==);border-radius:2px}.layui-colorpicker-trigger-span{display:block;height:100%;box-sizing:border-box;border:1px solid rgba(0,0,0,.15);border-radius:2px;text-align:center}.layui-colorpicker-trigger-i{display:inline-block;color:#fff;font-size:12px}.layui-colorpicker-trigger-i.layui-icon-close{color:#999}.layui-colorpicker-main{position:absolute;left:-999999px;top:-999999px;z-index:77777777;width:280px;margin:5px 0;padding:7px;background:#fff;border:1px solid #d2d2d2;border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,.12)}.layui-colorpicker-main-wrapper{height:180px;position:relative}.layui-colorpicker-basis{width:260px;height:100%;position:relative;overflow:hidden}.layui-colorpicker-basis-white{width:100%;height:100%;position:absolute;top:0;left:0;background:linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.layui-colorpicker-basis-black{width:100%;height:100%;position:absolute;top:0;left:0;background:linear-gradient(0deg,#000,transparent)}.layui-colorpicker-basis-cursor{width:10px;height:10px;border:1px solid #fff;border-radius:50%;position:absolute;top:0;right:100%;cursor:pointer;transform:translate(-50%,-50%)}.layui-colorpicker-side{position:absolute;top:0;right:0;width:12px;height:100%;background:linear-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.layui-colorpicker-side-slider{width:100%;height:5px;box-shadow:0 0 1px #888;box-sizing:border-box;background:#fff;border-radius:1px;border:1px solid #f0f0f0;cursor:pointer;position:absolute;left:0}.layui-colorpicker-main-alpha{display:none;height:12px;margin-top:7px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.layui-colorpicker-alpha-bgcolor{height:100%;position:relative}.layui-colorpicker-alpha-slider{width:5px;height:100%;box-shadow:0 0 1px #888;box-sizing:border-box;background:#fff;border-radius:1px;border:1px solid #f0f0f0;cursor:pointer;position:absolute;top:0}.layui-colorpicker-main-pre{padding-top:7px;font-size:0}.layui-colorpicker-pre{width:20px;height:20px;border-radius:2px;display:inline-block;margin-left:6px;margin-bottom:7px;cursor:pointer}.layui-colorpicker-pre:nth-child(11n+1){margin-left:0}.layui-colorpicker-pre-isalpha{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.layui-colorpicker-pre.layui-this{box-shadow:0 0 3px 2px rgba(0,0,0,.15)}.layui-colorpicker-pre>div{height:100%;border-radius:2px}.layui-colorpicker-main-input{text-align:right;padding-top:7px}.layui-colorpicker-main-input .layui-btn-container .layui-btn{margin:0 0 0 10px}.layui-colorpicker-main-input div.layui-inline{float:left;font-size:14px}.layui-colorpicker-main-input input.layui-input{width:168px;height:30px;color:#5f5f5f;padding-left:5px}.layui-slider{height:4px;background:#eee;border-radius:3px;position:relative;cursor:pointer}.layui-slider-bar{border-radius:3px;position:absolute;height:100%}.layui-slider-step{position:absolute;top:0;width:4px;height:4px;border-radius:50%;background:#fff;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.layui-slider-wrap{width:36px;height:36px;position:absolute;top:-16px;-webkit-transform:translateX(-50%);transform:translateX(-50%);z-index:10;text-align:center}.layui-slider-wrap-btn{width:12px;height:12px;border-radius:50%;background:#fff;display:inline-block;vertical-align:middle;cursor:pointer;transition:.3s}.layui-slider-wrap:after{content:"";height:100%;display:inline-block;vertical-align:middle}.layui-slider-wrap-btn.layui-slider-hover,.layui-slider-wrap-btn:hover{transform:scale(1.2)}.layui-slider-wrap-btn.layui-disabled:hover{transform:scale(1)!important}.layui-slider-tips{position:absolute;top:-42px;z-index:77777777;white-space:nowrap;-webkit-transform:translateX(-50%);transform:translateX(-50%);color:#fff;background:#000;border-radius:3px;height:25px;line-height:25px;padding:0 10px}.layui-slider-tips:after{content:"";position:absolute;bottom:-12px;left:50%;margin-left:-6px;width:0;height:0;border-width:6px;border-style:solid;border-color:#000 transparent transparent transparent}.layui-slider-input{width:70px;height:32px;border:1px solid #eee;border-radius:3px;font-size:16px;line-height:32px;position:absolute;right:0;top:-14px;box-sizing:border-box}.layui-slider-input-btn{position:absolute;top:0;right:0;width:20px;height:100%;border-left:1px solid #eee}.layui-slider-input-btn i{cursor:pointer;position:absolute;right:0;bottom:0;width:20px;height:50%;font-size:12px;line-height:16px;text-align:center;color:#999}.layui-slider-input-btn i:first-child{top:0;border-bottom:1px solid #eee}.layui-slider-input-txt{height:100%;font-size:14px}.layui-slider-input-txt input{height:100%;border:none;padding-right:21px}.layui-slider-input-btn i:hover{color:#16baaa}.layui-slider-vertical{width:4px;margin-left:33px}.layui-slider-vertical .layui-slider-bar{width:4px}.layui-slider-vertical .layui-slider-step{top:auto;left:0;-webkit-transform:translateY(50%);transform:translateY(50%)}.layui-slider-vertical .layui-slider-wrap{top:auto;left:-16px;-webkit-transform:translateY(50%);transform:translateY(50%)}.layui-slider-vertical .layui-slider-tips{top:auto;left:2px}@media \0screen{.layui-slider-wrap-btn{margin-left:-20px}.layui-slider-vertical .layui-slider-wrap-btn{margin-left:0;margin-bottom:-20px}.layui-slider-vertical .layui-slider-tips{margin-left:-8px}.layui-slider>span{margin-left:8px}}.layui-tree{line-height:22px}.layui-tree .layui-form-checkbox{margin:0!important}.layui-tree-set{width:100%;position:relative}.layui-tree-pack{display:none;padding-left:20px;position:relative}.layui-tree-line .layui-tree-pack{padding-left:27px}.layui-tree-line .layui-tree-set .layui-tree-set:after{content:"";position:absolute;top:14px;left:-9px;width:17px;height:0;border-top:1px dotted #c0c4cc}.layui-tree-entry{position:relative;padding:3px 0;height:26px;white-space:nowrap}.layui-tree-entry:hover{background-color:#eee}.layui-tree-line .layui-tree-entry:hover{background-color:rgba(0,0,0,0)}.layui-tree-line .layui-tree-entry:hover .layui-tree-txt{color:#999;text-decoration:underline;transition:.3s}.layui-tree-main{display:inline-block;vertical-align:middle;cursor:pointer;padding-right:10px}.layui-tree-line .layui-tree-set:before{content:"";position:absolute;top:0;left:-9px;width:0;height:100%;border-left:1px dotted #c0c4cc}.layui-tree-line .layui-tree-set.layui-tree-setLineShort:before{height:13px}.layui-tree-line .layui-tree-set.layui-tree-setHide:before{height:0}.layui-tree-iconClick{display:inline-block;vertical-align:middle;position:relative;height:20px;line-height:20px;margin:0 10px;color:#c0c4cc}.layui-tree-icon{height:14px;line-height:12px;width:14px;text-align:center;border:1px solid #c0c4cc}.layui-tree-iconClick .layui-icon{font-size:18px}.layui-tree-icon .layui-icon{font-size:12px;color:#5f5f5f}.layui-tree-iconArrow{padding:0 5px}.layui-tree-iconArrow:after{content:"";position:absolute;left:4px;top:3px;z-index:100;width:0;height:0;border-width:5px;border-style:solid;border-color:transparent transparent transparent #c0c4cc;transition:.5s}.layui-tree-spread>.layui-tree-entry .layui-tree-iconClick>.layui-tree-iconArrow:after{transform:rotate(90deg) translate(3px,4px)}.layui-tree-txt{display:inline-block;vertical-align:middle;color:#555}.layui-tree-search{margin-bottom:15px;color:#5f5f5f}.layui-tree-btnGroup{visibility:hidden;display:inline-block;vertical-align:middle;position:relative}.layui-tree-btnGroup .layui-icon{display:inline-block;vertical-align:middle;padding:0 2px;cursor:pointer}.layui-tree-btnGroup .layui-icon:hover{color:#999;transition:.3s}.layui-tree-entry:hover .layui-tree-btnGroup{visibility:visible}.layui-tree-editInput{position:relative;display:inline-block;vertical-align:middle;height:20px;line-height:20px;padding:0;border:none;background-color:rgba(0,0,0,.05)}.layui-tree-emptyText{text-align:center;color:#999}.layui-anim{-webkit-animation-duration:.3s;-webkit-animation-fill-mode:both;animation-duration:.3s;animation-fill-mode:both}.layui-anim.layui-icon{display:inline-block}.layui-anim-loop{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.layui-trans,.layui-trans a{transition:all .2s;-webkit-transition:all .2s}@-webkit-keyframes layui-rotate{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(360deg)}}@keyframes layui-rotate{from{transform:rotate(0)}to{transform:rotate(360deg)}}.layui-anim-rotate{-webkit-animation-name:layui-rotate;animation-name:layui-rotate;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:linear;animation-timing-function:linear}@-webkit-keyframes layui-up{from{-webkit-transform:translate3d(0,100%,0);opacity:.3}to{-webkit-transform:translate3d(0,0,0);opacity:1}}@keyframes layui-up{from{transform:translate3d(0,100%,0);opacity:.3}to{transform:translate3d(0,0,0);opacity:1}}.layui-anim-up{-webkit-animation-name:layui-up;animation-name:layui-up}@-webkit-keyframes layui-upbit{from{-webkit-transform:translate3d(0,15px,0);opacity:.3}to{-webkit-transform:translate3d(0,0,0);opacity:1}}@keyframes layui-upbit{from{transform:translate3d(0,15px,0);opacity:.3}to{transform:translate3d(0,0,0);opacity:1}}.layui-anim-upbit{-webkit-animation-name:layui-upbit;animation-name:layui-upbit}@keyframes layui-down{0%{opacity:.3;transform:translate3d(0,-100%,0)}100%{opacity:1;transform:translate3d(0,0,0)}}.layui-anim-down{animation-name:layui-down}@keyframes layui-downbit{0%{opacity:.3;transform:translate3d(0,-5px,0)}100%{opacity:1;transform:translate3d(0,0,0)}}.layui-anim-downbit{animation-name:layui-downbit}@-webkit-keyframes layui-scale{0%{opacity:.3;-webkit-transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes layui-scale{0%{opacity:.3;-ms-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-ms-transform:scale(1);transform:scale(1)}}.layui-anim-scale{-webkit-animation-name:layui-scale;animation-name:layui-scale}@-webkit-keyframes layui-scale-spring{0%{opacity:.5;-webkit-transform:scale(.5)}80%{opacity:.8;-webkit-transform:scale(1.1)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes layui-scale-spring{0%{opacity:.5;transform:scale(.5)}80%{opacity:.8;transform:scale(1.1)}100%{opacity:1;transform:scale(1)}}.layui-anim-scaleSpring{-webkit-animation-name:layui-scale-spring;animation-name:layui-scale-spring}@keyframes layui-scalesmall{0%{opacity:.3;transform:scale(1.5)}100%{opacity:1;transform:scale(1)}}.layui-anim-scalesmall{animation-name:layui-scalesmall}@keyframes layui-scalesmall-spring{0%{opacity:.3;transform:scale(1.5)}80%{opacity:.8;transform:scale(.9)}100%{opacity:1;transform:scale(1)}}.layui-anim-scalesmall-spring{animation-name:layui-scalesmall-spring}@-webkit-keyframes layui-fadein{0%{opacity:0}100%{opacity:1}}@keyframes layui-fadein{0%{opacity:0}100%{opacity:1}}.layui-anim-fadein{-webkit-animation-name:layui-fadein;animation-name:layui-fadein}@-webkit-keyframes layui-fadeout{0%{opacity:1}100%{opacity:0}}@keyframes layui-fadeout{0%{opacity:1}100%{opacity:0}}.layui-anim-fadeout{-webkit-animation-name:layui-fadeout;animation-name:layui-fadeout}html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-wrap{font-size:13px;font-family:"Courier New",Consolas,"Lucida Console"}.layui-code-view{display:block;position:relative;padding:0!important;border:1px solid #eee;border-left-width:6px;background-color:#fff;color:#333}.layui-code-view pre{margin:0!important}.layui-code-header{position:relative;z-index:3;padding:0 11px;height:40px;line-height:40px;border-bottom:1px solid #eee;background-color:#fafafa;font-size:12px}.layui-code-header>.layui-code-header-about{position:absolute;right:11px;top:0;color:#b7b7b7}.layui-code-header-about>a{padding-left:10px}.layui-code-wrap{position:relative;display:block;z-index:1;margin:0!important;padding:11px 0!important;overflow-x:hidden;overflow-y:auto}.layui-code-line{position:relative;line-height:19px;margin:0!important}.layui-code-line-number{position:absolute;left:0;top:0;padding:0 8px;min-width:45px;height:100%;text-align:right;user-select:none;white-space:nowrap;overflow:hidden}.layui-code-line-content{padding:0 11px;word-wrap:break-word;white-space:pre-wrap}.layui-code-ln-mode>.layui-code-wrap>.layui-code-line{padding-left:45px}.layui-code-ln-side{position:absolute;left:0;top:0;bottom:0;z-index:0;width:45px;border-right:1px solid #eee;border-color:rgb(126 122 122 / 15%);background-color:#fafafa;pointer-events:none}.layui-code-nowrap>.layui-code-wrap{overflow:auto}.layui-code-nowrap>.layui-code-wrap>.layui-code-line>.layui-code-line-content{white-space:pre;word-wrap:normal}.layui-code-nowrap>.layui-code-ln-side{border-right-width:0!important;background:0 0!important}.layui-code-fixbar{position:absolute;top:8px;right:11px;padding-right:45px;z-index:5}.layui-code-fixbar>span{position:absolute;right:0;top:0;padding:0 8px;color:#777;transition:all .3s}.layui-code-fixbar>span:hover{color:#16b777}.layui-code-copy{display:none;cursor:pointer}.layui-code-preview>.layui-code-view>.layui-code-fixbar .layui-code-copy{display:none!important}.layui-code-view:hover>.layui-code-fixbar .layui-code-copy{display:block}.layui-code-view:hover>.layui-code-fixbar .layui-code-lang-marker{display:none}.layui-code-theme-dark,.layui-code-theme-dark>.layui-code-header{border-color:rgb(126 122 122 / 15%);background-color:#1f1f1f}.layui-code-theme-dark{border-width:1px;color:#ccc}.layui-code-theme-dark>.layui-code-ln-side{border-right-color:#2a2a2a;background:0 0;color:#6e7681}.layui-code textarea{display:none}.layui-code-preview>.layui-code,.layui-code-preview>.layui-code-view{margin:0}.layui-code-preview>.layui-tab{position:relative;z-index:1;margin-bottom:0}.layui-code-preview>.layui-tab>.layui-tab-title{border-width:0}.layui-code-preview .layui-code-item{display:none}.layui-code-item-preview{position:relative;padding:16px}.layui-code-item-preview>iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.layui-code-tools{position:absolute;right:11px;top:8px;line-height:normal}.layui-code-tools>i{display:inline-block;margin-left:6px;padding:3px;cursor:pointer}.layui-code-tools>i.layui-icon-file-b{color:#999}.layui-code-tools>i:hover{color:#16b777}.layui-code-full{position:fixed;left:0;top:0;z-index:1111111;width:100%;height:100%;background-color:#fff}.layui-code-full .layui-code-item{width:100%!important;border-width:0!important;border-top-width:1px!important}.layui-code-full .layui-code-item,.layui-code-full .layui-code-view,.layui-code-full .layui-code-wrap{height:calc(100vh - 51px)!important;box-sizing:border-box}.layui-code-full .layui-code-item-preview{overflow:auto}.layui-code-view.layui-code-hl{line-height:20px!important;border-left-width:1px}.layui-code-view.layui-code-hl>.layui-code-ln-side{background-color:transparent}.layui-code-theme-dark.layui-code-hl,.layui-code-theme-dark.layui-code-hl>.layui-code-ln-side{border-color:rgb(126 122 122 / 15%)}html #layuicss-laydate{display:none;position:absolute;width:1989px}.layui-laydate *{margin:0;padding:0}.layui-laydate,.layui-laydate *{box-sizing:border-box}.layui-laydate{position:absolute;z-index:99999999;margin:5px 0;border-radius:2px;font-size:14px;line-height:normal;-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.layui-laydate-main{width:272px}.layui-laydate-content td,.layui-laydate-header *,.layui-laydate-list li{transition-duration:.3s;-webkit-transition-duration:.3s}.layui-laydate-shade{top:0;left:0;width:100%;height:100%;_height:expression(document.body.offsetHeight+"px");position:fixed;_position:absolute;pointer-events:auto}@keyframes laydate-downbit{0%{opacity:.3;transform:translate3d(0,-5px,0)}100%{opacity:1;transform:translate3d(0,0,0)}}.layui-laydate{animation-name:laydate-downbit}.layui-laydate-static{position:relative;z-index:0;display:inline-block;margin:0;-webkit-animation:none;animation:none}.laydate-ym-show .laydate-next-m,.laydate-ym-show .laydate-prev-m{display:none!important}.laydate-ym-show .laydate-next-y,.laydate-ym-show .laydate-prev-y{display:inline-block!important}.laydate-ym-show .laydate-set-ym span[lay-type=month]{display:none!important}.laydate-time-show .laydate-set-ym span[lay-type=month],.laydate-time-show .laydate-set-ym span[lay-type=year],.laydate-time-show .layui-laydate-header .layui-icon{display:none!important}.layui-laydate-header{position:relative;line-height:30px;padding:10px 70px 5px}.layui-laydate-header *{display:inline-block;vertical-align:bottom}.layui-laydate-header i{position:absolute;top:10px;padding:0 5px;color:#999;font-size:18px;cursor:pointer}.layui-laydate-header i.laydate-prev-y{left:15px}.layui-laydate-header i.laydate-prev-m{left:45px}.layui-laydate-header i.laydate-next-y{right:15px}.layui-laydate-header i.laydate-next-m{right:45px}.laydate-set-ym{width:100%;text-align:center;box-sizing:border-box;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.laydate-set-ym span{padding:0 10px;cursor:pointer}.laydate-time-text{cursor:default!important}.layui-laydate-content{position:relative;padding:10px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.layui-laydate-content table{border-collapse:collapse;border-spacing:0}.layui-laydate-content td,.layui-laydate-content th{width:36px;height:30px;padding:0;text-align:center}.layui-laydate-content th{font-weight:400}.layui-laydate-content td{position:relative;cursor:pointer}.laydate-day-mark{position:absolute;left:0;top:0;width:100%;line-height:30px;font-size:12px;overflow:hidden}.laydate-day-mark::after{position:absolute;content:'';right:2px;top:2px;width:5px;height:5px;border-radius:50%}.laydate-day-holidays:before{position:absolute;left:0;top:0;font-size:12px;transform:scale(.7)}.laydate-day-holidays:before{content:'\4F11';color:#ff5722}.laydate-day-holidays[type=workdays]:before{content:'\73ED';color:inherit}.layui-laydate .layui-this .laydate-day-holidays:before{color:#fff}.layui-laydate-footer{position:relative;height:46px;line-height:26px;padding:10px}.layui-laydate-footer span{display:inline-block;vertical-align:top;height:26px;line-height:24px;padding:0 10px;border:1px solid #c9c9c9;border-radius:2px;background-color:#fff;font-size:12px;cursor:pointer;white-space:nowrap;transition:all .3s}.layui-laydate-footer span:hover{color:#16b777}.layui-laydate-footer span.layui-laydate-preview{cursor:default;border-color:transparent!important}.layui-laydate-footer span.layui-laydate-preview:hover{color:#777}.layui-laydate-footer span:first-child.layui-laydate-preview{padding-left:0}.laydate-footer-btns{position:absolute;right:10px;top:10px}.laydate-footer-btns span{margin:0 0 0 -1px;border-radius:0}.laydate-footer-btns span:first-child{border-radius:2px 0 0 2px}.laydate-footer-btns span:last-child{border-radius:0 2px 2px 0}.layui-laydate-shortcut{width:80px;padding:6px 0;display:inline-block;vertical-align:top;overflow:auto;max-height:276px;text-align:center}.layui-laydate-shortcut+.layui-laydate-main{display:inline-block;border-left:1px solid #e2e2e2}.layui-laydate-shortcut>li{padding:5px 8px;cursor:pointer;line-height:18px}.layui-laydate .layui-laydate-list{position:absolute;left:0;top:0;width:100%;height:100%;padding:10px;box-sizing:border-box;background-color:#fff}.layui-laydate .layui-laydate-list>li{position:relative;display:inline-block;width:33.3%;height:36px;line-height:36px;margin:3px 0;vertical-align:middle;text-align:center;cursor:pointer;list-style:none}.layui-laydate .laydate-month-list>li{width:25%;margin:17px 0}.laydate-time-list{display:table}.layui-laydate .laydate-time-list>li{display:table-cell;height:100%;margin:0;line-height:normal;cursor:default}.layui-laydate .laydate-time-list p{position:relative;top:-4px;margin:0;line-height:29px}.layui-laydate .laydate-time-list ol{height:181px;overflow:hidden}.layui-laydate .laydate-time-list>li:hover ol{overflow-y:auto}.layui-laydate .laydate-time-list ol li{width:130%;padding-left:33px;height:30px;line-height:30px;text-align:left;cursor:pointer}.layui-laydate .laydate-time-list-hide-1 ol li{padding-left:53px}.layui-laydate .laydate-time-list-hide-2 ol li{padding-left:117px}.layui-laydate-hint{position:absolute;top:115px;left:50%;width:250px;margin-left:-125px;line-height:20px;padding:15px;text-align:center;font-size:12px;color:#ff5722}.layui-laydate-range{width:546px}.layui-laydate-range .layui-laydate-main{display:inline-block;vertical-align:middle;max-width:50%}.layui-laydate-range .laydate-main-list-1 .layui-laydate-content,.layui-laydate-range .laydate-main-list-1 .layui-laydate-header{border-left:1px solid #e2e2e2}.layui-laydate-range.layui-laydate-linkage .laydate-main-list-0 .laydate-next-m,.layui-laydate-range.layui-laydate-linkage .laydate-main-list-0 .laydate-next-y,.layui-laydate-range.layui-laydate-linkage .laydate-main-list-1 .laydate-prev-m,.layui-laydate-range.layui-laydate-linkage .laydate-main-list-1 .laydate-prev-y{display:none}.layui-laydate-range.layui-laydate-linkage .laydate-main-list-1 .layui-laydate-content,.layui-laydate-range.layui-laydate-linkage .laydate-main-list-1 .layui-laydate-header{border-left-style:dashed}.layui-laydate,.layui-laydate-hint{border:1px solid #d2d2d2;box-shadow:0 2px 4px rgba(0,0,0,.12);background-color:#fff;color:#777}.layui-laydate-header{border-bottom:1px solid #e2e2e2}.layui-laydate-header i:hover,.layui-laydate-header span:hover{color:#16b777}.layui-laydate-content{border-top:none 0;border-bottom:none 0}.layui-laydate-content th{color:#333}.layui-laydate-content td{color:#777}.layui-laydate-content td.laydate-day-now{color:#16b777}.layui-laydate-content td.laydate-day-now:after{content:'';position:absolute;width:100%;height:30px;left:0;top:0;border:1px solid #16b777;box-sizing:border-box}.layui-laydate-linkage .layui-laydate-content td.laydate-selected>div{background-color:#cffae9;transition:all .3s}.layui-laydate-linkage .laydate-selected:hover>div{background-color:#cffae9!important}.layui-laydate-content td.laydate-selected:after,.layui-laydate-content td:hover:after{content:none}.layui-laydate-content td>div:hover,.layui-laydate-list li:hover,.layui-laydate-shortcut>li:hover{background-color:#eee;color:#333;transition:all .3s}.laydate-time-list li ol{margin:0;padding:0;border:1px solid #e2e2e2;border-left-width:0}.laydate-time-list li:first-child ol{border-left-width:1px}.laydate-time-list>li:hover{background:0 0}.layui-laydate-content .laydate-day-next,.layui-laydate-content .laydate-day-prev{color:#d2d2d2}.layui-laydate-linkage .laydate-selected.laydate-day-next>div,.layui-laydate-linkage .laydate-selected.laydate-day-prev>div{background:0 0!important}.layui-laydate-footer{border-top:1px solid #e2e2e2}.layui-laydate-hint{color:#ff5722}.laydate-day-mark::after{background-color:#16b777}.layui-laydate-content td.layui-this .laydate-day-mark::after{display:none}.layui-laydate-footer span[lay-type=date]{color:#16b777}.layui-laydate .layui-this,.layui-laydate .layui-this>div{background-color:#16b777!important;color:#fff!important}.layui-laydate .laydate-disabled,.layui-laydate .laydate-disabled:hover{background:0 0!important;color:#d2d2d2!important;cursor:not-allowed!important;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.layui-laydate .layui-this.laydate-disabled,.layui-laydate .layui-this.laydate-disabled>div{background-color:#eee!important}.layui-laydate-content td>div{padding:7px 0;height:100%}.laydate-theme-molv{border:none}.laydate-theme-molv.layui-laydate-range{width:548px}.laydate-theme-molv .layui-laydate-main{width:274px}.laydate-theme-molv .layui-laydate-header{border:none;background-color:#16baaa}.laydate-theme-molv .layui-laydate-header i,.laydate-theme-molv .layui-laydate-header span{color:#f6f6f6}.laydate-theme-molv .layui-laydate-header i:hover,.laydate-theme-molv .layui-laydate-header span:hover{color:#fff}.laydate-theme-molv .layui-laydate-content{border:1px solid #e2e2e2;border-top:none;border-bottom:none}.laydate-theme-molv .laydate-main-list-1 .layui-laydate-content{border-left:none}.laydate-theme-molv .layui-this,.laydate-theme-molv .layui-this>div{background-color:#16baaa!important}.laydate-theme-molv .layui-laydate-footer{border:1px solid #e2e2e2}.laydate-theme-grid .laydate-month-list>li,.laydate-theme-grid .laydate-year-list>li,.laydate-theme-grid .layui-laydate-content td,.laydate-theme-grid .layui-laydate-content thead{border:1px solid #e2e2e2}.layui-laydate-linkage.laydate-theme-grid .laydate-selected,.layui-laydate-linkage.laydate-theme-grid .laydate-selected:hover{background-color:#f2f2f2!important;color:#16baaa!important}.layui-laydate-linkage.laydate-theme-grid .laydate-selected.laydate-day-next,.layui-laydate-linkage.laydate-theme-grid .laydate-selected.laydate-day-prev{color:#d2d2d2!important}.laydate-theme-grid .laydate-month-list,.laydate-theme-grid .laydate-year-list{margin:1px 0 0 1px}.laydate-theme-grid .laydate-month-list>li,.laydate-theme-grid .laydate-year-list>li{margin:0 -1px -1px 0}.laydate-theme-grid .laydate-year-list>li{height:43px;line-height:43px}.laydate-theme-grid .laydate-month-list>li{height:71px;line-height:71px}.laydate-theme-grid .layui-laydate-content td>div{height:29px;margin-top:-1px}.laydate-theme-circle .layui-laydate-content td.layui-this>div,.laydate-theme-circle .layui-laydate-content td>div{width:28px;height:28px;line-height:28px;border-radius:14px;margin:0 4px;padding:0}.layui-laydate.laydate-theme-circle .layui-laydate-content table td.layui-this{background-color:transparent!important}.laydate-theme-grid.laydate-theme-circle .layui-laydate-content td>div{margin:0 3.5px}.laydate-theme-fullpanel .layui-laydate-main{width:526px}.laydate-theme-fullpanel .layui-laydate-list{width:252px;left:272px}.laydate-theme-fullpanel .laydate-set-ym span{display:none}.laydate-theme-fullpanel .laydate-time-show .laydate-set-ym span[lay-type=month],.laydate-theme-fullpanel .laydate-time-show .laydate-set-ym span[lay-type=year],.laydate-theme-fullpanel .laydate-time-show .layui-laydate-header .layui-icon{display:inline-block!important}.laydate-theme-fullpanel .laydate-btns-time{display:none}.laydate-theme-fullpanel .laydate-time-list-hide-1 ol li{padding-left:49px}.laydate-theme-fullpanel .laydate-time-list-hide-2 ol li{padding-left:107px}html #layuicss-layer{display:none;position:absolute;width:1989px}.layui-layer,.layui-layer-shade{position:fixed;_position:absolute;pointer-events:auto}.layui-layer-shade{opacity:0;transition:opacity .35s cubic-bezier(.34,.69,.1,1);top:0;left:0;width:100%;height:100%;_height:expression(document.body.offsetHeight+"px")}.layui-layer{-webkit-overflow-scrolling:touch}.layui-layer{top:150px;left:0;margin:0;padding:0;background-color:#fff;-webkit-background-clip:content;border-radius:2px;box-shadow:1px 1px 50px rgba(0,0,0,.3)}.layui-layer-close{position:absolute}.layui-layer-content{position:relative}.layui-layer-border{border:1px solid #b2b2b2;border:1px solid rgba(0,0,0,.1);box-shadow:1px 1px 5px rgba(0,0,0,.2)}.layui-layer-btn a,.layui-layer-setwin span{display:inline-block;vertical-align:middle;*display:inline;*zoom:1}.layui-layer-move{display:none;position:fixed;*position:absolute;left:0;top:0;width:100%;height:100%;cursor:move;opacity:0;filter:alpha(opacity=0);background-color:#fff;z-index:2147483647}.layui-layer-resize{position:absolute;width:15px;height:15px;right:0;bottom:0;cursor:se-resize}.layer-anim{-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.3s;animation-duration:.3s}@-webkit-keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-00{-webkit-animation-name:layer-bounceIn;animation-name:layer-bounceIn}@-webkit-keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);-ms-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);-ms-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-01{-webkit-animation-name:layer-zoomInDown;animation-name:layer-zoomInDown}@-webkit-keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.layer-anim-02{-webkit-animation-name:layer-fadeInUpBig;animation-name:layer-fadeInUpBig}@-webkit-keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);-ms-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);-ms-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-03{-webkit-animation-name:layer-zoomInLeft;animation-name:layer-zoomInLeft}@-webkit-keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}@keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);-ms-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);-ms-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}.layer-anim-04{-webkit-animation-name:layer-rollIn;animation-name:layer-rollIn}@keyframes layer-fadeIn{0%{opacity:0}100%{opacity:1}}.layer-anim-05{-webkit-animation-name:layer-fadeIn;animation-name:layer-fadeIn}@-webkit-keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}}.layer-anim-06{-webkit-animation-name:layer-shake;animation-name:layer-shake}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes layer-slide-down{from{transform:translate3d(0,-100%,0)}to{transform:translate3d(0,0,0)}}@keyframes layer-slide-down-out{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,-100%,0)}}.layer-anim-slide-down{animation-name:layer-slide-down}.layer-anim-slide-down-out{animation-name:layer-slide-down-out}@keyframes layer-slide-left{from{transform:translate3d(100%,0,0)}to{transform:translate3d(0,0,0)}}@keyframes layer-slide-left-out{from{transform:translate3d(0,0,0)}to{transform:translate3d(100%,0,0)}}.layer-anim-slide-left{animation-name:layer-slide-left}.layer-anim-slide-left-out{animation-name:layer-slide-left-out}@keyframes layer-slide-up{from{transform:translate3d(0,100%,0)}to{transform:translate3d(0,0,0)}}@keyframes layer-slide-up-out{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,100%,0)}}.layer-anim-slide-up{animation-name:layer-slide-up}.layer-anim-slide-up-out{animation-name:layer-slide-up-out}@keyframes layer-slide-right{from{transform:translate3d(-100%,0,0)}to{transform:translate3d(0,0,0)}}@keyframes layer-slide-right-out{from{transform:translate3d(0,0,0)}to{transform:translate3d(-100%,0,0)}}.layer-anim-slide-right{animation-name:layer-slide-right}.layer-anim-slide-right-out{animation-name:layer-slide-right-out}.layui-layer-title{padding:0 81px 0 16px;height:50px;line-height:50px;border-bottom:1px solid #f0f0f0;font-size:14px;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:2px 2px 0 0}.layui-layer-setwin{position:absolute;right:15px;*right:0;top:16px;font-size:0;line-height:initial}.layui-layer-setwin span{position:relative;width:16px;height:16px;line-height:18px;margin-left:10px;text-align:center;font-size:16px;cursor:pointer;color:#000;_overflow:hidden;box-sizing:border-box}.layui-layer-setwin .layui-layer-min:before{content:'';position:absolute;width:12px;border-bottom:1px solid #2e2d3c;left:50%;top:50%;margin:-.5px 0 0 -6px;cursor:pointer;_overflow:hidden}.layui-layer-setwin .layui-layer-min:hover:before{background-color:#2d93ca}.layui-layer-setwin .layui-layer-max:after,.layui-layer-setwin .layui-layer-max:before{content:'';position:absolute;left:50%;top:50%;z-index:1;width:9px;height:9px;margin:-5px 0 0 -5px;border:1px solid #2e2d3c}.layui-layer-setwin .layui-layer-max:hover:after,.layui-layer-setwin .layui-layer-max:hover:before{border-color:#2d93ca}.layui-layer-setwin .layui-layer-min:hover:before{background-color:#2d93ca}.layui-layer-setwin .layui-layer-maxmin:after,.layui-layer-setwin .layui-layer-maxmin:before{width:7px;height:7px;margin:-3px 0 0 -3px;background-color:#fff}.layui-layer-setwin .layui-layer-maxmin:after{z-index:0;margin:-5px 0 0 -1px}.layui-layer-setwin .layui-layer-close{cursor:pointer}.layui-layer-setwin .layui-layer-close:hover{opacity:.7}.layui-layer-setwin .layui-layer-close2{position:absolute;right:-28px;top:-28px;color:#fff;background-color:#787878;padding:3px;border:3px solid;width:28px;height:28px;font-size:16px;font-weight:bolder;border-radius:50%;margin-left:0;*right:-18px;_display:none}.layui-layer-setwin .layui-layer-close2:hover{opacity:unset;background-color:#3888f6}.layui-layer-btn{text-align:right;padding:0 15px 12px;pointer-events:auto;user-select:none;-webkit-user-select:none}.layui-layer-btn a{height:30px;line-height:30px;margin:5px 5px 0;padding:0 16px;border:1px solid #dedede;background-color:#fff;color:#333;border-radius:2px;font-weight:400;cursor:pointer;text-decoration:none;box-sizing:border-box}.layui-layer-btn a:hover{opacity:.9;text-decoration:none}.layui-layer-btn a:active{opacity:.8}.layui-layer-btn .layui-layer-btn0{border-color:transparent;background-color:#1e9fff;color:#fff}.layui-layer-btn-l{text-align:left}.layui-layer-btn-c{text-align:center}.layui-layer-btn-is-loading{opacity:.5!important;cursor:not-allowed!important;cursor:wait!important;overflow:hidden;white-space:nowrap;-webkit-user-select:none;-ms-user-select:none;user-select:none}.layui-layer-btn-is-loading .layui-layer-btn-loading-icon{margin-right:8px;font-size:14px}.layui-layer-dialog{min-width:240px}.layui-layer-dialog .layui-layer-content{position:relative;padding:16px;line-height:24px;word-break:break-all;overflow:hidden;font-size:14px;overflow-x:hidden;overflow-y:auto}.layui-layer-dialog .layui-layer-content .layui-layer-face{position:absolute;top:18px;left:16px;color:#959595;font-size:32px;_left:-40px}.layui-layer-dialog .layui-layer-content .layui-icon-tips{color:#f39b12}.layui-layer-dialog .layui-layer-content .layui-icon-success{color:#16b777}.layui-layer-dialog .layui-layer-content .layui-icon-error{top:19px;color:#ff5722}.layui-layer-dialog .layui-layer-content .layui-icon-question{color:#ffb800}.layui-layer-dialog .layui-layer-content .layui-icon-lock{color:#787878}.layui-layer-dialog .layui-layer-content .layui-icon-face-cry{color:#ff5722}.layui-layer-dialog .layui-layer-content .layui-icon-face-smile{color:#16b777}.layui-layer-rim{border:6px solid #8d8d8d;border:6px solid rgba(0,0,0,.3);border-radius:5px;box-shadow:none}.layui-layer-msg{min-width:180px;border:1px solid #d3d4d3;box-shadow:none}.layui-layer-hui{min-width:100px;background-color:#000;filter:alpha(opacity=60);background-color:rgba(0,0,0,.6);color:#fff;border:none}.layui-layer-hui .layui-layer-close{color:#fff}.layui-layer-hui .layui-layer-content{padding:11px 24px;text-align:center}.layui-layer-dialog .layui-layer-padding{padding:18px 24px 18px 58px;text-align:left}.layui-layer-page .layui-layer-content{position:relative;overflow:auto}.layui-layer-iframe .layui-layer-btn,.layui-layer-page .layui-layer-btn{padding-top:10px}.layui-layer-nobg{background:0 0}.layui-layer-iframe iframe{display:block;width:100%}.layui-layer-loading{border-radius:100%;background:0 0;box-shadow:none;border:none}.layui-layer-loading .layui-layer-content{width:76px;height:38px;line-height:38px;text-align:center}.layui-layer-loading-icon{font-size:38px;color:#959595}.layui-layer-loading2{text-align:center}.layui-layer-loading-2{position:relative;height:38px}.layui-layer-loading-2:after,.layui-layer-loading-2:before{content:'';position:absolute;left:50%;top:50%;width:38px;height:38px;margin:-19px 0 0 -19px;border-radius:50%;border:3px solid #d2d2d2;box-sizing:border-box}.layui-layer-loading-2:after{border-color:transparent;border-left-color:#1e9fff}.layui-layer-tips{background:0 0;box-shadow:none;border:none}.layui-layer-tips .layui-layer-content{position:relative;line-height:22px;min-width:12px;padding:8px 15px;font-size:12px;_float:left;border-radius:2px;box-shadow:1px 1px 3px rgba(0,0,0,.2);background-color:#000;color:#fff}.layui-layer-tips .layui-layer-close{right:-2px;top:-1px}.layui-layer-tips i.layui-layer-TipsG{position:absolute;width:0;height:0;border-width:8px;border-color:transparent;border-style:dashed;*overflow:hidden}.layui-layer-tips i.layui-layer-TipsB,.layui-layer-tips i.layui-layer-TipsT{left:5px;border-right-style:solid;border-right-color:#000}.layui-layer-tips i.layui-layer-TipsT{bottom:-8px}.layui-layer-tips i.layui-layer-TipsB{top:-8px}.layui-layer-tips i.layui-layer-TipsL,.layui-layer-tips i.layui-layer-TipsR{top:5px;border-bottom-style:solid;border-bottom-color:#000}.layui-layer-tips i.layui-layer-TipsR{left:-8px}.layui-layer-tips i.layui-layer-TipsL{right:-8px}.layui-layer-lan .layui-layer-title{background:#4476a7;color:#fff;border:none}.layui-layer-lan .layui-layer-btn{padding:5px 10px 10px;border-top:1px solid #e9e7e7}.layui-layer-lan .layui-layer-btn a{background:#fff;border-color:#e9e7e7;color:#333}.layui-layer-lan .layui-layer-btn .layui-layer-btn1{background:#c9c5c5}.layui-layer-molv .layui-layer-title{background:#009f95;color:#fff;border:none}.layui-layer-molv .layui-layer-btn a{background:#009f95;border-color:#009f95}.layui-layer-molv .layui-layer-btn .layui-layer-btn1{background:#92b8b1}.layui-layer-lan .layui-layer-setwin .layui-icon,.layui-layer-molv .layui-layer-setwin .layui-icon{color:#fff}.layui-layer-win10{border:1px solid #aaa;box-shadow:1px 1px 6px rgba(0,0,0,.3);border-radius:none}.layui-layer-win10 .layui-layer-title{height:32px;line-height:32px;padding-left:8px;border-bottom:none;font-size:12px}.layui-layer-win10 .layui-layer-setwin{right:0;top:0}.layui-layer-win10 .layui-layer-setwin span{margin-left:0;width:32px;height:32px;padding:8px}.layui-layer-win10.layui-layer-page .layui-layer-setwin span{width:38px}.layui-layer-win10 .layui-layer-setwin span:hover{background-color:#e5e5e5}.layui-layer-win10 .layui-layer-setwin span.layui-icon-close:hover{background-color:#e81123;color:#fff}.layui-layer-win10.layui-layer-dialog .layui-layer-content{padding:8px 16px 32px;color:#0033bc}.layui-layer-win10.layui-layer-dialog .layui-layer-padding{padding-top:18px;padding-left:58px}.layui-layer-win10 .layui-layer-btn{padding:5px 5px 10px;border-top:1px solid #dfdfdf;background-color:#f0f0f0}.layui-layer-win10 .layui-layer-btn a{height:20px;line-height:18px;background-color:#e1e1e1;border-color:#adadad;color:#000;font-size:12px;transition:all .3s}.layui-layer-win10 .layui-layer-btn a:hover{border-color:#2a8edd;background-color:#e5f1fb}.layui-layer-win10 .layui-layer-btn .layui-layer-btn0{border-color:#0078d7}.layui-layer-prompt .layui-layer-input{display:block;width:260px;height:36px;margin:0 auto;line-height:30px;padding-left:10px;border:1px solid #e6e6e6;color:#333}.layui-layer-prompt textarea.layui-layer-input{width:300px;height:100px;line-height:20px;padding:6px 10px}.layui-layer-prompt .layui-layer-content{padding:16px}.layui-layer-prompt .layui-layer-btn{padding-top:0}.layui-layer-tab{box-shadow:1px 1px 50px rgba(0,0,0,.4)}.layui-layer-tab .layui-layer-title{padding-left:0;overflow:visible}.layui-layer-tab .layui-layer-title span{position:relative;display:inline-block;vertical-align:top;border-left:1px solid transparent;border-right:1px solid transparent;min-width:80px;max-width:300px;padding:0 16px;text-align:center;cursor:default;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;cursor:pointer}.layui-layer-tab .layui-layer-title span.layui-this{height:51px;border-left-color:#eee;border-right-color:#eee;background-color:#fff;z-index:10}.layui-layer-tab .layui-layer-title span:first-child{border-left-color:transparent}.layui-layer-tabmain{line-height:24px;clear:both}.layui-layer-tabmain .layui-layer-tabli{display:none}.layui-layer-tabmain .layui-layer-tabli.layui-this{display:block}.layui-layer-photos{background:0 0;box-shadow:none}.layui-layer-photos .layui-layer-content{overflow:visible;text-align:center}.layui-layer-photos .layer-layer-photos-main img{position:relative;width:100%;display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-photos-next,.layui-layer-photos-prev{position:fixed;top:50%;width:52px;height:52px;line-height:52px;margin-top:-26px;cursor:pointer;font-size:52px;color:#717171}.layui-layer-photos-prev{left:32px}.layui-layer-photos-next{right:32px}.layui-layer-photos-next:hover,.layui-layer-photos-prev:hover{color:#959595}.layui-layer-photos-toolbar{position:fixed;left:0;right:0;bottom:0;width:100%;height:52px;line-height:52px;background-color:#000\9;filter:Alpha(opacity=60);background-color:rgba(0,0,0,.32);color:#fff;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:0}.layui-layer-photos-toolbar>*{display:inline-block;vertical-align:top;padding:0 16px;font-size:12px;color:#fff;*display:inline;*zoom:1}.layui-layer-photos-toolbar *{font-size:12px}.layui-layer-photos-header{top:0;bottom:auto}.layui-layer-photos-header>span{cursor:pointer}.layui-layer-photos-header>span:hover{background-color:rgba(51,51,51,.32)}.layui-layer-photos-header .layui-icon{font-size:18px}.layui-layer-photos-footer>h3{max-width:65%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-layer-photos-footer a:hover{text-decoration:underline}.layui-layer-photos-footer em{font-style:normal}@-webkit-keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);-ms-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-close{-webkit-animation-name:layer-bounceOut;animation-name:layer-bounceOut;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.2s;animation-duration:.2s} \ No newline at end of file diff --git a/public/rtc/layui.js b/public/rtc/layui.js new file mode 100644 index 00000000..603dc21d --- /dev/null +++ b/public/rtc/layui.js @@ -0,0 +1 @@ +/** v2.9.14 | MIT Licensed */;!function(d){"use strict";var t,h=d.document,m={modules:{},status:{},timeout:10,event:{}},n=function(){this.v="2.9.14"},e=d.LAYUI_GLOBAL||{},v=(t=h.currentScript?h.currentScript.src:function(){for(var t,e=h.scripts,o=e.length-1,n=o;01e3*m.timeout/4?g(s+" is not a valid module","error"):void(m.status[s]?y():setTimeout(n,4))}())}function y(){e.push(layui[s]),11e3*m.timeout/4?g(s+" is not a valid module","error"):void("string"==typeof m.modules[s]&&m.status[s]?y():setTimeout(f,4))}():((r=h.createElement("script"))["async"]=!0,r.charset="utf-8",r.src=i+((u=!0===m.version?m.v||(new Date).getTime():m.version||"")?"?v="+u:""),l.appendChild(r),!r.attachEvent||r.attachEvent.toString&&r.attachEvent.toString().indexOf("[native code")<0||b?r.addEventListener("load",function(t){p(t,i)},!1):r.attachEvent("onreadystatechange",function(t){p(t,i)}),m.modules[s]=i)),a},n.prototype.disuse=function(t){var o=this;return t=o.isArray(t)?t:[t],o.each(t,function(t,e){m.status[e],delete o[e],delete N[e],delete o.modules[e],delete m.status[e],delete m.modules[e]}),o},n.prototype.getStyle=function(t,e){t=t.currentStyle||d.getComputedStyle(t,null);return t[t.getPropertyValue?"getPropertyValue":"getAttribute"](e)},n.prototype.link=function(o,n,t){var r=this,e=h.getElementsByTagName("head")[0],i=h.createElement("link"),a="layuicss-"+((t="string"==typeof n?n:t)||o).replace(/\.|\//g,""),u="creating",l=0;return i.href=o+(m.debug?"?v="+(new Date).getTime():""),i.rel="stylesheet",i.id=a,i.media="all",h.getElementById(a)||e.appendChild(i),"function"==typeof n&&function s(t){var e=h.getElementById(a);return++l>1e3*m.timeout/100?g(o+" timeout"):void(1989===parseInt(r.getStyle(e,"width"))?(t===u&&e.removeAttribute("lay-status"),e.getAttribute("lay-status")===u?setTimeout(s,100):n()):(e.setAttribute("lay-status",u),setTimeout(function(){s(u)},100)))}(),r},n.prototype.addcss=function(t,e,o){return layui.link(m.dir+"css/"+t,e,o)},m.callback={},n.prototype.factory=function(t){if(layui[t])return"function"==typeof m.callback[t]?m.callback[t]:null},n.prototype.img=function(t,e,o){var n=new Image;if(n.src=t,n.complete)return e(n);n.onload=function(){n.onload=null,"function"==typeof e&&e(n)},n.onerror=function(t){n.onerror=null,"function"==typeof o&&o(t)}},n.prototype.config=function(t){for(var e in t=t||{})m[e]=t[e];return this},n.prototype.modules=function(){var t,e={};for(t in N)e[t]=N[t];return e}(),n.prototype.extend=function(t){for(var e in t=t||{})this[e]||this.modules[e]?g(e+" Module already exists","error"):this.modules[e]=t[e];return this},n.prototype.router=n.prototype.hash=function(t){var o={path:[],search:{},hash:((t=t||location.hash).match(/[^#](#.*$)/)||[])[1]||""};return/^#\//.test(t)&&(t=t.replace(/^#\//,""),o.href="/"+t,t=t.replace(/([^#])(#.*$)/,"$1").split("/")||[],this.each(t,function(t,e){/^\w+=/.test(e)?(e=e.split("="),o.search[e[0]]=e[1]):o.path.push(e)})),o},n.prototype.url=function(t){var r,e,o=this;return{pathname:(t?((t.match(/\.[^.]+?\/.+/)||[])[0]||"").replace(/^[^\/]+/,"").replace(/\?.+/,""):location.pathname).replace(/^\//,"").split("/"),search:(r={},e=(t?((t.match(/\?.+/)||[])[0]||"").replace(/\#.+/,""):location.search).replace(/^\?+/,"").split("&"),o.each(e,function(t,e){var o=e.indexOf("="),n=o<0?e.substr(0,e.length):0!==o&&e.substr(0,o);n&&(r[n]=0(d.innerHeight||h.documentElement.clientHeight)},p.getStyleRules=function(t,n){if(t)return t=(t=t.sheet||t.styleSheet||{}).cssRules||t.rules,"function"==typeof n&&layui.each(t,function(t,e){if(n(e,t))return!0}),t},p.style=function(t){t=t||{};var e=p.elem("style"),n=t.text||"",i=t.target;if(n)return"styleSheet"in e?(e.setAttribute("type","text/css"),e.styleSheet.cssText=n):e.innerHTML=n,e.id="LAY-STYLE-"+(t.id||(n=p.style.index||0,p.style.index++,"DF-"+n)),i&&((t=p(i).find("#"+e.id))[0]&&t.remove(),p(i).append(e)),e},p.position=function(t,e,n){var i,r,o,c,a,u,s,f,l;e&&(n=n||{},t!==h&&t!==p("body")[0]||(n.clickType="right"),i="right"===n.clickType?{left:(i=n.e||d.event||{}).clientX,top:i.clientY,right:i.clientX,bottom:i.clientY}:t.getBoundingClientRect(),u=e.offsetWidth,s=e.offsetHeight,r=function(t){return h.body[t=t?"scrollLeft":"scrollTop"]|h.documentElement[t]},o=function(t){return h.documentElement[t?"clientWidth":"clientHeight"]},c="margin"in n?n.margin:5,l=i.left,a=i.bottom,"center"===n.align?l-=(u-t.offsetWidth)/2:"right"===n.align&&(l=l-u+t.offsetWidth),(l=l+u+c>o("width")?o("width")-u-c:l)o()&&(i.top>s+c&&i.top<=o()?a=i.top-s-2*c:n.allowBottomOut||(a=o()-s-2*c)<0&&(a=0)),(u=n.position)&&(e.style.position=u),s=n.offset?n.offset[0]:0,f=n.offset?n.offset[1]:0,e.style.left=l+("fixed"===u?0:r(1))+s+"px",e.style.top=a+("fixed"===u?0:r())+f+"px",p.hasScrollbar()||(l=e.getBoundingClientRect(),!n.SYSTEM_RELOAD&&l.bottom+c>o()&&(n.SYSTEM_RELOAD=!0,setTimeout(function(){p.position(t,e,n)},50))))},p.options=function(t,e){if(e="object"==typeof e?e:{attr:e},t===h)return{};var t=p(t),n=e.attr||"lay-options",t=t.attr(n);try{return new Function("return "+(t||"{}"))()}catch(i){return layui.hint().error(e.errorText||[n+'="'+t+'"',"\n parseerror: "+i].join("\n"),"error"),{}}},p.isTopElem=function(n){var t=[h,p("body")[0]],i=!1;return p.each(t,function(t,e){if(e===n)return i=!0}),i},p.clipboard={writeText:function(n){var i=String(n.text);function t(){var t=h.createElement("textarea");t.value=i,t.style.position="fixed",t.style.opacity="0",t.style.top="0px",t.style.left="0px",h.body.appendChild(t),t.select();try{h.execCommand("copy"),"function"==typeof n.done&&n.done()}catch(e){"function"==typeof n.error&&n.error(e)}finally{t.remove?t.remove():h.body.removeChild(t)}}navigator&&"clipboard"in navigator?navigator.clipboard.writeText(i).then(n.done,function(){t()}):t()}},p.passiveSupported=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});d.addEventListener("test",null,e),d.removeEventListener("test",null,e)}catch(n){}return t}(),p.touchEventsSupported=function(){return"ontouchstart"in d},p.touchSwipe=function(t,e){var n,i,r,o=e,c=p(t)[0];c&&p.touchEventsSupported()&&(n={pointerStart:{x:0,y:0},pointerEnd:{x:0,y:0},distanceX:0,distanceY:0,direction:"none",timeStart:null},e=function(t){1===t.touches.length&&(c.addEventListener("touchmove",i,!!p.passiveSupported&&{passive:!1}),c.addEventListener("touchend",r),c.addEventListener("touchcancel",r),n.timeStart=Date.now(),n.pointerStart.x=n.pointerEnd.x=t.touches[0].clientX,n.pointerStart.y=n.pointerEnd.y=t.touches[0].clientY,n.distanceX=n.distanceY=0,n.direction="none",o.onTouchStart)&&o.onTouchStart(t,n)},i=function(t){t.preventDefault(),n.pointerEnd.x=t.touches[0].clientX,n.pointerEnd.y=t.touches[0].clientY,n.distanceX=n.pointerStart.x-n.pointerEnd.x,n.distanceY=n.pointerStart.y-n.pointerEnd.y,Math.abs(n.distanceX)>Math.abs(n.distanceY)?n.direction=0]|&(?=#[a-zA-Z0-9]+)/g.test(e+="")?e.replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,"""):e}},i=function(e){return new RegExp(e,"g")},u=function(e,r){var n="Laytpl Error: ";return"object"==typeof console&&console.error(n+e+"\n"+(r||"")),n+e},n=function(e,r){var n=this,e=(n.config=n.config||{},n.template=e,function(e){for(var r in e)n.config[r]=e[r]});e(c),e(r)},r=(n.prototype.tagExp=function(e,r,n){var c=this.config;return i((r||"")+c.open+["#([\\s\\S])+?","([^{#}])*?"][e||0]+c.close+(n||""))},n.prototype.parse=function(e,r){var n=this,c=n.config,t=e,o=i("^"+c.open+"#",""),p=i(c.close+"$","");if("string"!=typeof e)return e;e='"use strict";var view = "'+(e=e.replace(/\s+|\r|\t|\n/g," ").replace(i(c.open+"#"),c.open+"# ").replace(i(c.close+"}"),"} "+c.close).replace(/\\/g,"\\\\").replace(i(c.open+"!(.+?)!"+c.close),function(e){return e=e.replace(i("^"+c.open+"!"),"").replace(i("!"+c.close),"").replace(i(c.open+"|"+c.close),function(e){return e.replace(/(.)/g,"\\$1")})}).replace(/(?="|')/g,"\\").replace(n.tagExp(),function(e){return'";'+(e=e.replace(o,"").replace(p,"")).replace(/\\(.)/g,"$1")+';view+="'}).replace(n.tagExp(1),function(e){var r='"+laytpl.escape(';return e.replace(/\s/g,"")===c.open+c.close?"":(e=e.replace(i(c.open+"|"+c.close),""),/^=/.test(e)?e=e.replace(/^=/,""):/^-/.test(e)&&(e=e.replace(/^-/,""),r='"+('),r+e.replace(/\\(.)/g,"$1")+')+"')}))+'";return view;';try{return n.cache=e=new Function("d, laytpl",e),e(r,l)}catch(a){return delete n.cache,u(a,t)}},n.prototype.render=function(e,r){e=e||{};var n=this,e=n.cache?n.cache(e,l):n.parse(n.template,e);return"function"==typeof r&&r(e),e},function(e,r){return new n(e,r)});r.config=function(e){for(var r in e=e||{})c[r]=e[r]},r.v="2.0.0",e("laytpl",r)});layui.define(function(e){"use strict";var r=document,u="getElementById",c="getElementsByTagName",a="layui-disabled",t=function(e){var a=this;a.config=e||{},a.config.index=++o.index,a.render(!0)},o=(t.prototype.type=function(){var e=this.config;if("object"==typeof e.elem)return e.elem.length===undefined?2:3},t.prototype.view=function(){var i,e,t,n=this.config,r=n.groups="groups"in n?Number(n.groups)||0:5,u=(n.layout="object"==typeof n.layout?n.layout:["prev","page","next"],n.count=Number(n.count)||0,n.curr=Number(n.curr)||1,n.limits="object"==typeof n.limits?n.limits:[10,20,30,40,50],n.limit=Number(n.limit)||10,n.pages=Math.ceil(n.count/n.limit)||1,n.curr>n.pages?n.curr=n.pages:n.curr<1&&(n.curr=1),r<0?r=1:r>n.pages&&(r=n.pages),n.prev="prev"in n?n.prev:"\u4e0a\u4e00\u9875",n.next="next"in n?n.next:"\u4e0b\u4e00\u9875",n.pages>r?Math.ceil((n.curr+(1'+n.prev+"
":"",page:function(){var e=[];if(n.count<1)return"";1'+(n.first||1)+"");var a=Math.floor((r-1)/2),t=1n.pages?n.pages:a:r;for(i-t...');t<=i;t++)t===n.curr?e.push('"+t+""):e.push(''+t+"");return n.pages>r&&n.pages>i&&!1!==n.last&&(i+1...'),0!==r)&&e.push(''+(n.last||n.pages)+""),e.join("")}(),next:n.next?''+n.next+"":"",count:''+(e="object"==typeof n.countText?n.countText:["\u5171 "," \u6761"])[0]+n.count+e[1]+"",limit:(i=['"),refresh:['','',""].join(""),skip:[''+(e="object"==typeof n.skipText?n.skipText:["\u5230\u7b2c","\u9875","\u786e\u5b9a"])[0],'',e[1]+'",""].join("")};return['
',(t=[],layui.each(n.layout,function(e,a){l[a]&&t.push(l[a])}),t.join("")),"
"].join("")},t.prototype.jump=function(e,a){if(e){var t=this,i=t.config,n=e.children,r=e[c]("button")[0],u=e[c]("input")[0],e=e[c]("select")[0],l=function(){var e=Number(u.value.replace(/\s|\D/g,""));e&&(i.curr=e,t.render())};if(a)return l();for(var s=0,p=n.length;si.pages||(i.curr=e,t.render())});e&&o.on(e,"change",function(){var e=this.value;i.curr*e>i.count&&(i.curr=Math.ceil(i.count/e)),i.limit=e,t.render()}),r&&o.on(r,"click",function(){l()})}},t.prototype.skip=function(t){var i,e;t&&(i=this,e=t[c]("input")[0])&&o.on(e,"keyup",function(e){var a=this.value,e=e.keyCode;/^(37|38|39|40)$/.test(e)||(/\D/.test(a)&&(this.value=a.replace(/\D/,"")),13===e&&i.jump(t,!0))})},t.prototype.render=function(e){var a=this,t=a.config,i=a.type(),n=a.view(),i=(2===i?t.elem&&(t.elem.innerHTML=n):3===i?t.elem.html(n):r[u](t.elem)&&(r[u](t.elem).innerHTML=n),t.jump&&t.jump(t,e),r[u]("layui-laypage-"+t.index));a.jump(i),t.hash&&!e&&(location.hash="!"+t.hash+"="+t.curr),a.skip(i)},{render:function(e){return new t(e).index},index:layui.laypage?layui.laypage.index+1e4:0,on:function(a,e,t){return a.attachEvent?a.attachEvent("on"+e,function(e){e.target=e.srcElement,t.call(a,e)}):a.addEventListener(e,t,!1),this}});e("laypage",o)});!function(i,D){"use strict";var n=i.layui&&layui.define,l={getPath:i.lay&&lay.getPath?lay.getPath:"",link:function(e,t,a){T.path&&i.lay&&lay.layui&&lay.layui.link(T.path+e,t,a)}},e=i.LAYUI_GLOBAL||{},a="laydate",d="lay-"+a+"-id",T={v:"5.6.0",config:{weekStart:0},index:i.laydate&&i.laydate.v?1e5:0,path:e.laydate_dir||l.getPath,set:function(e){var t=this;return t.config=lay.extend({},t.config,e),t},ready:function(e){var t="laydate",a=(n?"modules/":"")+"laydate.css?v="+T.v;return n?layui["layui.all"]?"function"==typeof e&&e():layui.addcss(a,e,t):l.link(a,e,t),this}},s=function(){var t=this,e=t.config.id;return(s.that[e]=t).inst={hint:function(e){t.hint.call(t,e)},reload:function(e){t.reload.call(t,e)},config:t.config}},M="layui-this",C="laydate-disabled",h=[100,2e5],v="layui-laydate-static",b="layui-laydate-list",o="laydate-selected",r="layui-laydate-hint",y="laydate-day-prev",m="laydate-day-next",E=".laydate-btns-confirm",L="laydate-time-text",I="laydate-btns-time",x="layui-laydate-preview",w="layui-laydate-shade",k=function(e){var t,a=this,n=(a.index=++T.index,a.config=lay.extend({},a.config,T.config,e),lay(e.elem||a.config.elem));return 1\u8bf7\u91cd\u65b0\u9009\u62e9",invalidDate:"\u4e0d\u5728\u6709\u6548\u65e5\u671f\u6216\u65f6\u95f4\u8303\u56f4\u5185",formatError:["\u65e5\u671f\u683c\u5f0f\u4e0d\u5408\u6cd5
\u5fc5\u987b\u9075\u5faa\u4e0b\u8ff0\u683c\u5f0f\uff1a
","
\u5df2\u4e3a\u4f60\u91cd\u7f6e"],preview:"\u5f53\u524d\u9009\u4e2d\u7684\u7ed3\u679c"},en:{weeks:["Su","Mo","Tu","We","Th","Fr","Sa"],time:["Hours","Minutes","Seconds"],timeTips:"Select Time",startTime:"Start Time",endTime:"End Time",dateTips:"Select Date",month:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],tools:{confirm:"Confirm",clear:"Clear",now:"Now"},timeout:"End time cannot be less than start Time
Please re-select",invalidDate:"Invalid date",formatError:["The date format error
Must be followed\uff1a
","
It has been reset"],preview:"The selected result"}};return e[this.config.lang]||e.cn},k.prototype.markerOfChineseFestivals={"0-1-1":"\u5143\u65e6","0-2-14":"\u60c5\u4eba","0-3-8":"\u5987\u5973","0-3-12":"\u690d\u6811","0-4-1":"\u611a\u4eba","0-5-1":"\u52b3\u52a8","0-5-4":"\u9752\u5e74","0-6-1":"\u513f\u7ae5","0-9-10":"\u6559\u5e08","0-10-1":"\u56fd\u5e86","0-12-25":"\u5723\u8bde"},k.prototype.reload=function(e){this.config=lay.extend({},this.config,e),this.init()},k.prototype.init=function(){var r=this,o=r.config,e="static"===o.position,t={year:"yyyy",month:"yyyy-MM",date:"yyyy-MM-dd",time:"HH:mm:ss",datetime:"yyyy-MM-dd HH:mm:ss"};o.elem=lay(o.elem),o.eventElem=lay(o.eventElem),o.elem[0]&&("array"!==layui.type(o.theme)&&(o.theme=[o.theme]),o.fullPanel&&("datetime"!==o.type||o.range)&&delete o.fullPanel,r.rangeStr=o.range?"string"==typeof o.range?o.range:"-":"",r.rangeLinked=!(!o.range||!o.rangeLinked||"date"!==o.type&&"datetime"!==o.type),r.autoCalendarModel=function(){var e=r.rangeLinked;return r.rangeLinked=o.range&&("date"===o.type||"datetime"===o.type)&&(!r.startDate||!r.endDate||r.startDate&&r.endDate&&r.startDate.year===r.endDate.year&&r.startDate.month===r.endDate.month),lay(r.elem)[r.rangeLinked?"addClass":"removeClass"]("layui-laydate-linkage"),r.rangeLinked!=e},r.autoCalendarModel.auto=r.rangeLinked&&"auto"===o.rangeLinked,"array"===layui.type(o.range)&&(r.rangeElem=[lay(o.range[0]),lay(o.range[1])]),t[o.type]||(i.console&&console.error&&console.error("laydate type error:'"+o.type+"' is not supported"),o.type="date"),o.format===t.date&&(o.format=t[o.type]||t.date),r.format=s.formatArr(o.format),o.weekStart&&!/^[0-6]$/.test(o.weekStart)&&(t=r.lang(),o.weekStart=t.weeks.indexOf(o.weekStart),-1===o.weekStart)&&(o.weekStart=0),r.EXP_IF="",r.EXP_SPLIT="",lay.each(r.format,function(e,t){e=new RegExp(u).test(t)?"\\d{"+(new RegExp(u).test(r.format[0===e?e+1:e-1]||"")?/^yyyy|y$/.test(t)?4:t.length:/^yyyy$/.test(t)?"1,4":/^y$/.test(t)?"1,308":"1,2")+"}":"\\"+t;r.EXP_IF=r.EXP_IF+e,r.EXP_SPLIT=r.EXP_SPLIT+"("+e+")"}),r.EXP_IF_ONE=new RegExp("^"+r.EXP_IF+"$"),r.EXP_IF=new RegExp("^"+(o.range?r.EXP_IF+"\\s\\"+r.rangeStr+"\\s"+r.EXP_IF:r.EXP_IF)+"$"),r.EXP_SPLIT=new RegExp("^"+r.EXP_SPLIT+"$",""),r.isInput(o.elem[0])||"focus"===o.trigger&&(o.trigger="click"),o.elem.attr("lay-key",r.index),o.eventElem.attr("lay-key",r.index),o.elem.attr(d,o.id),lay.each(["min","max"],function(e,t){var a=[],n=[];if("number"==typeof o[t])var i=o[t],l=new Date,l=r.newDate({year:l.getFullYear(),month:l.getMonth(),date:l.getDate(),hours:e?23:0,minutes:e?59:0,seconds:e?59:0}).getTime(),e=new Date(i?i<864e5?l+864e5*i:i:l),a=[e.getFullYear(),e.getMonth()+1,e.getDate()],n=[e.getHours(),e.getMinutes(),e.getSeconds()];else if("string"==typeof o[t])a=(o[t].match(/\d+-\d+-\d+/)||[""])[0].split("-"),n=(o[t].match(/\d+:\d+:\d+/)||[""])[0].split(":");else if("object"==typeof o[t])return o[t];o[t]={year:0|a[0]||(new Date).getFullYear(),month:a[1]?(0|a[1])-1:(new Date).getMonth(),date:0|a[2]||(new Date).getDate(),hours:0|n[0],minutes:0|n[1],seconds:0|n[2]}}),r.elemID="layui-laydate"+o.elem.attr("lay-key"),(o.show||e)&&r.render(),e||r.events(),"function"==typeof o.formatToDisplay&&(r.isInput(o.elem[0])?r.formatToDisplay(o.elem[0],o.formatToDisplay):(t=r.rangeElem)&&(r.formatToDisplay(t[0][0],o.formatToDisplay),r.formatToDisplay(t[1][0],o.formatToDisplay))),o.value)&&o.isInitValue&&("date"===layui.type(o.value)?r.setValue(r.parse(0,r.systemDate(o.value))):r.setValue(o.value))},k.prototype.render=function(){var a,n,i,l,r=this,o=r.config,d=r.lang(),s="static"===o.position,y=r.elem=lay.elem("div",{id:r.elemID,"class":["layui-laydate",o.range?" layui-laydate-range":"",r.rangeLinked?" layui-laydate-linkage":"",s?" "+v:"",o.fullPanel?" laydate-theme-fullpanel":"",(a="",lay.each(o.theme,function(e,t){"default"===t||/^#/.test(t)||(a+=" laydate-theme-"+t)}),a)].join("")}),m=r.elemMain=[],u=r.elemHeader=[],c=r.elemCont=[],h=r.table=[],e=r.footer=lay.elem("div",{"class":"layui-laydate-footer"}),t=r.shortcut=lay.elem("ul",{"class":"layui-laydate-shortcut"}),p=(o.zIndex&&(y.style.zIndex=o.zIndex),lay.each(new Array(2),function(e){if(!o.range&&0'+d.timeTips+""),(o.range||"datetime"!==o.type||o.fullPanel)&&p.push(''),lay.each(o.btns,function(e,t){var a=d.tools[t]||"btn";o.range&&"now"===t||(s&&"clear"===t&&(a="cn"===o.lang?"\u91cd\u7f6e":"Reset"),n.push(''+a+""))}),p.push('"),p.join(""))),o.shortcuts&&(y.appendChild(t),lay(t).html((i=[],lay.each(o.shortcuts,function(e,t){i.push('
  • '+t.text+"
  • ")}),i.join(""))).find("li").on("click",function(e){var t=o.shortcuts[this.dataset.index]||{},t=("function"==typeof t.value?t.value():t.value)||[],n=(layui.isArray(t)||(t=[t]),o.type),t=(lay.each(t,function(e,t){var a=[o.dateTime,r.endDate][e];"time"===n&&"date"!==layui.type(t)?r.EXP_IF.test(t)&&(t=(t.match(r.EXP_SPLIT)||[]).slice(1),lay.extend(a,{hours:0|t[0],minutes:0|t[2],seconds:0|t[4]})):lay.extend(a,r.systemDate("date"===layui.type(t)?t:new Date(t))),"time"!==n&&"datetime"!==n||(r[["startTime","endTime"][e]]={hours:a.hours,minutes:a.minutes,seconds:a.seconds}),0===e?r.startDate=lay.extend({},a):r.endState=!0,"year"===n||"month"===n||"time"===n?r.listYM[e]=[a.year,a.month+1]:e&&r.autoCalendarModel.auto&&r.autoCalendarModel()}),r.checkDate("limit").calendar(null,null,"init"),lay(r.footer).find("."+I).removeClass(C));t&&"date"===t.attr("lay-type")&&t[0].click(),r.done(null,"change"),lay(this).addClass(M),"static"!==o.position&&r.setValue(r.parse()).done().remove()})),lay.each(m,function(e,t){y.appendChild(t)}),o.showBottom&&y.appendChild(e),lay.elem("style")),f=[],g=!0,t=(lay.each(o.theme,function(e,t){g&&/^#/.test(t)?(g=!(l=!0),f.push(["#{{id}} .layui-laydate-header{background-color:{{theme}};}","#{{id}} li.layui-this,#{{id}} td.layui-this>div{background-color:{{theme}} !important;}",-1!==o.theme.indexOf("circle")?"":"#{{id}} .layui-this{background-color:{{theme}} !important;}","#{{id}} .laydate-day-now{color:{{theme}} !important;}","#{{id}} .laydate-day-now:after{border-color:{{theme}} !important;}"].join("").replace(/{{id}}/g,r.elemID).replace(/{{theme}}/g,t))):!g&&/^#/.test(t)&&f.push(["#{{id}} .laydate-selected>div{background-color:{{theme}} !important;}","#{{id}} .laydate-selected:hover>div{background-color:{{theme}} !important;}"].join("").replace(/{{id}}/g,r.elemID).replace(/{{theme}}/g,t))}),o.shortcuts&&o.range&&f.push("#{{id}}.layui-laydate-range{width: 628px;}".replace(/{{id}}/g,r.elemID)),f.length&&(f=f.join(""),"styleSheet"in p?(p.setAttribute("type","text/css"),p.styleSheet.cssText=f):p.innerHTML=f,l&&lay(y).addClass("laydate-theme-molv"),y.appendChild(p)),r.remove(k.thisElemDate),T.thisId=o.id,s?o.elem.append(y):(D.body.appendChild(y),r.position()),o.shade?'
    ':"");y.insertAdjacentHTML("beforebegin",t),r.checkDate().calendar(null,0,"init"),r.changeEvent(),k.thisElemDate=r.elemID,r.renderAdditional(),"function"==typeof o.ready&&o.ready(lay.extend({},o.dateTime,{month:o.dateTime.month+1})),r.preview()},k.prototype.remove=function(e){var t=this,a=t.config,n=lay("#"+(e||t.elemID));return n[0]&&(n.hasClass(v)||t.checkDate(function(){n.remove(),delete t.startDate,delete t.endDate,delete t.endState,delete t.startTime,delete t.endTime,delete T.thisId,"function"==typeof a.close&&a.close(t)}),lay("."+w).remove()),t},k.prototype.position=function(){var e=this.config;return lay.position(e.elem[0],this.elem,{position:e.position}),this},k.prototype.hint=function(e){var t=this,a=(t.config,lay.elem("div",{"class":r}));t.elem&&(a.innerHTML=(e="object"==typeof e?e||{}:{content:e}).content||"",lay(t.elem).find("."+r).remove(),t.elem.appendChild(a),clearTimeout(t.hinTimer),t.hinTimer=setTimeout(function(){lay(t.elem).find("."+r).remove()},"ms"in e?e.ms:3e3))},k.prototype.getAsYM=function(e,t,a){return a?t--:t++,t<0&&(t=11,e--),11h[1]&&(e.year=h[1],o=!0),11t)&&(e.date=t,o=!0)},c=function(n,i,l){var r=["startTime","endTime"];i=(i.match(d.EXP_SPLIT)||[]).slice(1),l=l||0,s.range&&(d[r[l]]=d[r[l]]||{}),lay.each(d.format,function(e,t){var a=parseFloat(i[e]);i[e].lengthd.getDateTime(s.max)?(r=s.dateTime=lay.extend({},s.max),i=!0):d.getDateTime(r)d.getDateTime(s.max))&&(d.endDate=lay.extend({},s.max),i=!0),d.startTime={hours:s.dateTime.hours,minutes:s.dateTime.minutes,seconds:s.dateTime.seconds},d.endTime={hours:d.endDate.hours,minutes:d.endDate.minutes,seconds:d.endDate.seconds},"month"===s.type)&&(s.dateTime.date=1,d.endDate.date=1),i&&m&&(d.setValue(d.parse()),d.hint("value "+l.invalidDate+l.formatError[1])),d.startDate=d.startDate||m&&lay.extend({},s.dateTime),d.autoCalendarModel.auto&&d.autoCalendarModel(),d.endState=!s.range||!d.rangeLinked||!(!d.startDate||!d.endDate),e&&e()),d},k.prototype.markRender=function(e,a,t){var n;"object"==typeof t?lay.each(t||{},function(e,t){e=e.split("-");e[0]!=a[0]&&0!=e[0]||e[1]!=a[1]&&0!=e[1]||e[2]!=a[2]||(n=t||a[2])}):"string"==typeof t&&(n=t||a[2]),n&&e.find("div").html(''+n+"")},k.prototype.mark=function(t,a){var n=this,e=n.config,i=function(e){n.markRender(t,a,e)};return e.calendar&&"cn"===e.lang&&i(n.markerOfChineseFestivals),"function"==typeof e.mark?e.mark({year:a[0],month:a[1],date:a[2]},i):"object"==typeof e.mark&&i(e.mark),n},k.prototype.holidaysRender=function(r,o,e){var d=["holidays","workdays"],s=function(e,t,a){e.find("div").html(["",a,""].join(""))};"array"===layui.type(e)?lay.each(e,function(l,e){lay.each(e,function(e,t){var a,n,i;t=t,a=r.attr("lay-ymd"),n=t.split("-"),i=a.split("-"),lay.each(n,function(e,t){n[e]=parseInt(t,10)}),lay.each(i,function(e,t){i[e]=parseInt(t,10)}),n.join("-")===i.join("-")&&s(r,d[l],o[2])})}):"string"==typeof e&&-1!==d.indexOf(e)&&s(r,e,o[2])},k.prototype.holidays=function(t,a){var n=this,e=n.config,i=function(e){n.holidaysRender(t,a,e)};return"function"==typeof e.holidays?e.holidays({year:a[0],month:a[1],date:a[2]},i):"array"===layui.type(e.holidays)&&i(e.holidays),n},k.prototype.cellRender=function(t,e,a){var n=this.config;return"function"==typeof n.cellRender&&n.cellRender(e,function(e){"string"==typeof e?lay(t).html(e):"object"==typeof e&&lay(t).html("").append(lay(e)[0])},{originElem:t,type:a}),this},k.prototype.startOfYear=function(e){e=new Date(e);return e.setFullYear(e.getFullYear(),0,1),e.setHours(0,0,0,0),e},k.prototype.endOfYear=function(e){var e=new Date(e),t=e.getFullYear();return e.setFullYear(t+1,0,0),e.setHours(23,59,59,999),e},k.prototype.startOfMonth=function(e){e=new Date(e);return e.setDate(1),e.setHours(0,0,0,0),e},k.prototype.endOfMonth=function(e){var e=new Date(e),t=e.getMonth();return e.setFullYear(e.getFullYear(),t+1,0),e.setHours(23,59,59,999),e},k.prototype.addDays=function(e,t){e=new Date(e);return t&&e.setDate(e.getDate()+t),e},k.prototype.isDisabledYearOrMonth=function(e,t,a){for(var n=this,i=n.config,l="year"===t?n.startOfYear(e):n.startOfMonth(e),t="year"===t?n.endOfYear(e):n.endOfMonth(e),r=Math.floor((t.getTime()-l.getTime())/864e5)+1,o=0,d=0;d(t.time?0:41)?i.endDate:e.dateTime;return lay.each({now:lay.extend({},a,t.date||{}),min:e.min,max:e.max},function(e,a){var n;l[e]=i.newDate(lay.extend({year:a.year,month:"year"===t.type?0:a.month,date:"year"===t.type||"month"===t.type?1:a.date},(n={},lay.each(t.time,function(e,t){n[t]=a[t]}),n))).getTime()}),a=l.nowh[1]&&(s.year=h[1],d.hint(y.invalidDate)),d.firstDate||(d.firstDate=lay.extend({},s)),n.setFullYear(s.year,s.month,1),l=(n.getDay()+(7-a.weekStart))%7,r=T.getEndDate(s.month||12,s.year),o=T.getEndDate(s.month+1,s.year),lay.each(u,function(e,t){var a,n=[s.year,s.month];(t=lay(t)).removeAttr("class"),e"+n[2]+""),d.mark(t,n).holidays(t,n).limit({elem:t,date:{year:n[0],month:n[1]-1,date:n[2]},index:e,rangeType:i,disabledType:"date"}),d.cellRender(t,{year:n[0],month:n[1],date:n[2]},"date")}),lay(c[0]).attr("lay-ym",s.year+"-"+(s.month+1)),lay(c[1]).attr("lay-ym",s.year+"-"+(s.month+1)),d.panelYM||(d.panelYM={}),d.panelYM[i]={year:s.year,month:s.month},"cn"===a.lang?(lay(c[0]).attr("lay-type","year").html(s.year+" \u5e74"),lay(c[1]).attr("lay-type","month").html(s.month+1+" \u6708")):(lay(c[0]).attr("lay-type","month").html(y.month[s.month]),lay(c[1]).attr("lay-type","year").html(s.year)),m&&(a.range?!e&&"init"===t||(d.listYM=[[(d.startDate||a.dateTime).year,(d.startDate||a.dateTime).month+1],[d.endDate.year,d.endDate.month+1]],d.list(a.type,0).list(a.type,1),"time"===a.type?d.setBtnStatus("\u65f6\u95f4",lay.extend({},d.systemDate(),d.startTime),lay.extend({},d.systemDate(),d.endTime)):d.setBtnStatus(!0)):(d.listYM=[[s.year,s.month+1]],d.list(a.type,0))),a.range&&"init"===t&&(d.rangeLinked?(n=d.getAsYM(s.year,s.month,i?"sub":null),d.calendar(lay.extend({},s,{year:n[0],month:n[1]}),1-i)):d.calendar(null,1-i)),a.range||(u=["hours","minutes","seconds"],d.limit({elem:lay(d.footer).find(".laydate-btns-now"),date:d.systemDate(/^(datetime|time)$/.test(a.type)?new Date:null),index:0,time:u,disabledType:"datetime"}),d.limit({elem:lay(d.footer).find(E),index:0,time:u,disabledType:"datetime"})),d.setBtnStatus(),lay(d.shortcut).find("li."+M).removeClass(M),a.range&&!m&&"init"!==t&&d.stampRange(),d},k.prototype.list=function(n,i){var l,r,e,a,o,d,t,s=this,y=s.config,m=s.rangeLinked?y.dateTime:[y.dateTime,s.endDate][i],u=s.lang(),c=y.range&&"date"!==y.type&&"datetime"!==y.type,h=lay.elem("ul",{"class":b+" "+{year:"laydate-year-list",month:"laydate-month-list",time:"laydate-time-list"}[n]}),p=s.elemHeader[i],f=lay(p[2]).find("span"),g=s.elemCont[i||0],D=lay(g).find("."+b)[0],T="cn"===y.lang,v=T?"\u5e74":"",x=s.listYM[i]||{},w=["hours","minutes","seconds"],k=["startTime","endTime"][i];return x[0]<1&&(x[0]=1),"year"===n?(e=l=x[0]-7,l<1&&(e=l=1),lay.each(new Array(15),function(e){var t=lay.elem("li",{"lay-ym":l}),a={year:l,month:0,date:1};l==x[0]&&lay(t).addClass(M),t.innerHTML=l+v,h.appendChild(t),s.limit({elem:lay(t),date:a,index:i,type:n,rangeType:i,disabledType:"date"}),s.cellRender(t,{year:l,month:1,date:1},"year"),l++}),lay(f[T?0:1]).attr("lay-ym",l-8+"-"+x[1]).html(e+v+" - "+(l-1)+v)):"month"===n?(lay.each(new Array(12),function(e){var t=lay.elem("li",{"lay-ym":e}),a={year:x[0],month:e,date:1};e+1==x[1]&&lay(t).addClass(M),t.innerHTML=u.month[e]+(T?"\u6708":""),h.appendChild(t),s.limit({elem:lay(t),date:a,index:i,type:n,rangeType:i,disabledType:"date"}),s.cellRender(t,{year:x[0],month:e+1,date:1},"month")}),lay(f[T?0:1]).attr("lay-ym",x[0]+"-"+x[1]).html(x[0]+v)):"time"===n&&(r=function(){lay(h).find("ol").each(function(a,e){lay(e).find("li").each(function(e,t){s.limit({elem:lay(t),date:[{hours:e},{hours:s[k].hours,minutes:e},{hours:s[k].hours,minutes:s[k].minutes,seconds:e}][a],index:i,rangeType:i,disabledType:"time",time:[["hours"],["hours","minutes"],["hours","minutes","seconds"]][a]})})}),y.range||s.limit({elem:lay(s.footer).find(E),date:s[k],index:0,time:["hours","minutes","seconds"],disabledType:"datetime"})},y.range?s[k]||(s[k]="startTime"===k?m:s.endDate):s[k]=m,lay.each([24,60,60],function(t,e){var a=lay.elem("li"),n=["

    "+u.time[t]+"

      "];lay.each(new Array(e),function(e){n.push(""+lay.digit(e,2)+"")}),a.innerHTML=n.join("")+"
    ",h.appendChild(a)}),r(),e=-1!==y.format.indexOf("H"),f=-1!==y.format.indexOf("m"),t=-1!==y.format.indexOf("s"),a=h.children,o=0,lay.each([e,f,t],function(e,t){t||(a[e].className+=" layui-hide",o++)}),h.className+=" laydate-time-list-hide-"+o),D&&g.removeChild(D),g.appendChild(h),"year"===n||"month"===n?(lay(s.elemMain[i]).addClass("laydate-ym-show"),lay(h).find("li").on("click",function(){var e=0|lay(this).attr("lay-ym");lay(this).hasClass(C)||(s.rangeLinked?lay.extend(m,{year:"year"===n?e:x[0],month:"year"===n?x[1]-1:e}):m[n]=e,"year"===y.type||"month"===y.type?(lay(h).find("."+M).removeClass(M),lay(this).addClass(M),"month"===y.type&&"year"===n&&(s.listYM[i][0]=e,c&&((i?s.endDate:m).year=e),s.list("month",i))):(s.checkDate("limit").calendar(m,i,"init"),s.closeList()),s.setBtnStatus(),!y.range&&y.autoConfirm&&("month"===y.type&&"month"===n||"year"===y.type&&"year"===n)&&s.setValue(s.parse()).done().remove(),s.autoCalendarModel.auto&&!s.rangeLinked?s.choose(lay(g).find("td.layui-this"),i):s.endState&&s.done(null,"change"),lay(s.footer).find("."+I).removeClass(C))})):(f=lay.elem("span",{"class":L}),d=function(){lay(h).find("ol").each(function(e){var a=this,t=lay(a).find("li");a.scrollTop=30*(s[k][w[e]]-2),a.scrollTop<=0&&t.each(function(e,t){if(!lay(this).hasClass(C))return a.scrollTop=30*(e-2),!0})})},t=lay(p[2]).find("."+L),d(),f.innerHTML=y.range?[u.startTime,u.endTime][i]:u.timeTips,lay(s.elemMain[i]).addClass("laydate-time-show"),t[0]&&t.remove(),p[2].appendChild(f),(D=lay(h).find("ol")).each(function(t){var a=this;lay(a).find("li").on("click",function(){var e=0|this.innerHTML;lay(this).hasClass(C)||(y.range?s[k][w[t]]=e:m[w[t]]=e,lay(a).find("."+M).removeClass(M),lay(this).addClass(M),r(),d(),!s.endDate&&"time"!==y.type&&"datetime"!==y.type||s.done(null,"change"),s.setBtnStatus())})}),layui.device().mobile&&D.css({overflowY:"auto",touchAction:"pan-y"})),s},k.prototype.listYM=[],k.prototype.closeList=function(){var a=this;a.config;lay.each(a.elemCont,function(e,t){lay(this).find("."+b).remove(),lay(a.elemMain[e]).removeClass("laydate-ym-show laydate-time-show")}),lay(a.elem).find("."+L).remove()},k.prototype.setBtnStatus=function(e,t,a){var n=this,i=n.config,l=n.lang(),r=lay(n.footer).find(E),o="datetime"===i.type||"time"===i.type?["hours","minutes","seconds"]:undefined;i.range&&(t=t||(n.rangeLinked?n.startDate:i.dateTime),a=a||n.endDate,i=!n.endState||n.newDate(t).getTime()>n.newDate(a).getTime(),n.limit({date:t,disabledType:"datetime",time:o,rangeType:0})||n.limit({date:a,disabledType:"datetime",time:o,rangeType:1})?r.addClass(C):r[i?"addClass":"removeClass"](C),e)&&i&&n.hint("string"==typeof e?l.timeout.replace(/\u65e5\u671f/g,e):l.timeout)},k.prototype.parse=function(e,t){var a=this,n=a.config,i=a.rangeLinked?a.startDate:n.dateTime,t=t||("end"==e?lay.extend({},a.endDate,a.endTime):n.range?lay.extend({},i||n.dateTime,a.startTime):n.dateTime),i=T.parse(t,a.format,1);return n.range&&e===undefined?i+" "+a.rangeStr+" "+a.parse("end"):i},k.prototype.newDate=function(e){return e=e||{},new Date(e.year||1,e.month||0,e.date||1,e.hours||0,e.minutes||0,e.seconds||0)},k.prototype.getDateTime=function(e){return this.newDate(e).getTime()},k.prototype.formatToDisplay=function(e,t){var a=this,n=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value");Object.defineProperty(e,"value",lay.extend({},n,{get:function(){return this.getAttribute("lay-date")},set:function(e){n.set.call(this,t.call(a,e)),this.setAttribute("lay-date",e)}}))},k.prototype.setValue=function(e){var t,a=this,n=a.config,i=n.elem[0];return"static"!==n.position&&(e=e||"",a.isInput(i)?lay(i).val(e):(t=a.rangeElem)?("array"!==layui.type(e)&&(e=e.split(" "+a.rangeStr+" ")),t[0].val(e[0]||""),t[1].val(e[1]||"")):(0===lay(i).find("*").length&&(t="function"==typeof n.formatToDisplay?n.formatToDisplay(e):e,lay(i).html(t)),lay(i).attr("lay-date",e))),a},k.prototype.preview=function(){var e,t=this,a=t.config;a.isPreview&&(e=lay(t.elem).find("."+x),a=!a.range||(t.rangeLinked?t.endState:t.endDate)?t.parse():"",e.html(a),e.html())&&(e.css({color:"#16b777"}),setTimeout(function(){e.css({color:"#777"})},300))},k.prototype.renderAdditional=function(){this.config.fullPanel&&this.list("time",0)},k.prototype.stampRange=function(){var n,i=this,l=i.config,r=i.rangeLinked?i.startDate:l.dateTime,e=lay(i.elem).find("td");l.range&&!i.endState&&lay(i.footer).find(E).addClass(C),r=r&&i.newDate({year:r.year,month:r.month,date:r.date}).getTime(),n=i.endState&&i.endDate&&i.newDate({year:i.endDate.year,month:i.endDate.month,date:i.endDate.date}).getTime(),lay.each(e,function(e,t){var a=lay(t).attr("lay-ymd").split("-"),a=i.newDate({year:a[0],month:a[1]-1,date:a[2]}).getTime();l.rangeLinked&&!i.startDate&&a===i.newDate(i.systemDate()).getTime()&&lay(t).addClass(lay(t).hasClass(y)||lay(t).hasClass(m)?"":"laydate-day-now"),lay(t).removeClass(o+" "+M),a!==r&&a!==n||(i.rangeLinked||!i.rangeLinked&&(e<42?a===r:a===n))&&lay(t).addClass(lay(t).hasClass(y)||lay(t).hasClass(m)?o:M),rn.getDateTime(i.max)&&(n[t]={hours:i.max.hours,minutes:i.max.minutes,seconds:i.max.seconds},lay.extend(l,n[t])))}),a||(n.startDate=lay.extend({},l)),n.endState&&!n.limit({date:n.rangeLinked?n.startDate:n.thisDateTime(1-a),disabledType:"date"})&&(((r=n.endState&&n.autoCalendarModel.auto?n.autoCalendarModel():r)||n.rangeLinked&&n.endState)&&n.newDate(n.startDate)>n.newDate(n.endDate)&&(n.startDate.year===n.endDate.year&&n.startDate.month===n.endDate.month&&n.startDate.date===n.endDate.date&&(o=n.startTime,n.startTime=n.endTime,n.endTime=o),o=n.startDate,n.startDate=lay.extend({},n.endDate,n.startTime),i.dateTime=lay.extend({},n.startDate),n.endDate=lay.extend({},o,n.endTime)),r)&&(i.dateTime=lay.extend({},n.startDate)),n.rangeLinked?(e=n.checkPanelDate(l,t),o=lay.extend({},l),d=r||e&&e.needFullRender?"init":null,e=e?e.index:t,n.calendar(o,e,d)):n.calendar(null,a,r?"init":null),n.endState&&n.done(null,"change")):"static"===i.position?n.calendar().done().done(null,"change"):"date"===i.type?i.autoConfirm?n.setValue(n.parse()).done().remove():n.calendar().done(null,"change"):"datetime"===i.type&&n.calendar().done(null,"change"))},k.prototype.tool=function(t,e){var a=this,n=a.config,i=a.lang(),l=n.dateTime,r="static"===n.position,o={datetime:function(){lay(t).hasClass(C)||(a.list("time",0),n.range&&a.list("time",1),lay(t).attr("lay-type","date").html(a.lang().dateTips))},date:function(){a.closeList(),lay(t).attr("lay-type","datetime").html(a.lang().timeTips)},clear:function(){r&&(lay.extend(l,a.firstDate),a.calendar()),n.range&&(delete n.dateTime,delete a.endDate,delete a.startTime,delete a.endTime),a.setValue(""),a.done(null,"onClear").done(["",{},{}]).remove()},now:function(){var e=new Date;if(lay(t).hasClass(C))return a.hint(i.tools.now+", "+i.invalidDate);lay.extend(l,a.systemDate(),{hours:e.getHours(),minutes:e.getMinutes(),seconds:e.getSeconds()}),a.setValue(a.parse()),r&&a.calendar(),a.done(null,"onNow").done().remove()},confirm:function(){if(n.range){if(lay(t).hasClass(C))return("time"===n.type?a.startTime&&a.endTime&&a.newDate(a.startTime)>a.newDate(a.endTime):a.startDate&&a.endDate&&a.newDate(lay.extend({},a.startDate,a.startTime||{}))>a.newDate(lay.extend({},a.endDate,a.endTime||{})))?a.hint("time"===n.type?i.timeout.replace(/\u65e5\u671f/g,"\u65f6\u95f4"):i.timeout):a.hint(i.invalidDate)}else if(lay(t).hasClass(C))return a.hint(i.invalidDate);a.setValue(a.parse()),a.done(null,"onConfirm").done().remove()}};o[e]&&o[e]()},k.prototype.change=function(n){var i=this,l=i.config,r=i.thisDateTime(n),o=l.range&&("year"===l.type||"month"===l.type),d=i.elemCont[n||0],s=i.listYM[n],e=function(e){var t=lay(d).find(".laydate-year-list")[0],a=lay(d).find(".laydate-month-list")[0];return t&&(s[0]=e?s[0]-15:s[0]+15,i.list("year",n)),a&&(e?s[0]--:s[0]++,i.list("month",n)),(t||a)&&(lay.extend(r,{year:s[0]}),o&&(r.year=s[0]),l.range||i.done(null,"change"),l.range||i.limit({elem:lay(i.footer).find(E),date:{year:s[0]},disabledType:"datetime"})),i.setBtnStatus(),t||a};return{prevYear:function(){e("sub")||(i.rangeLinked?(l.dateTime.year--,i.checkDate("limit").calendar(null,null,"init")):(r.year--,i.checkDate("limit").calendar(null,n),i.autoCalendarModel.auto?i.choose(lay(d).find("td.layui-this"),n):i.done(null,"change")))},prevMonth:function(){var e,t;i.rangeLinked?(t=i.panelYM[0],t=i.getAsYM(t.year,t.month,"sub"),e=lay.extend({},l.dateTime,i.panelYM[0],{year:t[0],month:t[1]}),i.checkDate("limit").calendar(e,null,"init")):(t=i.getAsYM(r.year,r.month,"sub"),lay.extend(r,{year:t[0],month:t[1]}),i.checkDate("limit").calendar(null,null,"init"),i.autoCalendarModel.auto?i.choose(lay(d).find("td.layui-this"),n):i.done(null,"change"))},nextMonth:function(){var e,t;i.rangeLinked?(t=i.panelYM[0],t=i.getAsYM(t.year,t.month),e=lay.extend({},l.dateTime,i.panelYM[0],{year:t[0],month:t[1]}),i.checkDate("limit").calendar(e,null,"init")):(t=i.getAsYM(r.year,r.month),lay.extend(r,{year:t[0],month:t[1]}),i.checkDate("limit").calendar(null,null,"init"),i.autoCalendarModel.auto?i.choose(lay(d).find("td.layui-this"),n):i.done(null,"change"))},nextYear:function(){e()||(i.rangeLinked?(l.dateTime.year++,i.checkDate("limit").calendar(null,0,"init")):(r.year++,i.checkDate("limit").calendar(null,n),i.autoCalendarModel.auto?i.choose(lay(d).find("td.layui-this"),n):i.done(null,"change")))}}},k.prototype.changeEvent=function(){var i=this;i.config;lay(i.elem).on("click",function(e){lay.stope(e)}).on("mousedown",function(e){lay.stope(e)}),lay.each(i.elemHeader,function(n,e){lay(e[0]).on("click",function(e){i.change(n).prevYear()}),lay(e[1]).on("click",function(e){i.change(n).prevMonth()}),lay(e[2]).find("span").on("click",function(e){var t=lay(this),a=t.attr("lay-ym"),t=t.attr("lay-type");a&&(a=a.split("-"),i.listYM[n]=[0|a[0],0|a[1]],i.list(t,n),lay(i.footer).find("."+I).addClass(C))}),lay(e[3]).on("click",function(e){i.change(n).nextMonth()}),lay(e[4]).on("click",function(e){i.change(n).nextYear()})}),lay.each(i.table,function(e,t){lay(t).find("td").on("click",function(){i.choose(lay(this),e)})}),lay(i.footer).find("span").on("click",function(){var e=lay(this).attr("lay-type");i.tool(this,e)})},k.prototype.isInput=function(e){return/input|textarea/.test(e.tagName.toLocaleLowerCase())||/INPUT|TEXTAREA/.test(e.tagName)},k.prototype.events=function(){var e,t=this,a=t.config;a.elem[0]&&!a.elem[0].eventHandler&&(a.elem.on(a.trigger,e=function(){T.thisId!==a.id&&t.render()}),a.elem[0].eventHandler=!0,a.eventElem.on(a.trigger,e),t.unbind=function(){t.remove(),a.elem.off(a.trigger,e),a.elem.removeAttr("lay-key"),a.elem.removeAttr(d),a.elem[0].eventHandler=!1,a.eventElem.off(a.trigger,e),a.eventElem.removeAttr("lay-key"),delete s.that[a.id]})},s.that={},s.getThis=function(e){var t=s.that[e];return!t&&n&&layui.hint().error(e?a+" instance with ID '"+e+"' not found":"ID argument required"),t},l.run=function(n){n(D).on("mousedown",function(e){var t,a;T.thisId&&(t=s.getThis(T.thisId))&&(a=t.config,e.target===a.elem[0]||e.target===a.eventElem[0]||e.target===n(a.closeStop)[0]||a.elem[0]&&a.elem[0].contains(e.target)||t.remove())}).on("keydown",function(e){var t;T.thisId&&(t=s.getThis(T.thisId))&&"static"!==t.config.position&&13===e.keyCode&&n("#"+t.elemID)[0]&&t.elemID===k.thisElemDate&&(e.preventDefault(),n(t.footer).find(E)[0].click())}),n(i).on("resize",function(){if(T.thisId){var e=s.getThis(T.thisId);if(e)return!(!e.elem||!n(".layui-laydate")[0])&&void e.position()}})},T.render=function(e){e=new k(e);return s.call(e)},T.reload=function(e,t){e=s.getThis(e);if(e)return e.reload(t)},T.getInst=function(e){e=s.getThis(e);if(e)return e.inst},T.hint=function(e,t){e=s.getThis(e);if(e)return e.hint(t)},T.unbind=function(e){e=s.getThis(e);if(e)return e.unbind()},T.close=function(e){e=s.getThis(e||T.thisId);if(e)return e.remove()},T.parse=function(a,n,i){return a=a||{},n=((n="string"==typeof n?s.formatArr(n):n)||[]).concat(),lay.each(n,function(e,t){/yyyy|y/.test(t)?n[e]=lay.digit(a.year,t.length):/MM|M/.test(t)?n[e]=lay.digit(a.month+(i||0),t.length):/dd|d/.test(t)?n[e]=lay.digit(a.date,t.length):/HH|H/.test(t)?n[e]=lay.digit(a.hours,t.length):/mm|m/.test(t)?n[e]=lay.digit(a.minutes,t.length):/ss|s/.test(t)&&(n[e]=lay.digit(a.seconds,t.length))}),n.join("")},T.getEndDate=function(e,t){var a=new Date;return a.setFullYear(t||a.getFullYear(),e||a.getMonth()+1,1),new Date(a.getTime()-864e5).getDate()},n?(T.ready(),layui.define("lay",function(e){T.path=layui.cache.dir,l.run(lay),e(a,T)})):"function"==typeof define&&define.amd?define(function(){return l.run(lay),T}):(T.ready(),l.run(i.lay),i.laydate=T)}(window,window.document);!function(e,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e):function(e){if(e.document)return t(e);throw new Error("jQuery requires a window with a document")}:t(e)}("undefined"!=typeof window?window:this,function(T,M){var f=[],g=T.document,c=f.slice,O=f.concat,R=f.push,P=f.indexOf,B={},W=B.toString,m=B.hasOwnProperty,y={},e="1.12.4",C=function(e,t){return new C.fn.init(e,t)},I=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,$=/^-ms-/,z=/-([\da-z])/gi,X=function(e,t){return t.toUpperCase()};function U(e){var t=!!e&&"length"in e&&e.length,n=C.type(e);return"function"!==n&&!C.isWindow(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+a+")"+a+"*"),ee=new RegExp("="+a+"*([^\\]'\"]*?)"+a+"*\\]","g"),te=new RegExp(G),ne=new RegExp("^"+s+"$"),f={ID:new RegExp("^#("+s+")"),CLASS:new RegExp("^\\.("+s+")"),TAG:new RegExp("^("+s+"|[*])"),ATTR:new RegExp("^"+J),PSEUDO:new RegExp("^"+G),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+a+"*(even|odd|(([+-]|)(\\d*)n|)"+a+"*(?:([+-]|)"+a+"*(\\d+)|))"+a+"*\\)|)","i"),bool:new RegExp("^(?:"+Y+")$","i"),needsContext:new RegExp("^"+a+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+a+"*((?:-\\d)?\\d*)"+a+"*\\)|)(?=[^-]|$)","i")},re=/^(?:input|select|textarea|button)$/i,ie=/^h\d$/i,c=/^[^{]+\{\s*\[native \w/,oe=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ae=/[+~]/,se=/'|\\/g,d=new RegExp("\\\\([\\da-f]{1,6}"+a+"?|("+a+")|.)","ig"),p=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(65536+r):String.fromCharCode(r>>10|55296,1023&r|56320)},ue=function(){C()};try{D.apply(n=V.call(v.childNodes),v.childNodes),n[v.childNodes.length].nodeType}catch(F){D={apply:n.length?function(e,t){U.apply(e,V.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function H(e,t,n,r){var i,o,a,s,u,l,c,f,d=t&&t.ownerDocument,p=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==p&&9!==p&&11!==p)return n;if(!r&&((t?t.ownerDocument||t:v)!==E&&C(t),t=t||E,N)){if(11!==p&&(l=oe.exec(e)))if(i=l[1]){if(9===p){if(!(a=t.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(d&&(a=d.getElementById(i))&&y(t,a)&&a.id===i)return n.push(a),n}else{if(l[2])return D.apply(n,t.getElementsByTagName(e)),n;if((i=l[3])&&g.getElementsByClassName&&t.getElementsByClassName)return D.apply(n,t.getElementsByClassName(i)),n}if(g.qsa&&!A[e+" "]&&(!m||!m.test(e))){if(1!==p)d=t,f=e;else if("object"!==t.nodeName.toLowerCase()){for((s=t.getAttribute("id"))?s=s.replace(se,"\\$&"):t.setAttribute("id",s=k),o=(c=w(e)).length,u=ne.test(s)?"#"+s:"[id='"+s+"']";o--;)c[o]=u+" "+_(c[o]);f=c.join(","),d=ae.test(e)&&de(t.parentNode)||t}if(f)try{return D.apply(n,d.querySelectorAll(f)),n}catch(h){}finally{s===k&&t.removeAttribute("id")}}}return P(e.replace(L,"$1"),t,n,r)}function le(){var n=[];function r(e,t){return n.push(e+" ")>b.cacheLength&&delete r[n.shift()],r[e+" "]=t}return r}function q(e){return e[k]=!0,e}function h(e){var t=E.createElement("div");try{return!!e(t)}catch(F){return!1}finally{t.parentNode&&t.parentNode.removeChild(t)}}function ce(e,t){for(var n=e.split("|"),r=n.length;r--;)b.attrHandle[n[r]]=t}function fe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||1<<31)-(~e.sourceIndex||1<<31);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function x(a){return q(function(o){return o=+o,q(function(e,t){for(var n,r=a([],e.length,o),i=r.length;i--;)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function de(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in g=H.support={},O=H.isXML=function(e){e=e&&(e.ownerDocument||e).documentElement;return!!e&&"HTML"!==e.nodeName},C=H.setDocument=function(e){var e=e?e.ownerDocument||e:v;return e!==E&&9===e.nodeType&&e.documentElement&&(t=(E=e).documentElement,N=!O(E),(e=E.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",ue,!1):e.attachEvent&&e.attachEvent("onunload",ue)),g.attributes=h(function(e){return e.className="i",!e.getAttribute("className")}),g.getElementsByTagName=h(function(e){return e.appendChild(E.createComment("")),!e.getElementsByTagName("*").length}),g.getElementsByClassName=c.test(E.getElementsByClassName),g.getById=h(function(e){return t.appendChild(e).id=k,!E.getElementsByName||!E.getElementsByName(k).length}),g.getById?(b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&N)return(e=t.getElementById(e))?[e]:[]},b.filter.ID=function(e){var t=e.replace(d,p);return function(e){return e.getAttribute("id")===t}}):(delete b.find.ID,b.filter.ID=function(e){var t=e.replace(d,p);return function(e){e="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return e&&e.value===t}}),b.find.TAG=g.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):g.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"!==e)return o;for(;n=o[i++];)1===n.nodeType&&r.push(n);return r},b.find.CLASS=g.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&N)return t.getElementsByClassName(e)},r=[],m=[],(g.qsa=c.test(E.querySelectorAll))&&(h(function(e){t.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&m.push("[*^$]="+a+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||m.push("\\["+a+"*(?:value|"+Y+")"),e.querySelectorAll("[id~="+k+"-]").length||m.push("~="),e.querySelectorAll(":checked").length||m.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||m.push(".#.+[+~]")}),h(function(e){var t=E.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&m.push("name"+a+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||m.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),m.push(",.*:")})),(g.matchesSelector=c.test(i=t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.oMatchesSelector||t.msMatchesSelector))&&h(function(e){g.disconnectedMatch=i.call(e,"div"),i.call(e,"[s!='']:x"),r.push("!=",G)}),m=m.length&&new RegExp(m.join("|")),r=r.length&&new RegExp(r.join("|")),e=c.test(t.compareDocumentPosition),y=e||c.test(t.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,t=t&&t.parentNode;return e===t||!(!t||1!==t.nodeType||!(n.contains?n.contains(t):e.compareDocumentPosition&&16&e.compareDocumentPosition(t)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},$=e?function(e,t){var n;return e===t?(l=!0,0):(n=!e.compareDocumentPosition-!t.compareDocumentPosition)||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!g.sortDetached&&t.compareDocumentPosition(e)===n?e===E||e.ownerDocument===v&&y(v,e)?-1:t===E||t.ownerDocument===v&&y(v,t)?1:u?j(u,e)-j(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===E?-1:t===E?1:i?-1:o?1:u?j(u,e)-j(u,t):0;if(i===o)return fe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?fe(a[r],s[r]):a[r]===v?-1:s[r]===v?1:0}),E},H.matches=function(e,t){return H(e,null,null,t)},H.matchesSelector=function(e,t){if((e.ownerDocument||e)!==E&&C(e),t=t.replace(ee,"='$1']"),g.matchesSelector&&N&&!A[t+" "]&&(!r||!r.test(t))&&(!m||!m.test(t)))try{var n=i.call(e,t);if(n||g.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(F){}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(d,p),e[3]=(e[3]||e[4]||e[5]||"").replace(d,p),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||H.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&H.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return f.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&te.test(n)&&(t=(t=w(n,!0))&&n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(d,p).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=W[e+" "];return t||(t=new RegExp("(^|"+a+")"+e+"("+a+"|$)"))&&W(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(t,n,r){return function(e){e=H.attr(e,t);return null==e?"!="===n:!n||(e+="","="===n?e===r:"!="===n?e!==r:"^="===n?r&&0===e.indexOf(r):"*="===n?r&&-1(?:<\/\1>|)$/,G=/^.[^:#\[\.,]*$/;function K(e,n,r){if(C.isFunction(n))return C.grep(e,function(e,t){return!!n.call(e,t,e)!==r});if(n.nodeType)return C.grep(e,function(e){return e===n!==r});if("string"==typeof n){if(G.test(n))return C.filter(n,e,r);n=C.filter(n,e)}return C.grep(e,function(e){return-1)[^>]*|#([\w-]*))$/,ee=((C.fn.init=function(e,t,n){if(e){if(n=n||Q,"string"!=typeof e)return e.nodeType?(this.context=this[0]=e,this.length=1,this):C.isFunction(e)?"undefined"!=typeof n.ready?n.ready(e):e(C):(e.selector!==undefined&&(this.selector=e.selector,this.context=e.context),C.makeArray(e,this));if(!(r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&3<=e.length?[null,e,null]:Z.exec(e))||!r[1]&&t)return(!t||t.jquery?t||n:this.constructor(t)).find(e);if(r[1]){if(t=t instanceof C?t[0]:t,C.merge(this,C.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:g,!0)),J.test(r[1])&&C.isPlainObject(t))for(var r in t)C.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r])}else{if((n=g.getElementById(r[2]))&&n.parentNode){if(n.id!==r[2])return Q.find(e);this.length=1,this[0]=n}this.context=g,this.selector=e}}return this}).prototype=C.fn,Q=C(g),/^(?:parents|prev(?:Until|All))/),te={children:!0,contents:!0,next:!0,prev:!0};function ne(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}C.fn.extend({has:function(e){var t,n=C(e,this),r=n.length;return this.filter(function(){for(t=0;t
    a",y.leadingWhitespace=3===S.firstChild.nodeType,y.tbody=!S.getElementsByTagName("tbody").length,y.htmlSerialize=!!S.getElementsByTagName("link").length,y.html5Clone="<:nav>"!==g.createElement("nav").cloneNode(!0).outerHTML,q.type="checkbox",q.checked=!0,k.appendChild(q),y.appendChecked=q.checked,S.innerHTML="",y.noCloneChecked=!!S.cloneNode(!0).lastChild.defaultValue,k.appendChild(S),(q=g.createElement("input")).setAttribute("type","radio"),q.setAttribute("checked","checked"),q.setAttribute("name","t"),S.appendChild(q),y.checkClone=S.cloneNode(!0).cloneNode(!0).lastChild.checked,y.noCloneEvent=!!S.addEventListener,S[C.expando]=1,y.attributes=!S.getAttribute(C.expando);var x={option:[1,""],legend:[1,"
    ","
    "],area:[1,"",""],param:[1,"",""],thead:[1,"","
    "],tr:[2,"","
    "],col:[2,"","
    "],td:[3,"","
    "],_default:y.htmlSerialize?[0,"",""]:[1,"X
    ","
    "]};function b(e,t){var n,r,i=0,o="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):undefined;if(!o)for(o=[],n=e.childNodes||e;null!=(r=n[i]);i++)!t||C.nodeName(r,t)?o.push(r):C.merge(o,b(r,t));return t===undefined||t&&C.nodeName(e,t)?C.merge([e],o):o}function we(e,t){for(var n,r=0;null!=(n=e[r]);r++)C._data(n,"globalEval",!t||C._data(t[r],"globalEval"))}x.optgroup=x.option,x.tbody=x.tfoot=x.colgroup=x.caption=x.thead,x.th=x.td;var Te=/<|&#?\w+;/,Ce=/"!==f[1]||Ce.test(a)?0:u:u.firstChild)&&a.childNodes.length;o--;)C.nodeName(c=a.childNodes[o],"tbody")&&!c.childNodes.length&&a.removeChild(c);for(C.merge(h,u.childNodes),u.textContent="";u.firstChild;)u.removeChild(u.firstChild);u=p.lastChild}else h.push(t.createTextNode(a));for(u&&p.removeChild(u),y.appendChecked||C.grep(b(h,"input"),Ee),g=0;a=h[g++];)if(r&&-1]","i"),Pe=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,Be=/\s*$/g,ze=be(g).appendChild(g.createElement("div"));function Xe(e,t){return C.nodeName(e,"table")&&C.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function Ue(e){return e.type=(null!==C.find.attr(e,"type"))+"/"+e.type,e}function Ve(e){var t=Ie.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Ye(e,t){if(1===t.nodeType&&C.hasData(e)){var n,r,i,e=C._data(e),o=C._data(t,e),a=e.events;if(a)for(n in delete o.handle,o.events={},a)for(r=0,i=a[n].length;r")},clone:function(e,t,n){var r,i,o,a,s,u=C.contains(e.ownerDocument,e);if(y.html5Clone||C.isXMLDoc(e)||!Re.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(ze.innerHTML=e.outerHTML,ze.removeChild(o=ze.firstChild)),!(y.noCloneEvent&&y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||C.isXMLDoc(e)))for(r=b(o),s=b(e),a=0;null!=(i=s[a]);++a)if(r[a]){f=c=l=p=d=void 0;var l,c,f,d=i,p=r[a];if(1===p.nodeType){if(l=p.nodeName.toLowerCase(),!y.noCloneEvent&&p[C.expando]){for(c in(f=C._data(p)).events)C.removeEvent(p,c,f.handle);p.removeAttribute(C.expando)}"script"===l&&p.text!==d.text?(Ue(p).text=d.text,Ve(p)):"object"===l?(p.parentNode&&(p.outerHTML=d.outerHTML),y.html5Clone&&d.innerHTML&&!C.trim(p.innerHTML)&&(p.innerHTML=d.innerHTML)):"input"===l&&ge.test(d.type)?(p.defaultChecked=p.checked=d.checked,p.value!==d.value&&(p.value=d.value)):"option"===l?p.defaultSelected=p.selected=d.defaultSelected:"input"!==l&&"textarea"!==l||(p.defaultValue=d.defaultValue)}}if(t)if(n)for(s=s||b(e),r=r||b(o),a=0;null!=(i=s[a]);a++)Ye(i,r[a]);else Ye(e,o);return 0<(r=b(o,"script")).length&&we(r,!u&&b(e,"script")),r=s=i=null,o},cleanData:function(e,t){for(var n,r,i,o,a=0,s=C.expando,u=C.cache,l=y.attributes,c=C.event.special;null!=(n=e[a]);a++)if((t||v(n))&&(o=(i=n[s])&&u[i])){if(o.events)for(r in o.events)c[r]?C.event.remove(n,r):C.removeEvent(n,r,o.handle);u[i]&&(delete u[i],l||"undefined"==typeof n.removeAttribute?n[s]=undefined:n.removeAttribute(s),f.push(i))}}}),C.fn.extend({domManip:w,detach:function(e){return Je(this,e,!0)},remove:function(e){return Je(this,e)},text:function(e){return d(this,function(e){return e===undefined?C.text(this):this.empty().append((this[0]&&this[0].ownerDocument||g).createTextNode(e))},null,e,arguments.length)},append:function(){return w(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Xe(this,e).appendChild(e)})},prepend:function(){return w(this,arguments,function(e){var t;1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(t=Xe(this,e)).insertBefore(e,t.firstChild)})},before:function(){return w(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return w(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++){for(1===e.nodeType&&C.cleanData(b(e,!1));e.firstChild;)e.removeChild(e.firstChild);e.options&&C.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return C.clone(this,e,t)})},html:function(e){return d(this,function(e){var t=this[0]||{},n=0,r=this.length;if(e===undefined)return 1===t.nodeType?t.innerHTML.replace(Oe,""):undefined;if("string"==typeof e&&!Be.test(e)&&(y.htmlSerialize||!Re.test(e))&&(y.leadingWhitespace||!ve.test(e))&&!x[(me.exec(e)||["",""])[1].toLowerCase()]){e=C.htmlPrefilter(e);try{for(;n")).appendTo(t.documentElement))[0].contentWindow||Ge[0].contentDocument).document).write(),t.close(),n=Qe(e,t),Ge.detach()),Ke[e]=n),n}var n,et,tt,nt,rt,it,ot,a,at=/^margin/,st=new RegExp("^("+e+")(?!px)[a-z%]+$","i"),ut=function(e,t,n,r){var i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.apply(e,r||[]),t)e.style[i]=o[i];return r},lt=g.documentElement;function t(){var e,t=g.documentElement;t.appendChild(ot),a.style.cssText="-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",n=tt=it=!1,et=rt=!0,T.getComputedStyle&&(e=T.getComputedStyle(a),n="1%"!==(e||{}).top,it="2px"===(e||{}).marginLeft,tt="4px"===(e||{width:"4px"}).width,a.style.marginRight="50%",et="4px"===(e||{marginRight:"4px"}).marginRight,(e=a.appendChild(g.createElement("div"))).style.cssText=a.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",e.style.marginRight=e.style.width="0",a.style.width="1px",rt=!parseFloat((T.getComputedStyle(e)||{}).marginRight),a.removeChild(e)),a.style.display="none",(nt=0===a.getClientRects().length)&&(a.style.display="",a.innerHTML="
    t
    ",a.childNodes[0].style.borderCollapse="separate",(e=a.getElementsByTagName("td"))[0].style.cssText="margin:0;border:0;padding:0;display:none",nt=0===e[0].offsetHeight)&&(e[0].style.display="",e[1].style.display="none",nt=0===e[0].offsetHeight),t.removeChild(ot)}ot=g.createElement("div"),(a=g.createElement("div")).style&&(a.style.cssText="float:left;opacity:.5",y.opacity="0.5"===a.style.opacity,y.cssFloat=!!a.style.cssFloat,a.style.backgroundClip="content-box",a.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===a.style.backgroundClip,(ot=g.createElement("div")).style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",a.innerHTML="",ot.appendChild(a),y.boxSizing=""===a.style.boxSizing||""===a.style.MozBoxSizing||""===a.style.WebkitBoxSizing,C.extend(y,{reliableHiddenOffsets:function(){return null==n&&t(),nt},boxSizingReliable:function(){return null==n&&t(),tt},pixelMarginRight:function(){return null==n&&t(),et},pixelPosition:function(){return null==n&&t(),n},reliableMarginRight:function(){return null==n&&t(),rt},reliableMarginLeft:function(){return null==n&&t(),it}}));var l,p,ct=/^(top|right|bottom|left)$/;function ft(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}T.getComputedStyle?(l=function(e){var t=e.ownerDocument.defaultView;return(t=t&&t.opener?t:T).getComputedStyle(e)},p=function(e,t,n){var r,i,o=e.style;return""!==(i=(n=n||l(e))?n.getPropertyValue(t)||n[t]:undefined)&&i!==undefined||C.contains(e.ownerDocument,e)||(i=C.style(e,t)),n&&!y.pixelMarginRight()&&st.test(i)&&at.test(t)&&(e=o.width,t=o.minWidth,r=o.maxWidth,o.minWidth=o.maxWidth=o.width=i,i=n.width,o.width=e,o.minWidth=t,o.maxWidth=r),i===undefined?i:i+""}):lt.currentStyle&&(l=function(e){return e.currentStyle},p=function(e,t,n){var r,i,o,a=e.style;return null==(n=(n=n||l(e))?n[t]:undefined)&&a&&a[t]&&(n=a[t]),st.test(n)&&!ct.test(t)&&(r=a.left,(o=(i=e.runtimeStyle)&&i.left)&&(i.left=e.currentStyle.left),a.left="fontSize"===t?"1em":n,n=a.pixelLeft+"px",a.left=r,o)&&(i.left=o),n===undefined?n:n+""||"auto"});var dt=/alpha\([^)]*\)/i,pt=/opacity\s*=\s*([^)]*)/i,ht=/^(none|table(?!-c[ea]).+)/,gt=new RegExp("^("+e+")(.*)$","i"),mt={position:"absolute",visibility:"hidden",display:"block"},yt={letterSpacing:"0",fontWeight:"400"},vt=["Webkit","O","Moz","ms"],xt=g.createElement("div").style;function bt(e){if(e in xt)return e;for(var t=e.charAt(0).toUpperCase()+e.slice(1),n=vt.length;n--;)if((e=vt[n]+t)in xt)return e}function wt(e,t){for(var n,r,i,o=[],a=0,s=e.length;a
    a",F=q.getElementsByTagName("a")[0],k.setAttribute("type","checkbox"),q.appendChild(k),(F=q.getElementsByTagName("a")[0]).style.cssText="top:1px",y.getSetAttribute="t"!==q.className,y.style=/top/.test(F.getAttribute("style")),y.hrefNormalized="/a"===F.getAttribute("href"),y.checkOn=!!k.value,y.optSelected=e.selected,y.enctype=!!g.createElement("form").enctype,S.disabled=!0,y.optDisabled=!e.disabled,(k=g.createElement("input")).setAttribute("value",""),y.input=""===k.getAttribute("value"),k.value="t",k.setAttribute("type","radio"),y.radioValue="t"===k.value;var Lt=/\r/g,Ht=/[\x20\t\r\n\f]+/g;C.fn.extend({val:function(t){var n,e,r,i=this[0];return arguments.length?(r=C.isFunction(t),this.each(function(e){1!==this.nodeType||(null==(e=r?t.call(this,e,C(this).val()):t)?e="":"number"==typeof e?e+="":C.isArray(e)&&(e=C.map(e,function(e){return null==e?"":e+""})),(n=C.valHooks[this.type]||C.valHooks[this.nodeName.toLowerCase()])&&"set"in n&&n.set(this,e,"value")!==undefined)||(this.value=e)})):i?(n=C.valHooks[i.type]||C.valHooks[i.nodeName.toLowerCase()])&&"get"in n&&(e=n.get(i,"value"))!==undefined?e:"string"==typeof(e=i.value)?e.replace(Lt,""):null==e?"":e:void 0}}),C.extend({valHooks:{option:{get:function(e){var t=C.find.attr(e,"value");return null!=t?t:C.trim(C.text(e)).replace(Ht," ")}},select:{get:function(e){for(var t,n=e.options,r=e.selectedIndex,i="select-one"===e.type||r<0,o=i?null:[],a=i?r+1:n.length,s=r<0?a:i?r:0;s").append(C.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this)},C.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){C.fn[t]=function(e){return this.on(t,e)}}),C.expr.filters.animated=function(t){return C.grep(C.timers,function(e){return t===e.elem}).length},C.offset={setOffset:function(e,t,n){var r,i,o,a,s=C.css(e,"position"),u=C(e),l={};"static"===s&&(e.style.position="relative"),o=u.offset(),r=C.css(e,"top"),a=C.css(e,"left"),s=("absolute"===s||"fixed"===s)&&-1'+(s?a.title[0]:a.title)+"":"";return a.zIndex=o,t([a.shade?'
    ':"",'
    '+(e&&2!=a.type?"":s)+"'+(n=["layui-icon-tips","layui-icon-success","layui-icon-error","layui-icon-question","layui-icon-lock","layui-icon-face-cry","layui-icon-face-smile"],o="layui-anim layui-anim-rotate layui-anim-loop",0==a.type&&-1!==a.icon?'':3==a.type?(i=["layui-icon-loading","layui-icon-loading-1"],2==a.icon?'
    ':''):"")+((1!=a.type||!e)&&a.content||"")+'
    '+(n=[],r&&(n.push(''),n.push('')),a.closeBtn&&n.push(''),n.join(""))+"
    "+(a.btn?function(){var e="";"string"==typeof a.btn&&(a.btn=[a.btn]);for(var t,i=0,n=a.btn.length;i'+a.btn[i]+"";return'
    '+e+"
    "}():"")+(a.resize?'':"")+""],s,h('
    ')),this},t.pt.creat=function(){var e,t,i,n,a=this,o=a.config,s=a.index,r="object"==typeof(d=o.content),l=h("body"),c=function(e){var t;o.shift&&(o.anim=o.shift),u.anim[o.anim]&&(t="layer-anim "+u.anim[o.anim],e.addClass(t).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",function(){h(this).removeClass(t)}))};if(o.id&&h("."+u[0]).find("#"+o.id)[0])e=h("#"+o.id).closest("."+u[0]),t=e.attr("times"),i=e.data("config"),n=h("#"+u.SHADE+t),"min"===(e.data("maxminStatus")||{})?v.restore(t):i.hideOnClose&&(n.show(),e.show(),c(e),setTimeout(function(){n.css({opacity:n.data(y)})},10));else{switch(o.removeFocus&&document.activeElement&&document.activeElement.blur(),"string"==typeof o.area&&(o.area="auto"===o.area?["",""]:[o.area,""]),6==v.ie&&(o.fixed=!1),o.type){case 0:o.btn="btn"in o?o.btn:f.btn[0],v.closeAll("dialog");break;case 2:var d=o.content=r?o.content:[o.content||"","auto"];o.content='';break;case 3:delete o.title,delete o.closeBtn,-1===o.icon&&o.icon,v.closeAll("loading");break;case 4:r||(o.content=[o.content,"body"]),o.follow=o.content[1],o.content=o.content[0]+'',delete o.title,o.tips="object"==typeof o.tips?o.tips:[o.tips,!0],o.tipsMore||v.closeAll("tips")}a.vessel(r,function(e,t,i){l.append(e[0]),r?2==o.type||4==o.type?h("body").append(e[1]):d.parents("."+u[0])[0]||(d.data("display",d.css("display")).show().addClass("layui-layer-wrap").wrap(e[1]),h("#"+u[0]+s).find("."+u[5]).before(t)):l.append(e[1]),h("#"+u.MOVE)[0]||l.append(f.moveElem=i),a.layero=h("#"+u[0]+s),a.shadeo=h("#"+u.SHADE+s),o.scrollbar||f.setScrollbar(s)}).auto(s),a.shadeo.css({"background-color":o.shade[1]||"#000",opacity:o.shade[0]||o.shade,transition:o.shade[2]||""}),a.shadeo.data(y,o.shade[0]||o.shade),2==o.type&&6==v.ie&&a.layero.find("iframe").attr("src",d[0]),4==o.type?a.tips():(a.offset(),parseInt(f.getStyle(document.getElementById(u.MOVE),"z-index"))||(a.layero.css("visibility","hidden"),v.ready(function(){a.offset(),a.layero.css("visibility","visible")}))),!o.fixed||f.events.resize[a.index]||(f.events.resize[a.index]=function(){a.resize()},g.on("resize",f.events.resize[a.index])),o.time<=0||setTimeout(function(){v.close(a.index)},o.time),a.move().callback(),c(a.layero),a.layero.data("config",o)}},t.pt.resize=function(){var e=this,t=e.config;e.offset(),(/^\d+%$/.test(t.area[0])||/^\d+%$/.test(t.area[1]))&&e.auto(e.index),4==t.type&&e.tips()},t.pt.auto=function(e){var t=this.config,i=h("#"+u[0]+e),n=(""===t.area[0]&&0t.maxWidth)&&i.width(t.maxWidth),[i.innerWidth(),i.innerHeight()]),a=i.find(u[1]).outerHeight()||0,o=i.find("."+u[6]).outerHeight()||0,e=function(e){(e=i.find(e)).height(n[1]-a-o-2*(0|parseFloat(e.css("padding-top"))))};return 2===t.type?e("iframe"):""===t.area[1]?0t.maxHeight?(n[1]=t.maxHeight,e("."+u[5])):t.fixed&&n[1]>=g.height()&&(n[1]=g.height(),e("."+u[5])):e("."+u[5]),this},t.pt.offset=function(){var e=this,t=e.config,i=e.layero,n=[i.outerWidth(),i.outerHeight()],a="object"==typeof t.offset;e.offsetTop=(g.height()-n[1])/2,e.offsetLeft=(g.width()-n[0])/2,a?(e.offsetTop=t.offset[0],e.offsetLeft=t.offset[1]||e.offsetLeft):"auto"!==t.offset&&("t"===t.offset?e.offsetTop=0:"r"===t.offset?e.offsetLeft=g.width()-n[0]:"b"===t.offset?e.offsetTop=g.height()-n[1]:"l"===t.offset?e.offsetLeft=0:"lt"===t.offset?(e.offsetTop=0,e.offsetLeft=0):"lb"===t.offset?(e.offsetTop=g.height()-n[1],e.offsetLeft=0):"rt"===t.offset?(e.offsetTop=0,e.offsetLeft=g.width()-n[0]):"rb"===t.offset?(e.offsetTop=g.height()-n[1],e.offsetLeft=g.width()-n[0]):e.offsetTop=t.offset),t.fixed||(e.offsetTop=/%$/.test(e.offsetTop)?g.height()*parseFloat(e.offsetTop)/100:parseFloat(e.offsetTop),e.offsetLeft=/%$/.test(e.offsetLeft)?g.width()*parseFloat(e.offsetLeft)/100:parseFloat(e.offsetLeft),e.offsetTop+=g.scrollTop(),e.offsetLeft+=g.scrollLeft()),"min"===i.data("maxminStatus")&&(e.offsetTop=g.height()-(i.find(u[1]).outerHeight()||0),e.offsetLeft=i.css("left")),i.css({top:e.offsetTop,left:e.offsetLeft})},t.pt.tips=function(){var e=this.config,t=this.layero,i=[t.outerWidth(),t.outerHeight()],n=h(e.follow),a={width:(n=n[0]?n:h("body")).outerWidth(),height:n.outerHeight(),top:n.offset().top,left:n.offset().left},o=t.find(".layui-layer-TipsG"),n=e.tips[0];e.tips[1]||o.remove(),a.autoLeft=function(){0'):e.removeClass("layui-layer-btn-is-loading").removeAttr("disabled").find(".layui-layer-btn-loading-icon").remove()},t.pt.callback=function(){var n=this,a=n.layero,o=n.config;n.openLayer(),o.success&&(2==o.type?a.find("iframe").on("load",function(){o.success(a,n.index,n)}):o.success(a,n.index,n)),6==v.ie&&n.IE6(a),a.find("."+u[6]).children("a").on("click",function(){var e,t=h(this),i=t.index();t.attr("disabled")||(o.btnAsync?(e=0===i?o.yes||o.btn1:o["btn"+(i+1)],n.loading=function(e){n.btnLoading(t,e)},e?f.promiseLikeResolve(e.call(o,n.index,a,n)).then(function(e){!1!==e&&v.close(n.index)},function(e){e!==m&&p.console&&p.console.error("layer error hint: "+e)}):v.close(n.index)):0===i?o.yes?o.yes(n.index,a,n):o.btn1?o.btn1(n.index,a,n):v.close(n.index):!1!==(o["btn"+(i+1)]&&o["btn"+(i+1)](n.index,a,n))&&v.close(n.index))}),a.find("."+u[7]).on("click",function(){!1!==(o.cancel&&o.cancel(n.index,a,n))&&v.close(n.index)}),o.shadeClose&&n.shadeo.on("click",function(){v.close(n.index)}),a.find(".layui-layer-min").on("click",function(){!1!==(o.min&&o.min(a,n.index,n))&&v.min(n.index,o)}),a.find(".layui-layer-max").on("click",function(){h(this).hasClass("layui-layer-maxmin")?(v.restore(n.index),o.restore&&o.restore(a,n.index,n)):(v.full(n.index,o),setTimeout(function(){o.full&&o.full(a,n.index,n)},100))}),o.end&&(f.end[n.index]=o.end),o.beforeEnd&&(f.beforeEnd[n.index]=h.proxy(o.beforeEnd,o,a,n.index,n))},f.reselect=function(){h.each(h("select"),function(e,t){var i=h(this);i.parents("."+u[0])[0]||1==i.attr("layer")&&h("."+u[0]).length<1&&i.removeAttr("layer").show()})},t.pt.IE6=function(e){h("select").each(function(e,t){var i=h(this);i.parents("."+u[0])[0]||"none"!==i.css("display")&&i.attr({layer:"1"}).hide()})},t.pt.openLayer=function(){v.zIndex=this.config.zIndex,v.setTop=function(e){return v.zIndex=parseInt(e[0].style.zIndex),e.on("mousedown",function(){v.zIndex++,e.css("z-index",v.zIndex+1)}),v.zIndex}},f.record=function(e){if(!e[0])return p.console&&console.error("index error");var t=e.attr("type"),i=e.find(".layui-layer-content"),t=t===f.type[2]?i.children("iframe"):i,n=[e[0].style.width||f.getStyle(e[0],"width"),e[0].style.height||f.getStyle(e[0],"height"),e.position().top,e.position().left+parseFloat(e.css("margin-left"))];e.find(".layui-layer-max").addClass("layui-layer-maxmin"),e.attr({area:n}),i.data(l,f.getStyle(t[0],"height"))},f.setScrollbar=function(e){u.html.css("overflow","hidden").attr("layer-full",e)},f.restScrollbar=function(e){u.html.attr("layer-full")==e&&(u.html[0].style[u.html[0].style.removeProperty?"removeProperty":"removeAttribute"]("overflow"),u.html.removeAttr("layer-full"))},f.promiseLikeResolve=function(e){var t=h.Deferred();return e&&"function"==typeof e.then?e.then(t.resolve,t.reject):t.resolve(e),t.promise()},(p.layer=v).getChildFrame=function(e,t){return t=t||h("."+u[4]).attr("times"),h("#"+u[0]+t).find("iframe").contents().find(e)},v.getFrameIndex=function(e){return h("#"+e).parents("."+u[4]).attr("times")},v.iframeAuto=function(e){var t,i,n;e&&(t=v.getChildFrame("html",e).outerHeight(),i=(e=h("#"+u[0]+e)).find(u[1]).outerHeight()||0,n=e.find("."+u[6]).outerHeight()||0,e.css({height:t+i+n}),e.find("iframe").css({height:t}))},v.iframeSrc=function(e,t){h("#"+u[0]+e).find("iframe").attr("src",t)},v.style=function(e,t,i){var e=h("#"+u[0]+e),n=e.find(".layui-layer-content"),a=e.attr("type"),o=e.find(u[1]).outerHeight()||0,s=e.find("."+u[6]).outerHeight()||0;e.attr("minLeft");a!==f.type[3]&&a!==f.type[4]&&(i||(parseFloat(t.width)<=260&&(t.width=260),parseFloat(t.height)-o-s<=64&&(t.height=64+o+s)),e.css(t),s=e.find("."+u[6]).outerHeight()||0,a===f.type[2]?e.find("iframe").css({height:("number"==typeof t.height?t.height:e.height())-o-s}):n.css({height:("number"==typeof t.height?t.height:e.height())-o-s-parseFloat(n.css("padding-top"))-parseFloat(n.css("padding-bottom"))}))},v.min=function(e,t){var i,n,a,o,s,r,l=h("#"+u[0]+e),c=l.data("maxminStatus");"min"!==c&&("max"===c&&v.restore(e),l.data("maxminStatus","min"),t=t||l.data("config")||{},c=h("#"+u.SHADE+e),i=l.find(".layui-layer-min"),n=l.find(u[1]).outerHeight()||0,o=(a="string"==typeof(o=l.attr("minLeft")))?o:181*f.minStackIndex+"px",s=l.css("position"),r={width:180,height:n,position:"fixed",overflow:"hidden"},f.record(l),0g.width()&&(o=g.width()-180-(f.minStackArr.edgeIndex=f.minStackArr.edgeIndex||0,f.minStackArr.edgeIndex+=3))<0&&(o=0),t.minStack&&(r.left=o,r.top=g.height()-n,a||f.minStackIndex++,l.attr("minLeft",o)),l.attr("position",s),v.style(e,r,!0),i.hide(),"page"===l.attr("type")&&l.find(u[4]).hide(),f.restScrollbar(e),c.hide())},v.restore=function(e){var t=h("#"+u[0]+e),i=h("#"+u.SHADE+e),n=t.find(".layui-layer-content"),a=t.attr("area").split(","),o=t.attr("type"),s=t.data("config")||{},r=n.data(l);t.removeData("maxminStatus"),v.style(e,{width:a[0],height:a[1],top:parseFloat(a[2]),left:parseFloat(a[3]),position:t.attr("position"),overflow:"visible"},!0),t.find(".layui-layer-max").removeClass("layui-layer-maxmin"),t.find(".layui-layer-min").show(),"page"===o&&t.find(u[4]).show(),s.scrollbar?f.restScrollbar(e):f.setScrollbar(e),r!==m&&(n.removeData(l),(o===f.type[2]?n.children("iframe"):n).css({height:r})),i.show()},v.full=function(t){var i=h("#"+u[0]+t),e=i.data("maxminStatus");"max"!==e&&("min"===e&&v.restore(t),i.data("maxminStatus","max"),f.record(i),u.html.attr("layer-full")||f.setScrollbar(t),setTimeout(function(){var e="fixed"===i.css("position");v.style(t,{top:e?0:g.scrollTop(),left:e?0:g.scrollLeft(),width:"100%",height:"100%"},!0),i.find(".layui-layer-min").hide()},100))},v.title=function(e,t){h("#"+u[0]+(t||v.index)).find(u[1]).html(e)},v.close=function(s,r){var e,t,l=(e=h("."+u[0]).children("#"+s).closest("."+u[0]))[0]?(s=e.attr("times"),e):h("#"+u[0]+s),c=l.attr("type"),i=l.data("config")||{},d=i.id&&i.hideOnClose;l[0]&&(t=function(){var o={slideDown:"layer-anim-slide-down-out",slideLeft:"layer-anim-slide-left-out",slideUp:"layer-anim-slide-up-out",slideRight:"layer-anim-slide-right-out"}[i.anim]||"layer-anim-close",e=function(){var e="layui-layer-wrap";if(d)return l.removeClass("layer-anim "+o),l.hide();if(c===f.type[1]&&"object"===l.attr("conType")){l.children(":not(."+u[5]+")").remove();for(var t=l.find("."+e),i=0;i<2;i++)t.unwrap();t.css("display",t.data("display")).removeClass(e)}else{if(c===f.type[2])try{var n=h("#"+u[4]+s)[0];n.contentWindow.document.write(""),n.contentWindow.close(),l.find("."+u[5])[0].removeChild(n)}catch(a){}l[0].innerHTML="",l.remove()}"function"==typeof f.end[s]&&f.end[s](),delete f.end[s],"function"==typeof r&&r(),f.events.resize[s]&&(g.off("resize",f.events.resize[s]),delete f.events.resize[s])},t=h("#"+u.SHADE+s);v.ie&&v.ie<10||!i.isOutAnim?t[d?"hide":"remove"]():(t.css({opacity:0}),setTimeout(function(){t[d?"hide":"remove"]()},350)),i.isOutAnim&&l.addClass("layer-anim "+o),6==v.ie&&f.reselect(),f.restScrollbar(s),"string"==typeof l.attr("minLeft")&&(f.minStackIndex--,f.minStackArr.push(l.attr("minLeft"))),v.ie&&v.ie<10||!i.isOutAnim?e():setTimeout(function(){e()},200)},d||"function"!=typeof f.beforeEnd[s]?(delete f.beforeEnd[s],t()):f.promiseLikeResolve(f.beforeEnd[s]()).then(function(e){!1!==e&&(delete f.beforeEnd[s],t())},function(e){e!==m&&p.console&&p.console.error("layer error hint: "+e)}))},v.closeAll=function(n,a){"function"==typeof n&&(a=n,n=null);var o=h("."+u[0]);h.each(o,function(e){var t=h(this),i=n?t.attr("type")===n:1;i&&v.close(t.attr("times"),e===o.length-1?a:null)}),0===o.length&&"function"==typeof a&&a()},v.closeLast=function(i,e){var t,n=[],a=h.isArray(i);h("string"==typeof i?".layui-layer-"+i:".layui-layer").each(function(e,t){t=h(t);if(a&&-1===i.indexOf(t.attr("type"))||"none"===t.css("display"))return!0;n.push(Number(t.attr("times")))}),0":'",s=i.success;return delete i.success,v.open(h.extend({type:1,btn:["\u786e\u5b9a","\u53d6\u6d88"],content:o,skin:"layui-layer-prompt"+x("prompt"),maxWidth:g.width(),success:function(e){(a=e.find(".layui-layer-input")).val(i.value||"").focus(),"function"==typeof s&&s(e)},resize:!1,yes:function(e){var t=a.val();t.length>(i.maxlength||500)?v.tips("\u6700\u591a\u8f93\u5165"+(i.maxlength||500)+"\u4e2a\u5b57\u7b26",a,{tips:1}):n&&n(t,e,a)}},i))},v.tab=function(n){var a=(n=n||{}).tab||{},o="layui-this",s=n.success;return delete n.success,v.open(h.extend({type:1,skin:"layui-layer-tab"+x("tab"),resize:!1,title:function(){var e=a.length,t=1,i="";if(0'+a[0].title+"";t"+a[t].title+"";return i}(),content:'
      '+function(){var e=a.length,t=1,i="";if(0'+(a[0].content||"no content")+"";t'+(a[t].content||"no content")+"";return i}()+"
    ",success:function(e){var t=e.find(".layui-layer-title").children(),i=e.find(".layui-layer-tabmain").children();t.on("mousedown",function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0;var e=h(this),t=e.index();e.addClass(o).siblings().removeClass(o),i.eq(t).show().siblings().hide(),"function"==typeof n.change&&n.change(t)}),"function"==typeof s&&s(e)}},n))},v.photos=function(n,e,a){var s={};if((n=h.extend(!0,{toolbar:!0,footer:!0},n)).photos){var t=!("string"==typeof n.photos||n.photos instanceof h),i=t?n.photos:{},o=i.data||[],r=i.start||0,l=n.success;if(s.imgIndex=1+(0|r),n.img=n.img||"img",delete n.success,t){if(0===o.length)return v.msg("\u6ca1\u6709\u56fe\u7247")}else{var c=h(n.photos),d=function(){o=[],c.find(n.img).each(function(e){var t=h(this);t.attr("layer-index",e),o.push({alt:t.attr("alt"),pid:t.attr("layer-pid"),src:t.attr("lay-src")||t.attr("layer-src")||t.attr("src"),thumb:t.attr("src")})})};if(d(),0===o.length)return;if(e||c.on("click",n.img,function(){d();var e=h(this).attr("layer-index");v.photos(h.extend(n,{photos:{start:e,data:o,tab:n.tab},full:n.full}),!0)}),!e)return}s.imgprev=function(e){s.imgIndex--,s.imgIndex<1&&(s.imgIndex=o.length),s.tabimg(e)},s.imgnext=function(e,t){s.imgIndex++,s.imgIndex>o.length&&(s.imgIndex=1,t)||s.tabimg(e)},s.keyup=function(e){var t;s.end||(t=e.keyCode,e.preventDefault(),37===t?s.imgprev(!0):39===t?s.imgnext(!0):27===t&&v.close(s.index))},s.tabimg=function(e){if(!(o.length<=1))return i.start=s.imgIndex-1,v.close(s.index),v.photos(n,!0,e)},s.isNumber=function(e){return"number"==typeof e&&!isNaN(e)},s.image={},s.getTransform=function(e){var t=[],i=e.rotate,n=e.scaleX,e=e.scale;return s.isNumber(i)&&0!==i&&t.push("rotate("+i+"deg)"),s.isNumber(n)&&1!==n&&t.push("scaleX("+n+")"),s.isNumber(e)&&t.push("scale("+e+")"),t.length?t.join(" "):"none"},s.event=function(e,i,n){var a,o;s.main.find(".layui-layer-photos-prev").on("click",function(e){e.preventDefault(),s.imgprev(!0)}),s.main.find(".layui-layer-photos-next").on("click",function(e){e.preventDefault(),s.imgnext(!0)}),h(document).on("keyup",s.keyup),e.off("click").on("click","*[toolbar-event]",function(){var e=h(this);switch(e.attr("toolbar-event")){case"rotate":s.image.rotate=((s.image.rotate||0)+Number(e.attr("data-option")))%360,s.imgElem.css({transform:s.getTransform(s.image)});break;case"scalex":s.image.scaleX=-1===s.image.scaleX?1:-1,s.imgElem.css({transform:s.getTransform(s.image)});break;case"zoom":var t=Number(e.attr("data-option"));s.image.scale=(s.image.scale||1)+t,t<0&&s.image.scale<0-t&&(s.image.scale=0-t),s.imgElem.css({transform:s.getTransform(s.image)});break;case"reset":s.image.scaleX=1,s.image.scale=1,s.image.rotate=0,s.imgElem.css({transform:"none"});break;case"close":v.close(i)}n.offset(),n.auto(i)}),s.main.on("mousewheel DOMMouseScroll",function(e){var t=e.originalEvent.wheelDelta||-e.originalEvent.detail,i=s.main.find('[toolbar-event="zoom"]');(0n)&&("left"===t.direction?s.imgnext(!0):"right"===t.direction&&s.imgprev(!0))},h.each([n.shadeo,s.main],function(e,t){a.touchSwipe(t,{onTouchEnd:o})}))},s.loadi=v.load(1,{shade:!("shade"in n)&&[.9,m,"unset"],scrollbar:!1});var t=o[r].src,f=function(e){v.close(s.loadi);var t,i=o[r].alt||"";a&&(n.anim=-1),s.index=v.open(h.extend({type:1,id:"layui-layer-photos",area:(e=[e.width,e.height],t=[h(p).width()-100,h(p).height()-100],!n.full&&(t[0]'+i+''+(t=['
    '],1','','',"
    "].join("")),n.toolbar&&t.push(['
    ','','','','','','',"
    "].join("")),n.footer&&t.push(['"].join("")),t.push(""),t.join(""))+"",success:function(e,t,i){s.main=e.find(".layer-layer-photos-main"),s.footer=e.find(".layui-layer-photos-footer"),s.imgElem=s.main.children("img"),s.event(e,t,i),n.tab&&n.tab(o[r],e),"function"==typeof l&&l(e)},end:function(){s.end=!0,h(document).off("keyup",s.keyup)}},n))},u=function(){v.close(s.loadi),v.msg("\u5f53\u524d\u56fe\u7247\u5730\u5740\u5f02\u5e38\uff0c
    \u662f\u5426\u7ee7\u7eed\u67e5\u770b\u4e0b\u4e00\u5f20\uff1f",{time:3e4,btn:["\u4e0b\u4e00\u5f20","\u4e0d\u770b\u4e86"],yes:function(){1").addClass(r));layui.each(i.bars,function(t,e){var n=s('
  • ');n.addClass(e.icon).attr({"lay-type":e.type,style:e.style||(i.bgcolor?"background-color: "+i.bgcolor:"")}).html(e.content),n.on("click",function(){var t=s(this).attr("lay-type");"top"===t&&("body"===i.target?s("html,body"):u).animate({scrollTop:0},i.duration),"function"==typeof i.click&&i.click.call(this,t)}),"object"===layui.type(i.on)&&layui.each(i.on,function(t,e){n.on(t,function(){var t=s(this).attr("lay-type");"function"==typeof e&&e.call(this,t)})}),"top"===e.type&&(n.addClass("layui-fixbar-top"),o=n),l.append(n)}),c.find("."+r).remove(),"object"==typeof i.css&&l.css(i.css),c.append(l),o&&(e=function e(){return u.scrollTop()>=i.margin?t||(o.show(),t=1):t&&(o.hide(),t=0),e}()),u.on("scroll",function(){e&&(clearTimeout(n),n=setTimeout(function(){e()},100))})},countdown:function(i){i=s.extend(!0,{date:new Date,now:new Date},i);var o=arguments,r=(1]|&(?=#[a-zA-Z0-9]+)/g.test(t+="")?t.replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,"""):t},unescape:function(t){return t!==undefined&&null!==t||(t=""),(t+="").replace(/\&/g,"&").replace(/\</g,"<").replace(/\>/g,">").replace(/\'/g,"'").replace(/\"/g,'"')},openWin:function(t){var e=(t=t||{}).window||window.open(t.url||"",t.target,t.specs);t.url||(e.document.open("text/html","replace"),e.document.write(t.content||""),e.document.close())},toVisibleArea:function(t){var e,n,i,o,r,a,c,u;(t=s.extend({margin:160,duration:200,type:"y"},t)).scrollElem[0]&&t.thisElem[0]&&(e=t.scrollElem,c=t.thisElem,i=(r="y"===t.type)?"top":"left",o=e[n=r?"scrollTop":"scrollLeft"](),r=e[r?"height":"width"](),a=e.offset()[i],u={},(c=c.offset()[i]-a)>r-t.margin||c."+w,E=function(e){var i=this;i.index=++h.index,i.config=c.extend({},i.config,h.config,e),i.init()};E.prototype.config={trigger:"click",content:"",className:"",style:"",show:!1,isAllowSpread:!0,isSpreadItem:!0,data:[],delay:[200,300],shade:0,accordion:!1},E.prototype.reload=function(e,i){var t=this;t.config=c.extend({},t.config,e),t.init(!0,i)},E.prototype.init=function(e,i){var t,n=this,l=n.config,a=c(l.elem);return 1');return 0\u6682\u65e0\u6570\u636e
  • '),e},u=function(r,e){return layui.each(e,function(e,i){var t,n=i[s.children]&&0",(t="href"in i?''+a+"":a,n?'
    '+t+("parent"===o?'':"group"===o&&d.isAllowSpread?'':"")+"
    ":'
    '+t+"
    "),""].join(""))).data("item",i),n&&(l=c('
    '),t=c("
      "),"parent"===o?(l.append(u(t,i[s.children])),a.append(l)):a.append(u(t,i[s.children]))),r.append(a))}),r},l=['
      ',"
      "].join("");!(e="contextmenu"!==d.trigger&&!lay.isTopElem(d.elem[0])?e:!0)&&d.elem.data(y+"_opened")||(a.elemView=c("."+v+"["+f+'="'+d.id+'"]'),"reloadData"===i&&a.elemView.length?a.elemView.html(d.content||n()):(a.elemView=c(l),a.elemView.append(d.content||n()),d.className&&a.elemView.addClass(d.className),d.style&&a.elemView.attr("style",d.style),h.thisId=d.id,a.remove(),t.append(a.elemView),d.elem.data(y+"_opened",!0),e=d.shade?'
      ':"",a.elemView.before(e),"mouseenter"===d.trigger&&a.elemView.on("mouseenter",function(){clearTimeout(g.timer)}).on("mouseleave",function(){a.delayRemove()})),a.position(),(g.prevElem=a.elemView).data("prevElem",d.elem),a.elemView.find(".layui-menu").on(o,function(e){layui.stope(e)}),a.elemView.find(".layui-menu li").on("click",function(e){var i=c(this),t=i.data("item")||{},n=t[s.children]&&0n.width()&&(t.addClass(b),(i=t[0].getBoundingClientRect()).left<0)&&t.removeClass(b),i.bottom>n.height())&&t.eq(0).css("margin-top",-(i.bottom-n.height()+5))}).on("mouseleave",t,function(e){var i=c(this).children("."+x);i.removeClass(b),i.css("margin-top",0)}),h.close=function(e){e=g.getThis(e);return e?(e.remove(),g.call(e)):this},h.open=function(e){e=g.getThis(e);return e?(e.render(),g.call(e)):this},h.reload=function(e,i,t){e=g.getThis(e);return e?(e.reload(i,t),g.call(e)):this},h.reloadData=function(){var t=c.extend([],arguments),n=(t[2]="reloadData",new RegExp("^("+["data","templet","content"].join("|")+")$"));return layui.each(t[1],function(e,i){n.test(e)||delete t[1][e]}),h.reload.apply(null,t)},h.render=function(e){e=new E(e);return g.call(e)},e(r,h)});layui.define(["jquery","lay"],function(e){"use strict";var x=layui.$,b=layui.lay,m={config:{},index:layui.slider?layui.slider.index+1e4:0,set:function(e){var t=this;return t.config=x.extend({},t.config,e),t},on:function(e,t){return layui.onevent.call(this,i,e,t)}},i="slider",f="layui-disabled",T="layui-slider-bar",w="layui-slider-wrap",M="layui-slider-wrap-btn",L="layui-slider-tips",E="layui-slider-input-txt",Y="layui-slider-hover",t=function(e){var t=this;t.index=++m.index,t.config=x.extend({},t.config,m.config,e),t.render()};t.prototype.config={type:"default",min:0,max:100,value:0,step:1,showstep:!1,tips:!0,tipsAlways:!1,input:!1,range:!1,height:200,disabled:!1,theme:"#16baaa"},t.prototype.precision=function(){var e=this.config,e=x.map([e.min,e.max,e.step],function(e,t){e=String(e).split(".");return e[1]?e[1].length:0});return Math.max.apply(null,e)},t.prototype.render=function(){var n=this,a=n.config,e=x(a.elem);if(1a.max&&(a.value=a.max),l=(a.value-a.min)/(a.max-a.min)*100+"%");var t,e=a.disabled?"#c2c2c2":a.theme,i='
      '+(a.tips?'
      ":"")+'
      '+(a.range?'
      ':"")+"
      ",l=x(a.elem),s=l.next(".layui-slider");if(s[0]&&s.remove(),n.elemTemp=x(i),a.range?(n.elemTemp.find("."+w).eq(0).data("value",a.value[0]),n.elemTemp.find("."+w).eq(1).data("value",a.value[1])):n.elemTemp.find("."+w).data("value",a.value),l.html(n.elemTemp),"vertical"===a.type&&n.elemTemp.height(a.height+"px"),a.showstep){for(var o=(a.max-a.min)/a.step,r="",u=1;u<1+o;u++){var c=100*u/o;c<100&&(r+='
      ')}n.elemTemp.append(r)}function d(e){e=e.parent().data("value"),e=a.setTips?a.setTips(e):e;n.elemTemp.find("."+L).html(e)}function p(e){var t="vertical"===a.type?a.height:n.elemTemp[0].offsetWidth,i=n.elemTemp.find("."+w);return("vertical"===a.type?t-e.parent()[0].offsetTop-i.height():e.parent()[0].offsetLeft)/t*100}function v(e){"vertical"===a.type?n.elemTemp.find("."+L).css({bottom:e+"%","margin-bottom":"20px",display:"inline-block"}):n.elemTemp.find("."+L).css({left:e+"%",display:"inline-block"})}a.input&&!a.range&&(e=x('
      '),l.css("position","relative"),l.append(e),l.find("."+E).children("input").val(a.value),"vertical"===a.type?e.css({left:0,top:-48}):n.elemTemp.css("margin-right",e.outerWidth()+15)),a.disabled?(n.elemTemp.addClass(f),n.elemTemp.find("."+M).addClass(f)):n.slide(),a.tips&&(a.tipsAlways?(d(s=n.elemTemp.find("."+M)),v(p(s))):n.elemTemp.find("."+M).on("mouseover",function(){d(x(this));var e=p(x(this));clearTimeout(t),t=setTimeout(function(){v(e)},300)}).on("mouseout",function(){clearTimeout(t),a.tipsAlways||n.elemTemp.find("."+L).css("display","none")}))},t.prototype.slide=function(e,t,i){var u=this,c=u.config,d=u.elemTemp,p=function(){return"vertical"===c.type?c.height:d[0].offsetWidth},v=d.find("."+w),o=d.next(".layui-slider-input"),r=o.children("."+E).children("input").val(),m=100/((c.max-c.min)/c.step),f=u.precision(),h=function(e,t,i){e=(e=100<(e=100n[1]&&n.reverse(),u.value=c.range?n:l,c.change&&c.change(u.value),"done"===i&&c.done&&c.done(u.value)},y=function(e){var t=e/p()*100/m,i=Math.round(t)*m;return i=e==p()?Math.ceil(t)*m:i},g=x(['
      p()?p():t)/p()*100/m;h(t,o),r.addClass(Y),d.find("."+L).show(),e.preventDefault()},n=function(e){r.removeClass(Y),c.tipsAlways||setTimeout(function(){d.find("."+L).hide()},e)},a=function(){n&&n(b.touchEventsSupported()?1e3:0),g.remove(),c.done&&c.done(u.value),b.touchEventsSupported()&&(t[0].removeEventListener("touchmove",i,!!b.passiveSupported&&{passive:!1}),t[0].removeEventListener("touchend",a),t[0].removeEventListener("touchcancel",a))},x("#LAY-slider-moving")[0]||x("body").append(g),g.on("mousemove",i),g.on("mouseup",a).on("mouseleave",a),b.touchEventsSupported()&&(t[0].addEventListener("touchmove",i,!!b.passiveSupported&&{passive:!1}),t[0].addEventListener("touchend",a),t[0].addEventListener("touchcancel",a))})}),d.on("click",function(e){var t=x("."+M),i=x(this);!t.is(event.target)&&0===t.has(event.target).length&&t.length&&(i=(t=(t=(t="vertical"===c.type?p()-e.clientY+i.offset().top-x(window).scrollTop():e.clientX-i.offset().left-x(window).scrollLeft())<0?0:t)>p()?p():t)/p()*100/m,t=c.range?"vertical"===c.type?Math.abs(t-parseInt(x(v[0]).css("bottom")))>Math.abs(t-parseInt(x(v[1]).css("bottom")))?1:0:Math.abs(t-v[0].offsetLeft)>Math.abs(t-v[1].offsetLeft)?1:0:0,h(i,t,"done"),e.preventDefault())}),o.children(".layui-slider-input-btn").children("i").each(function(t){x(this).on("click",function(){r=o.children("."+E).children("input").val();var e=((r=1==t?r-c.stepc.max?c.max:Number(r)+c.step)-c.min)/(c.max-c.min)*100/m;h(e,0,"done")})});var n=function(){var e=this.value,e=(e=(e=(e=isNaN(e)?0:e)c.max?c.max:e,((this.value=e)-c.min)/(c.max-c.min)*100/m);h(e,0,"done")};o.children("."+E).children("input").on("keydown",function(e){13===e.keyCode&&(e.preventDefault(),n.call(this))}).on("change",n)},t.prototype.events=function(){this.config},m.render=function(e){e=new t(e);return function(){var i=this,n=i.config;return{setValue:function(e,t){return e=(e=e>n.max?n.max:e)',"",'','',"","","
      "].join("")),t=i.elem=x(i.elem);i.size&&o.addClass("layui-colorpicker-"+i.size),t.addClass("layui-inline").html(e.elemColorBox=o),i.id="id"in i?i.id:t.attr("id")||e.index,e.color=e.elemColorBox.find("."+T)[0].style.background,e.events()},s.prototype.renderPicker=function(){var o,e=this,i=e.config,t=e.elemColorBox[0],n=e.elemPicker=x(['
      ','
      ','
      ','
      ','
      ','
      ',"
      ",'
      ','
      ',"
      ","
      ",'
      ','
      ','
      ',"
      ","
      ",i.predefine?(o=['
      '],layui.each(i.colors,function(e,i){o.push(['
      ','
      ',"
      "].join(""))}),o.push("
      "),o.join("")):"",'
      ','
      ','',"
      ",'
      ','','',"","
      "].join(""));e.elemColorBox.find("."+T)[0];x(c)[0]&&x(c).data("index")==e.index?e.removePicker(s.thisElemInd):(e.removePicker(s.thisElemInd),x("body").append(n)),r.thisId=i.id,s.thisElemInd=e.index,s.thisColor=t.style.background,e.position(),e.pickerEvents()},s.prototype.removePicker=function(e){var i=this.config,e=x("#layui-colorpicker"+(e||this.index));return e[0]&&(e.remove(),delete r.thisId,"function"==typeof i.close)&&i.close(this.color),this},s.prototype.position=function(){var e=this,i=e.config;return P.position(e.bindElem||e.elemColorBox[0],e.elemPicker[0],{position:i.position,align:"center"}),e},s.prototype.val=function(){var e,i=this,o=(i.config,i.elemColorBox.find("."+T)),t=i.elemPicker.find("."+X),n=o[0].style.backgroundColor;n?(e=j(L(n)),o=o.attr("lay-type"),i.select(e.h,e.s,e.b),"torgb"===o?t.find("input").val(n):"rgba"===o?(o=L(n),3===(n.match(/[0-9]{1,3}/g)||[]).length?(t.find("input").val("rgba("+o.r+", "+o.g+", "+o.b+", 1)"),i.elemPicker.find("."+Y).css("left",280)):(t.find("input").val(n),n=280*n.slice(n.lastIndexOf(",")+1,n.length-1),i.elemPicker.find("."+Y).css("left",n)),i.elemPicker.find("."+D)[0].style.background="linear-gradient(to right, rgba("+o.r+", "+o.g+", "+o.b+", 0), rgb("+o.r+", "+o.g+", "+o.b+"))"):t.find("input").val("#"+H(e))):(i.select(0,100,100),t.find("input").val(""),i.elemPicker.find("."+D)[0].style.background="",i.elemPicker.find("."+Y).css("left",280))},s.prototype.side=function(){var r=this,l=r.config,c=r.elemColorBox.find("."+T),a=c.attr("lay-type"),s=r.elemPicker.find(".layui-colorpicker-side"),o=r.elemPicker.find("."+I),d=r.elemPicker.find("."+E),t=r.elemPicker.find("."+M),u=r.elemPicker.find("."+D),f=r.elemPicker.find("."+Y),p=o[0].offsetTop/180*360,h=100-(t[0].offsetTop+3)/180*100,g=(t[0].offsetLeft+3)/260*100,v=Math.round(f[0].offsetLeft/280*100)/100,m=r.elemColorBox.find("."+B),e=r.elemPicker.find(".layui-colorpicker-pre").children("div"),y=function(e,i,o,t){r.select(e,i,o);var n=F({h:e,s:i,b:o}),e=H({h:e,s:i,b:o}),i=r.elemPicker.find("."+X).find("input");m.addClass(C).removeClass(w),c[0].style.background="rgb("+n.r+", "+n.g+", "+n.b+")","torgb"===a?i.val("rgb("+n.r+", "+n.g+", "+n.b+")"):"rgba"===a?(f.css("left",280*t),i.val("rgba("+n.r+", "+n.g+", "+n.b+", "+t+")"),c[0].style.background="rgba("+n.r+", "+n.g+", "+n.b+", "+t+")",u[0].style.background="linear-gradient(to right, rgba("+n.r+", "+n.g+", "+n.b+", 0), rgb("+n.r+", "+n.g+", "+n.b+"))"):i.val("#"+e),l.change&&l.change(x.trim(r.elemPicker.find("."+X).find("input").val()))},i=x(['
      '].join("")),b=function(e){x("#LAY-colorpicker-moving")[0]||x("body").append(i),i.on("mousemove",e),i.on("mouseup",function(){i.remove()}).on("mouseleave",function(){i.remove()})},n=!0,k=!0;o.on("mousedown",function(e,i){var t=this.offsetTop,n=(e.clientY===undefined?i:e).clientY;k&&layui.stope(e),b(function(e){var i=t+(e.clientY-n),o=s[0].offsetHeight,o=(i=o<(i=i<0?0:i)?o:i)/180*360;y(p=o,g,h,v),e.preventDefault()}),e.preventDefault()}),s.on("mousedown",function(e){var i=e.clientY-x(this).offset().top+W.scrollTop(),i=(i=(i=i<0?0:i)>this.offsetHeight?this.offsetHeight:i)/180*360;y(p=i,g,h,v),e.preventDefault(),n&&o.trigger("mousedown",e)}),t.on("mousedown",function(e,i){var r=this.offsetTop,l=this.offsetLeft,c=(e.clientY===undefined?i:e).clientY,a=(e.clientX===undefined?i:e).clientX;k&&layui.stope(e),b(function(e){var i=r+(e.clientY-c),o=l+(e.clientX-a),t=d[0].offsetHeight,n=d[0].offsetWidth,n=(o=n<(o=o<0?0:o)?n:o)/260*100,o=100-(i=t<(i=i<0?0:i)?t:i)/180*100;y(p,g=n,h=o,v),e.preventDefault()}),e.preventDefault()}),d.on("mousedown",function(e){var i=e.clientY-x(this).offset().top+W.scrollTop(),o=e.clientX-x(this).offset().left+W.scrollLeft(),o=((i=i<0?0:i)>this.offsetHeight&&(i=this.offsetHeight),(o=(o=o<0?0:o)>this.offsetWidth?this.offsetWidth:o)/260*100),i=100-i/180*100;y(p,g=o,h=i,v),layui.stope(e),e.preventDefault(),n&&t.trigger("mousedown",e)}),f.on("mousedown",function(e,i){var t=this.offsetLeft,n=(e.clientX===undefined?i:e).clientX;k&&layui.stope(e),b(function(e){var i=t+(e.clientX-n),o=u[0].offsetWidth,o=(o<(i=i<0?0:i)&&(i=o),Math.round(i/280*100)/100);y(p,g,h,v=o),e.preventDefault()}),e.preventDefault()}),u.on("mousedown",function(e){var i=e.clientX-x(this).offset().left,i=((i=i<0?0:i)>this.offsetWidth&&(i=this.offsetWidth),Math.round(i/280*100)/100);y(p,g,h,v=i),e.preventDefault(),n&&f.trigger("mousedown",e)}),e.each(function(){x(this).on("click",function(){x(this).parent(".layui-colorpicker-pre").addClass("selected").siblings().removeClass("selected");var e=this.style.backgroundColor,i=j(L(e)),o=e.slice(e.lastIndexOf(",")+1,e.length-1);p=i.h,g=i.s,h=i.b,3===(e.match(/[0-9]{1,3}/g)||[]).length&&(o=1),v=o,y(i.h,i.s,i.b,o)})}),P.touchEventsSupported()&&layui.each([{elem:s,eventType:"mousedown"},{elem:u,eventType:"mousedown"},{elem:d,eventType:"mousedown"}],function(e,t){P.touchSwipe(t.elem,{onTouchStart:function(){k=n=!1},onTouchMove:function(e){var i,o;e=e,i=t.eventType,e=e.touches[0],(o=document.createEvent("MouseEvent")).initMouseEvent(i,!0,!0,window,1,e.screenX,e.screenY,e.clientX,e.clientY,!1,!1,!1,!1,0,null),e.target.dispatchEvent(o)},onTouchEnd:function(){i.remove(),k=n=!0}})})},s.prototype.select=function(e,i,o,t){this.config;var n=H({h:e,s:100,b:100}),e=(H({h:e,s:i,b:o}),e/360*180),o=180-o/100*180,i=i/100*260,r=this.elemPicker.find("."+E)[0];this.elemPicker.find("."+I).css("top",e),r.style.background="#"+n,this.elemPicker.find("."+M).css({top:o/r.offsetHeight*100+"%",left:i/r.offsetWidth*100+"%"})},s.prototype.pickerEvents=function(){var c=this,a=c.config,s=c.elemColorBox.find("."+T),d=c.elemPicker.find("."+X+" input"),o={clear:function(e){s[0].style.background="",c.elemColorBox.find("."+B).removeClass(C).addClass(w),c.color="",a.done&&a.done(""),c.removePicker()},confirm:function(e,i){var o,t,n,r,l=x.trim(d.val());-1>16,g:(65280&n)>>8,b:255&n},t=j(r),s[0].style.background=o="#"+H(t),c.elemColorBox.find("."+B).removeClass(w).addClass(C)),"change"===i?(c.select(t.h,t.s,t.b,i),a.change&&a.change(o)):(c.color=l,a.done&&a.done(l),c.removePicker())}};c.elemPicker.on("click","*[colorpicker-events]",function(){var e=x(this),i=e.attr("colorpicker-events");o[i]&&o[i].call(this,e)}),d.on("keyup",function(e){var i=x(this);o.confirm.call(this,i,13===e.keyCode?null:"change")})},s.prototype.events=function(){var e=this;e.config;e.elemColorBox.on("click",function(){e.renderPicker(),x(c)[0]&&(e.val(),e.side())})},a.on(i,function(e){var i,o,t;r.thisId&&(i=n.getThis(r.thisId))&&(o=i.config,t=i.elemColorBox.find("."+T),x(e.target).hasClass(l)||x(e.target).parents("."+l)[0]||x(e.target).hasClass(c.replace(/\./g,""))||x(e.target).parents(c)[0]||i.elemPicker&&(i.color?(e=j(L(i.color)),i.select(e.h,e.s,e.b)):i.elemColorBox.find("."+B).removeClass(C).addClass(w),t[0].style.background=i.color||"","function"==typeof o.cancel&&o.cancel(i.color),i.removePicker()))}),W.on("resize",function(){if(r.thisId){var e=n.getThis(r.thisId);if(e)return!(!e.elemPicker||!x(c)[0])&&void e.position()}}),n.that={},n.getThis=function(e){var i=n.that[e];return i||o.error(e?t+" instance with ID '"+e+"' not found":"ID argument required"),i},r.render=function(e){e=new s(e);return n.call(e)},e(t,r)});layui.define("jquery",function(t){"use strict";var u=layui.$,d=(layui.hint(),layui.device()),c="element",r="layui-this",h="layui-show",o=".layui-tab-title",i=function(){this.config={}},y=(i.prototype.set=function(t){return u.extend(!0,this.config,t),this},i.prototype.on=function(t,i){return layui.onevent.call(this,c,t,i)},i.prototype.tabAdd=function(t,i){var a,e=u(".layui-tab[lay-filter="+t+"]"),l=e.children(o),n=l.children(".layui-tab-bar"),e=e.children(".layui-tab-content"),s=""+(i.title||"unnaming")+"";return n[0]?n.before(s):l.append(s),e.append('
      "+(i.content||"")+"
      "),i.change&&this.tabChange(t,i.id),l.data("LAY_TAB_CHANGE",i.change),C.tabAuto(i.change?"change":null),this},i.prototype.tabDelete=function(t,i){t=u(".layui-tab[lay-filter="+t+"]").children(o).find('>li[lay-id="'+i+'"]');return C.tabDelete(null,t),this},i.prototype.tabChange=function(t,i){t=u(".layui-tab[lay-filter="+t+"]").children(o).find('>li[lay-id="'+i+'"]');return C.tabClick.call(t[0],{liElem:t}),this},i.prototype.tab=function(a){a=a||{},e.on("click",a.headerElem,function(t){var i=u(a.headerElem).index(u(this));C.tabClick.call(this,{index:i,options:a})})},i.prototype.progress=function(t,i){var a="layui-progress",t=u("."+a+"[lay-filter="+t+"]").find("."+a+"-bar"),a=t.find("."+a+"-text");return t.css("width",function(){return/^.+\/.+$/.test(i)?100*new Function("return "+i)()+"%":i}).attr("lay-percent",i),a.text(i),this},".layui-nav"),f="layui-nav-item",p="layui-nav-bar",b="layui-nav-tree",v="layui-nav-child",m="layui-nav-more",g="layui-anim layui-anim-upbit",C={tabClick:function(t){var i=(t=t||{}).options||{},a=t.liElem||u(this),e=i.headerElem?a.parent():a.parents(".layui-tab").eq(0),i=i.bodyElem?u(i.bodyElem):e.children(".layui-tab-content").children(".layui-tab-item"),l=a.find("a"),l="javascript:;"!==l.attr("href")&&"_blank"===l.attr("target"),n="string"==typeof a.attr("lay-unselect"),s=e.attr("lay-filter"),o=a.attr("lay-id"),t="index"in t?t.index:a.parent().children("li").index(a);l||n||(a.addClass(r).siblings().removeClass(r),(o?l=(l=i.filter('[lay-id="'+o+'"]')).length?l:i.eq(t):i.eq(t)).addClass(h).siblings().removeClass(h)),layui.event.call(this,c,"tab("+s+")",{elem:e,index:t,id:o})},tabDelete:function(t,i){var i=i||u(this).parent(),a=i.parent().children("li").index(i),e=i.closest(".layui-tab"),l=e.children(".layui-tab-content").children(".layui-tab-item"),n=e.attr("lay-filter"),s=i.attr("lay-id");!1!==layui.event.call(i[0],c,"tabBeforeDelete("+n+")",{elem:e,index:a,id:s})&&(i.hasClass(r)&&(i.next()[0]&&i.next().is("li")?C.tabClick.call(i.next()[0],{index:a+1}):i.prev()[0]&&i.prev().is("li")&&C.tabClick.call(i.prev()[0],null,a-1)),i.remove(),(s?i=(i=l.filter('[lay-id="'+s+'"]')).length?i:l.eq(a):l.eq(a)).remove(),setTimeout(function(){C.tabAuto()},50),layui.event.call(this,c,"tabDelete("+n+")",{elem:e,index:a,id:s}))},tabAuto:function(l){var n="layui-tab-more",s="layui-tab-bar",o="layui-tab-close",c=this;u(".layui-tab").each(function(){var t=u(this),a=t.children(".layui-tab-title"),i=(t.children(".layui-tab-content").children(".layui-tab-item"),'lay-stope="tabmore"'),i=u(''),e=(c===window&&d.ie,t.attr("lay-allowclose"));e&&"false"!==e&&a.find("li").each(function(){var t,i=u(this);i.find("."+o)[0]||"false"===i.attr("lay-allowclose")||((t=u('')).on("click",C.tabDelete),i.append(t))}),"string"!=typeof t.attr("lay-unauto")&&(a.prop("scrollWidth")>a.outerWidth()+1||a.find("li").length&&a.height()>(e=a.find("li").eq(0).height())+e/2?("change"===l&&a.data("LAY_TAB_CHANGE")&&a.addClass(n),a.find("."+s)[0]||(a.append(i),t.attr("overflow",""),i.on("click",function(t){var i=a.hasClass(n);a[i?"removeClass":"addClass"](n)}))):(a.find("."+s).remove(),t.removeAttr("overflow")))})},hideTabMore:function(t){var i=u(".layui-tab-title");!0!==t&&"tabmore"===u(t.target).attr("lay-stope")||(i.removeClass("layui-tab-more"),i.find(".layui-tab-bar").attr("title",""))},clickThis:function(){var t=u(this),i=t.closest(y),a=i.attr("lay-filter"),e=t.parent(),l=t.siblings("."+v),n="string"==typeof e.attr("lay-unselect");if("javascript:;"!==t.attr("href")&&"_blank"===t.attr("target")||n||l[0]||(i.find("."+r).removeClass(r),e.addClass(r)),i.hasClass(b)){var n=f+"ed",s=!e.hasClass(n),o=function(){u(this).css({display:""}),i.children("."+p).css({opacity:0})};if(l.is(":animated"))return;l.removeClass(g),l[0]&&(s?(l.slideDown(200,o),e.addClass(n)):(e.removeClass(n),l.show().slideUp(200,o)),"string"!=typeof i.attr("lay-accordion")&&"all"!==i.attr("lay-shrink")||((s=e.siblings("."+n)).removeClass(n),s.children("."+v).show().stop().slideUp(200,o)))}layui.event.call(this,c,"nav("+a+")",t)},collapse:function(){var t=u(this),i=t.find(".layui-colla-icon"),a=t.siblings(".layui-colla-content"),e=t.parents(".layui-collapse").eq(0),l=e.attr("lay-filter"),n="none"===a.css("display");"string"==typeof e.attr("lay-accordion")&&((e=e.children(".layui-colla-item").children("."+h)).siblings(".layui-colla-title").children(".layui-colla-icon").html(""),e.removeClass(h)),a[n?"addClass":"removeClass"](h),i.html(n?"":""),layui.event.call(this,c,"collapse("+l+")",{title:t,content:a,show:n})}},a=(i.prototype.render=i.prototype.init=function(t,i){var a=i?'[lay-filter="'+i+'"]':"",i={tab:function(){C.tabAuto.call({})},nav:function(){var s={},o={},c={},r="layui-nav-title";u(y+a).each(function(t){var i=u(this),a=u(''),e=i.find("."+f);i.find("."+p)[0]||(i.append(a),(i.hasClass(b)?e.find("dd,>."+r):e).on("mouseenter",function(){!function(t,i,a){var e,l=u(this),n=l.find("."+v);i.hasClass(b)?n[0]||(e=l.children("."+r),t.css({top:l.offset().top-i.offset().top,height:(e[0]?e:l).outerHeight(),opacity:1})):(n.addClass(g),n.hasClass("layui-nav-child-c")&&n.css({left:-(n.outerWidth()-l.width())/2}),n[0]?t.css({left:t.position().left+t.width()/2,width:0,opacity:0}):t.css({left:l.position().left+parseFloat(l.css("marginLeft")),top:l.position().top+l.height()-t.height()}),s[a]=setTimeout(function(){t.css({width:n[0]?0:l.width(),opacity:n[0]?0:1})},d.ie&&d.ie<10?0:200),clearTimeout(c[a]),"block"===n.css("display")&&clearTimeout(o[a]),o[a]=setTimeout(function(){n.addClass(h),l.find("."+m).addClass(m+"d")},300))}.call(this,a,i,t)}).on("mouseleave",function(){i.hasClass(b)?a.css({height:0,opacity:0}):(clearTimeout(o[t]),o[t]=setTimeout(function(){i.find("."+v).removeClass(h),i.find("."+m).removeClass(m+"d")},300))}),i.on("mouseleave",function(){clearTimeout(s[t]),c[t]=setTimeout(function(){i.hasClass(b)||a.css({width:0,left:a.position().left+a.width()/2,opacity:0})},200)})),e.find("a").each(function(){var t=u(this);t.parent();t.siblings("."+v)[0]&&!t.children("."+m)[0]&&t.append(''),t.off("click",C.clickThis).on("click",C.clickThis)})})},breadcrumb:function(){u(".layui-breadcrumb"+a).each(function(){var t=u(this),i="lay-separator",a=t.attr(i)||"/",e=t.find("a");e.next("span["+i+"]")[0]||(e.each(function(t){t!==e.length-1&&u(this).after(""+a+"")}),t.css("visibility","visible"))})},progress:function(){var e="layui-progress";u("."+e+a).each(function(){var t=u(this),i=t.find(".layui-progress-bar"),a=i.attr("lay-percent");i.css("width",function(){return/^.+\/.+$/.test(a)?100*new Function("return "+a)()+"%":a}),t.attr("lay-showpercent")&&setTimeout(function(){i.html(''+a+"")},350)})},collapse:function(){u(".layui-collapse"+a).each(function(){u(this).find(".layui-colla-item").each(function(){var t=u(this),i=t.find(".layui-colla-title"),t="none"===t.find(".layui-colla-content").css("display");i.find(".layui-colla-icon").remove(),i.append(''+(t?"":"")+""),i.off("click",C.collapse).on("click",C.collapse)})})}};return i[t]?i[t]():layui.each(i,function(t,i){i()})},new i),e=u(document);u(function(){a.render()}),e.on("click",".layui-tab-title li",C.tabClick),u(window).on("resize",C.tabAuto),t(c,a)});layui.define(["lay","layer"],function(e){"use strict";var F=layui.$,a=layui.lay,t=layui.layer,R=layui.device(),i="upload",s="layui_"+i+"_index",w={config:{},index:layui[i]?layui[i].index+1e4:0,set:function(e){var t=this;return t.config=F.extend({},t.config,e),t},on:function(e,t){return layui.onevent.call(this,i,e,t)}},o=function(){var t=this,e=t.config.id;return{upload:function(e){t.upload.call(t,e)},reload:function(e){t.reload.call(t,e)},config:(o.that[e]=t).config}},r="layui-upload-file",l="layui-upload-form",E="layui-upload-iframe",L="layui-upload-choose",T="UPLOADING",D=function(e){var t=this;t.index=++w.index,t.config=F.extend({},t.config,w.config,e),t.render()};D.prototype.config={accept:"images",exts:"",auto:!0,bindAction:"",url:"",force:"",field:"file",acceptMime:"",method:"post",data:{},drag:!0,size:0,number:0,multiple:!1,text:{"cross-domain":"Cross-domain requests are not supported","data-format-error":"Please return JSON data format","check-error":"",error:"","limit-number":null,"limit-size":null}},D.prototype.reload=function(e){var t=this;t.config=F.extend({},t.config,e),t.render(!0)},D.prototype.render=function(e){var t=this,i=t.config,n=F(i.elem);return 1"].join("")),n=t.elem.next();(n.hasClass(r)||n.hasClass(l))&&n.remove(),R.ie&&R.ie<10&&t.elem.wrap('
      '),e.isFile()?(e.elemFile=t.elem,t.field=t.elem[0].name):t.elem.after(i),R.ie&&R.ie<10&&e.initIE()},D.prototype.initIE=function(){var i,e=this.config,t=F(''),n=F(['
      ',"
      "].join(""));F("#"+E)[0]||F("body").append(t),e.elem.next().hasClass(l)||(this.elemFile.wrap(n),e.elem.next("."+l).append((i=[],layui.each(e.data,function(e,t){t="function"==typeof t?t():t,i.push('')}),i.join(""))))},D.prototype.msg=function(e){return t.msg(e,{icon:2,shift:6})},D.prototype.isFile=function(){var e=this.config.elem[0];if(e)return"input"===e.tagName.toLocaleLowerCase()&&"file"===e.type},D.prototype.preview=function(n){window.FileReader&&layui.each(this.chooseFiles,function(e,t){var i=new FileReader;i.readAsDataURL(t),i.onload=function(){n&&n(e,t,this.result)}})},D.prototype.upload=function(e,t){var i,n,a,o,r,u=this,f=u.config,s=f.text||{},l=u.elemFile[0],c=function(){return e||u.files||u.chooseFiles||l.files},d=function(){var a=0,o=0,r=c(),l=function(){f.multiple&&a+o===u.fileLength&&"function"==typeof f.allDone&&f.allDone({total:u.fileLength,successful:a,failed:o})},i=function(i){var n=new FormData,t=function(e){i.unified?layui.each(r,function(e,t){delete t[T]}):delete e[T]};if(layui.each(f.data,function(e,t){t="function"==typeof t?i.unified?t():t(i.index,i.file):t,n.append(e,t)}),i.unified)layui.each(r,function(e,t){t[T]||(t[T]=!0,n.append(f.field,t))});else{if(i.file[T])return;n.append(f.field,i.file),i.file[T]=!0}var e={url:f.url,type:"post",data:n,dataType:f.dataType||"json",contentType:!1,processData:!1,headers:f.headers||{},success:function(e){f.unified?a+=u.fileLength:a++,m(i.index,e),l(i.index),t(i.file)},error:function(e){f.unified?o+=u.fileLength:o++,u.msg(s.error||["Upload failed, please try again.","status: "+(e.status||"")+" - "+(e.statusText||"error")].join("
      ")),g(i.index,e.responseText),l(i.index),t(i.file)}};"function"==typeof f.progress&&(e.xhr=function(){var e=F.ajaxSettings.xhr();return e.upload.addEventListener("progress",function(e){var t;e.lengthComputable&&(t=Math.floor(e.loaded/e.total*100),f.progress(t,(f.item||f.elem)[0],e,i.index))}),e}),F.ajax(e)};f.unified?i({unified:!0,index:0}):layui.each(r,function(e,t){i({index:e,file:t})})},p=function(){var n=F("#"+E);u.elemFile.parent().submit(),clearInterval(D.timer),D.timer=setInterval(function(){var e,t=n.contents().find("body");try{e=t.text()}catch(i){u.msg(s["cross-domain"]),clearInterval(D.timer),g()}e&&(clearInterval(D.timer),t.html(""),m(0,e))},30)},h=function(e){if("json"===f.force&&"object"!=typeof e)try{return{status:"CONVERTED",data:JSON.parse(e)}}catch(t){return u.msg(s["data-format-error"]),{status:"FORMAT_ERROR",data:{}}}return{status:"DO_NOTHING",data:{}}},m=function(e,t){u.elemFile.next("."+L).remove(),l.value="";var i=h(t);switch(i.status){case"CONVERTED":t=i.data;break;case"FORMAT_ERROR":return}"function"==typeof f.done&&f.done(t,e||0,function(e){u.upload(e)})},g=function(e,t){f.auto&&(l.value="");var i=h(t);switch(i.status){case"CONVERTED":t=i.data;break;case"FORMAT_ERROR":return}"function"==typeof f.error&&f.error(e||0,function(e){u.upload(e)},t)},v=f.exts,y=(n=[],layui.each(e||u.chooseFiles,function(e,t){n.push(t.name)}),n),x={preview:function(e){u.preview(e)},upload:function(e,t){var i={};i[e]=t,u.upload(i)},pushFile:function(){return u.files=u.files||{},layui.each(u.chooseFiles,function(e,t){u.files[e]=t}),u.files},resetFile:function(e,t,i){t=new File([t],i);u.files=u.files||{},u.files[e]=t},getChooseFiles:function(){return u.chooseFiles}},b={file:"\u6587\u4ef6",images:"\u56fe\u7247",video:"\u89c6\u9891",audio:"\u97f3\u9891"}[f.accept]||"\u6587\u4ef6",y=0===y.length?l.value.match(/[^\/\\]+\..+/g)||[]:y;if(0!==y.length){switch(f.accept){case"file":layui.each(y,function(e,t){if(v&&!RegExp(".\\.("+v+")$","i").test(escape(t)))return i=!0});break;case"video":layui.each(y,function(e,t){if(!RegExp(".\\.("+(v||"avi|mp4|wma|rmvb|rm|flash|3gp|flv")+")$","i").test(escape(t)))return i=!0});break;case"audio":layui.each(y,function(e,t){if(!RegExp(".\\.("+(v||"mp3|wav|mid")+")$","i").test(escape(t)))return i=!0});break;default:layui.each(y,function(e,t){if(!RegExp(".\\.("+(v||"jpg|png|gif|bmp|jpeg|svg|webp")+")$","i").test(escape(t)))return i=!0})}if(i)return u.msg(s["check-error"]||"\u9009\u62e9\u7684"+b+"\u4e2d\u5305\u542b\u4e0d\u652f\u6301\u7684\u683c\u5f0f"),l.value="";if("choose"!==t&&!f.auto||(f.choose&&f.choose(x),"choose"!==t)){if(u.fileLength=(a=0,b=c(),layui.each(b,function(){a++}),a),f.number&&u.fileLength>f.number)return u.msg("function"==typeof s["limit-number"]?s["limit-number"](f,u.fileLength):"\u540c\u65f6\u6700\u591a\u53ea\u80fd\u4e0a\u4f20: "+f.number+" \u4e2a\u6587\u4ef6
      \u60a8\u5f53\u524d\u5df2\u7ecf\u9009\u62e9\u4e86: "+u.fileLength+" \u4e2a\u6587\u4ef6");if(01024*f.size&&(t=1<=(t=f.size/1024)?t.toFixed(2)+"MB":f.size+"KB",l.value="",o=t)}),o)return u.msg("function"==typeof s["limit-size"]?s["limit-size"](f,o):"\u6587\u4ef6\u5927\u5c0f\u4e0d\u80fd\u8d85\u8fc7 "+o);r=function(){if(R.ie)return(9'+e+"")},l=function(i){var n=!0;return layui.each(a.files,function(e,t){if(!(n=!(t.name===i.name)))return!0}),n},u=function(e){var i=function(e){e.ext=e.name.substr(e.name.lastIndexOf(".")+1).toLowerCase(),e.sizes=w.util.parseSize(e.size)};return e instanceof FileList?layui.each(e,function(e,t){i(t)}):i(e),e},f=function(e){var i;return(e=e||[]).length?a.files?(i=[],layui.each(e,function(e,t){l(t)&&i.push(u(t))}),i):u(e):[]};n.elem.off("upload.start").on("upload.start",function(){var e=F(this);a.config.item=e,a.elemFile[0].click()}),R.ie&&R.ie<10||n.elem.off("upload.over").on("upload.over",function(){F(this).attr("lay-over","")}).off("upload.leave").on("upload.leave",function(){F(this).removeAttr("lay-over")}).off("upload.drop").on("upload.drop",function(e,t){var i=F(this),t=f(t.originalEvent.dataTransfer.files);i.removeAttr("lay-over"),o(t),n.auto?a.upload():r(t)}),a.elemFile.on("change",function(){var e=f(this.files);0!==e.length&&(o(e),n.auto?a.upload():r(e))}),n.bindAction.off("upload.action").on("upload.action",function(){a.upload()}),n.elem.data(s)||(n.elem.on("click",function(){a.isFile()||F(this).trigger("upload.start")}),n.drag&&n.elem.on("dragover",function(e){e.preventDefault(),F(this).trigger("upload.over")}).on("dragleave",function(e){F(this).trigger("upload.leave")}).on("drop",function(e){e.preventDefault(),F(this).trigger("upload.drop",e)}),n.bindAction.on("click",function(){F(this).trigger("upload.action")}),n.elem.data(s,n.id))},w.util={parseSize:function(e,t){var i,n;return t=t||2,null!=e&&e?(i="string"==typeof e?parseFloat(e):e,n=Math.floor(Math.log(i)/Math.log(1024)),(e=(e=i/Math.pow(1024,n))%1==0?e:parseFloat(e.toFixed(t)))+["Bytes","Kb","Mb","Gb","Tb","Pb","Eb","Zb","Yb"][n]):"0"},promiseLikeResolve:function(e){var t=F.Deferred();return e&&"function"==typeof e.then?e.then(t.resolve,t.reject):t.resolve(e),t.promise()}},o.that={},o.getThis=function(e){var t=o.that[e];return t||hint.error(e?i+" instance with ID '"+e+"' not found":"ID argument required"),t},w.render=function(e){e=new D(e);return o.call(e)},e(i,w)});layui.define(["lay","layer","util"],function(e){"use strict";var T=layui.$,p=layui.layer,N=layui.util,l=layui.hint(),$=(layui.device(),"form"),d=".layui-form",A="layui-this",j="layui-hide",E="layui-disabled",t=function(){this.config={verify:{required:function(e){if(!/[\S]+/.test(e))return"\u5fc5\u586b\u9879\u4e0d\u80fd\u4e3a\u7a7a"},phone:function(e){if(e&&!/^1\d{10}$/.test(e))return"\u624b\u673a\u53f7\u683c\u5f0f\u4e0d\u6b63\u786e"},email:function(e){if(e&&!/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(e))return"\u90ae\u7bb1\u683c\u5f0f\u4e0d\u6b63\u786e"},url:function(e){if(e&&!/^(#|(http(s?)):\/\/|\/\/)[^\s]+\.[^\s]+$/.test(e))return"\u94fe\u63a5\u683c\u5f0f\u4e0d\u6b63\u786e"},number:function(e){if(e&&isNaN(e))return"\u53ea\u80fd\u586b\u5199\u6570\u5b57"},date:function(e){if(e&&!/^(\d{4})[-\/](\d{1}|0\d{1}|1[0-2])([-\/](\d{1}|0\d{1}|[1-2][0-9]|3[0-1]))*$/.test(e))return"\u65e5\u671f\u683c\u5f0f\u4e0d\u6b63\u786e"},identity:function(e){if(e&&!/(^\d{15}$)|(^\d{17}(x|X|\d)$)/.test(e))return"\u8eab\u4efd\u8bc1\u53f7\u683c\u5f0f\u4e0d\u6b63\u786e"}},autocomplete:null}},i=(t.prototype.set=function(e){return T.extend(!0,this.config,e),this},t.prototype.verify=function(e){return T.extend(!0,this.config.verify,e),this},t.prototype.getFormElem=function(e){return T(d+(e?'[lay-filter="'+e+'"]':""))},t.prototype.on=function(e,t){return layui.onevent.call(this,$,e,t)},t.prototype.val=function(e,i){return this.getFormElem(e).each(function(e,t){var a=T(this);layui.each(i,function(e,t){var i,e=a.find('[name="'+e+'"]');e[0]&&("checkbox"===(i=e[0].type)?e[0].checked=t:"radio"===i?e.each(function(){this.checked=this.value==t+""}):e.val(t))})}),r.render(null,e),this.getValue(e)},t.prototype.getValue=function(e,t){t=t||this.getFormElem(e);var a={},n={},e=t.find("input,select,textarea");return layui.each(e,function(e,t){var i;T(this);t.name=(t.name||"").replace(/^\s*|\s*&/,""),t.name&&(/^.*\[\]$/.test(t.name)&&(i=t.name.match(/^(.*)\[\]$/g)[0],a[i]=0|a[i],i=t.name.replace(/^(.*)\[\]$/,"$1["+a[i]+++"]")),/^(checkbox|radio)$/.test(t.type)&&!t.checked||(n[i||t.name]=t.value))}),n},t.prototype.render=function(e,t){var u=this,i=u.config,a=T(d+(t?'[lay-filter="'+t+'"]':"")),n={input:function(e){var e=e||a.find("input,textarea"),t=(i.autocomplete&&e.attr("autocomplete",i.autocomplete),function(e,t){var i=e.val(),a=Number(i),n=Number(e.attr("step"))||1,l=Number(e.attr("min")),r=Number(e.attr("max")),s=Number(e.attr("lay-precision")),o="click"!==t&&""===i,c="init"===t;isNaN(a)||("click"===t&&(a=!!T(this).index()?a-n:a+n),t=function(e){return((e.toString().match(/\.(\d+$)/)||[])[1]||"").length},s=0<=s?s:Math.max(t(n),t(i)),o||(c||r<=(a=a<=l?l:a)&&(a=r),0===s?a=parseInt(a):0'),e=layui.isArray(i.value)?i.value:[i.value],e=T((a=[],layui.each(e,function(e,t){a.push('')}),a.join(""))),n=(t.append(e),i.split&&t.addClass("layui-input-split"),i.className&&t.addClass(i.className),r.next("."+u)),l=(n[0]&&n.remove(),r.parent().hasClass(o)||r.wrap('
      '),r.next("."+c));l[0]?((n=l.find("."+u))[0]&&n.remove(),l.prepend(t),r.css("padding-right",function(){return(r.closest(".layui-input-group")[0]?0:l.outerWidth())+t.outerWidth()})):(t.addClass(c),r.after(t)),"auto"===i.show&&d(t,r.val()),"function"==typeof i.init&&i.init.call(this,r,i),r.on("input propertychange",function(){var e=this.value;"auto"===i.show&&d(t,e)}),r.on("blur",function(){"function"==typeof i.blur&&i.blur.call(this,r,i)}),e.on("click",function(){var e=r.attr("lay-filter");T(this).hasClass(E)||("function"==typeof i.click&&i.click.call(this,r,i),layui.event.call(this,$,"input-affix("+e+")",{elem:r[0],affix:s,options:i}))})},h={eye:{value:"eye-invisible",click:function(e,t){var i="LAY_FORM_INPUT_AFFIX_SHOW",a=e.data(i);e.attr("type",a?"password":"text").data(i,!a),n({value:a?"eye-invisible":"eye"})}},clear:{value:"clear",click:function(e){e.val("").focus(),d(T(this).parent(),null)},show:"auto",disabled:e},number:{value:["up","down"],split:!0,className:"layui-input-number",disabled:r.is("[disabled]"),init:function(e){t.call(this,e,"init")},click:function(e){t.call(this,e,"click")},blur:function(e){t.call(this,e,"blur")}}};n()})},select:function(e){var p="\u8bf7\u9009\u62e9",C="layui-form-select",w="layui-select-none",_="layui-select-create-option",f="layui-select-panel-elem-data",e=e||a.find("select"),y=function(n,e,t,i,d,a){var l,h,r,s,o,c,u,p,f,y=T(this),v=e,m=v.find("input"),g=n.find("dl"),b=(g.children("dd"),g.children("dt")),k=this.selectedIndex,x="";t||(h=y.attr("lay-search"),r=y.attr("lay-append-to")||"body",s=y.attr("lay-append-position"),o=!(!lay.ie||"10"!==lay.ie&&"11"!==lay.ie||!m.attr("placeholder")),c=function(){a&&(n.appendTo(r).css({width:v.width()+"px"}),(e=function(){lay.position(v[0],n[0],{position:s,allowBottomOut:!0,offset:[0,5]})})(),T(window).on("resize.lay_select_resize",e));var e=n.offset().top+n.outerHeight()+5-F.scrollTop(),t=g.outerHeight(),i=g.children("dd");k=y[0].selectedIndex,v.parent().addClass(C+"ed"),i.removeClass(j),b.removeClass(j),i.removeClass(A),0<=k&&i.eq(k).addClass(A),e+t>F.height()&&t<=e&&n.addClass(C+"up"),p(),o&&g.off("mousedown.lay_select_ieph").on("mousedown.lay_select_ieph",function(){m[0].__ieph=!0,setTimeout(function(){m[0].__ieph=!1},60)}),l=lay.onClickOutside((a?n:g)[0],function(){u(),x&&m.val(x)},{ignore:v})},u=function(e){v.parent().removeClass(C+"ed "+C+"up"),m.blur(),d&&g.children("."+_).remove(),l&&l(),a&&(n.detach(),T(window).off("resize.lay_select_resize")),e||f(m.val(),function(e){var t=y[0].selectedIndex;e&&(x=T(y[0].options[t]).html(),0===t&&x===m.attr("placeholder")&&(x=""),m.val(x||""))})},p=function(){var e,t,i=g.children("dd."+A);i[0]&&(e=i.position().top,t=g.height(),i=i.height(),t").addClass(_).attr("lay-value",n).html(N.escape(n)),a=(i=g.children().eq(0)).hasClass("layui-select-tips"),i[a?"after":"before"](t)):e?g.find("."+w)[0]||g.append('

      \u65e0\u5339\u914d\u9879

      '):g.find("."+w).remove()},"keyup"),""===n&&(y.val(""),g.find("."+A).removeClass(A),(y[0].options[0]||{}).value||g.children("dd:eq(0)").addClass(A),g.find("."+w).remove(),d)&&g.children("."+_).remove(),void p()))},50)).on("blur",function(e){var t=y[0].selectedIndex;x=T(y[0].options[t]).text(),0===t&&x===m.attr("placeholder")&&(x=""),setTimeout(function(){f(m.val(),function(e){x||m.val("")},"blur")},200)}),g.on("click","dd",function(){var e,t=T(this),i=t.attr("lay-value"),a=y.attr("lay-filter");return t.hasClass(E)||(t.hasClass("layui-select-tips")?m.val(""):(m.val(t.text()),t.addClass(A)),d&&t.hasClass(_)&&(g.append(t.removeClass(_)),e=T("
      "].join(""));i.after(l),function(t,i){var a=T(this),e=a.attr("lay-skin")||"primary",n="switch"===e,e="primary"===e;t.on("click",function(){var e=a.attr("lay-filter");a[0].disabled||(a[0].indeterminate&&(a[0].indeterminate=!1),a[0].checked=!a[0].checked,layui.event.call(a[0],$,i[2]+"("+e+")",{elem:a[0],value:a[0].value,othis:t}))}),u.syncAppearanceOnPropChanged(this,"checked",function(){var e;n&&(e=(t.next("*[lay-checkbox]")[0]?t.next().html():a.attr("title")||"").split("|"),t.children("div").html(!this.checked&&e[1]||e[0])),t.toggleClass(i[1],this.checked)}),e&&u.syncAppearanceOnPropChanged(this,"indeterminate",function(){this.indeterminate?t.children(".layui-icon-ok").removeClass("layui-icon-ok").addClass(c.SUBTRA):t.children("."+c.SUBTRA).removeClass(c.SUBTRA).addClass("layui-icon-ok")})}.call(this,l,r)})},radio:function(e){var o="layui-form-radio",c=["layui-icon-radio","layui-icon-circle"],e=e||a.find("input[type=radio]");e.each(function(e,t){var i=T(this),a=i.next("."+o),n=this.disabled,l=i.attr("lay-skin");if("string"==typeof i.attr("lay-ignore"))return i.show();a[0]&&a.remove();var a=N.escape(t.title||""),r=[],s=(i.next("[lay-radio]")[0]&&(a=(s=i.next()).html()||"",1",'',"
      "+a+"
      ","
      "].join("")));i.after(s),function(i){var a=T(this),n="layui-anim-scaleSpring";i.on("click",function(){var e=a.attr("lay-filter");a[0].disabled||(a[0].checked=!0,layui.event.call(a[0],$,"radio("+e+")",{elem:a[0],value:a[0].value,othis:i}))}),u.syncAppearanceOnPropChanged(this,"checked",function(){var e,t=this;t.checked?(i.addClass(o+"ed"),i.children(".layui-icon").addClass(n+" "+c[0]),e=a.parents(d).find("input[name="+t.name.replace(/(\.|#|\[|\])/g,"\\$1")+"]"),layui.each(e,function(){t!==this&&(this.checked=!1)})):(i.removeClass(o+"ed"),i.children(".layui-icon").removeClass(n+" "+c[0]).addClass(c[1]))})}.call(this,s)})}},t=function(){layui.each(n,function(e,t){t()})};return"object"===layui.type(e)?T(e).is(d)?(a=T(e),t()):e.each(function(e,t){var i=T(t);i.closest(d).length&&("SELECT"===t.tagName?n.select(i):"INPUT"===t.tagName&&("checkbox"===(t=t.type)||"radio"===t?n[t](i):n.input(i)))}):e?n[e]?n[e]():l.error('\u4e0d\u652f\u6301\u7684 "'+e+'" \u8868\u5355\u6e32\u67d3'):t(),u},t.prototype.syncAppearanceOnPropChanged=function(e,t,i){var a=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,t);Object.defineProperty(e,t,lay.extend({},a,{get:function(){return a.get.call(this)},set:function(e){a.set.call(this,e),i.call(this)}}))},t.prototype.validate=function(e){var u,d=this.config.verify,h="layui-form-danger";return!(e=T(e))[0]||(e.attr("lay-verify")!==undefined||!1!==this.validate(e.find("*[lay-verify]")))&&(layui.each(e,function(e,r){var s=T(this),t=(s.attr("lay-verify")||"").split("|"),o=s.attr("lay-vertype"),c=T.trim(s.val());if(s.removeClass(h),layui.each(t,function(e,t){var i="",a=d[t];if(a){var n="function"==typeof a?i=a(c,r):!a[0].test(c),l="select"===r.tagName.toLowerCase()||/^(checkbox|radio)$/.test(r.type),i=i||a[1];if("required"===t&&(i=s.attr("lay-reqtext")||i),n)return"tips"===o?p.tips(i,"string"!=typeof s.attr("lay-ignore")&&l?s.next():s,{tips:1}):"alert"===o?p.alert(i,{title:"\u63d0\u793a",shadeClose:!0}):/\b(string|number)\b/.test(typeof i)&&p.msg(i,{icon:5,shift:6}),setTimeout(function(){(l?s.next().find("input"):r).focus()},7),s.addClass(h),u=!0}}),u)return u}),!u)},t.prototype.submit=function(e,t){var i={},a=T(this),e="string"==typeof e?e:a.attr("lay-filter"),n=this.getFormElem?this.getFormElem(e):a.parents(d).eq(0),l=n.find("*[lay-verify]");return!!r.validate(l)&&(i=r.getValue(null,n),l={elem:this.getFormElem?window.event&&window.event.target:this,form:(this.getFormElem?n:a.parents("form"))[0],field:i},"function"==typeof t&&t(l),layui.event.call(this,$,"submit("+e+")",l))});var r=new t,t=T(document),F=T(window);T(function(){r.render()}),t.on("reset",d,function(){var e=T(this).attr("lay-filter");setTimeout(function(){r.render(null,e)},50)}),t.on("submit",d,i).on("click","*[lay-submit]",i),e($,r)});layui.define(["lay","laytpl","laypage","form","util"],function(s){"use strict";var p=layui.$,d=layui.lay,m=layui.laytpl,z=layui.laypage,f=layui.layer,i=layui.form,v=layui.util,g=layui.hint(),b=layui.device(),x={config:{checkName:"LAY_CHECKED",indexName:"LAY_INDEX",numbersName:"LAY_NUM",disabledName:"LAY_DISABLED"},cache:{},index:layui.table?layui.table.index+1e4:0,set:function(e){return this.config=p.extend({},this.config,e),this},on:function(e,t){return layui.onevent.call(this,T,e,t)}},k=function(){var a=this,e=a.config,i=e.id||e.index;return{config:e,reload:function(e,t){a.reload.call(a,e,t)},reloadData:function(e,t){x.reloadData(i,e,t)},setColsWidth:function(){a.setColsWidth.call(a)},resize:function(){a.resize.call(a)}}},w=function(e){var t=k.that[e];return t||g.error(e?"The table instance with ID '"+e+"' not found":"ID argument required"),t||null},l=function(e){var t=k.config[e];return t||g.error(e?"The table instance with ID '"+e+"' not found":"ID argument required"),t||null},C=function(e){var t=this.config||{},a=(e=e||{}).item3,i=e.content;"numbers"===a.type&&(i=e.tplData[x.config.numbersName]);("escape"in a?a:t).escape&&(i=v.escape(i));t=e.text&&a.exportTemplet||a.templet||a.toolbar;return t&&(i="function"==typeof t?t.call(a,e.tplData,e.obj):m(function(e){try{return d(e).html()}catch(t){return e}}(t)||String(i)).render(p.extend({LAY_COL:a},e.tplData))),e.text?p("
      "+i+"
      ").text():i},T="table",N="lay-"+T+"-id",t=".layui-table",R="layui-hide",y="layui-hide-v",h="layui-none",D="layui-table-view",o=".layui-table-header",A=".layui-table-body",O=".layui-table-fixed-r",P=".layui-table-pageview",E=".layui-table-sort",_="layui-table-checked",L="layui-table-edit",M="layui-table-hover",u="laytable-cell-group",W="layui-table-col-special",H="layui-table-tool-panel",j="layui-table-expanded",I="layui-table-disabled-transition",S="LAY_TABLE_MOVE_DICT",e=function(e){return['',"","{{# layui.each(d.data.cols, function(i1, item1){ }}","","{{# layui.each(item1, function(i2, item2){ }}",'{{# if(item2.fixed && item2.fixed !== "right"){ left = true; } }}','{{# if(item2.fixed === "right"){ right = true; } }}',(e=e||{}).fixed&&"right"!==e.fixed?'{{# if(item2.fixed && item2.fixed !== "right"){ }}':"right"===e.fixed?'{{# if(item2.fixed === "right"){ }}':"","{{# var isSort = !(item2.colGroup) && item2.sort; }}",'",e.fixed?"{{# }; }}":"","{{# }); }}","","{{# }); }}","","
      ','
      ','{{# if(item2.type === "checkbox"){ }}','',"{{# } else { }}",'{{-item2.title||""}}',"{{# if(isSort){ }}",'',"{{# } }}","{{# } }}","
      ","
      "].join("")},a=['',"","
      "].join(""),B=[,"{{# if(d.data.toolbar){ }}",'
      ','
      ','
      ',"
      ","{{# } }}",'
      ',"{{# if(d.data.loading){ }}",'
      ','
      ','{{# if(typeof d.data.loading === "string"){ }}',"{{- d.data.loading}}","{{# } else{ }}",'',"{{# } }}","
      ","
      ","{{# } }}","{{# var left, right; }}",'
      ',e(),"
      ",'
      ',a,"
      ","{{# if(left){ }}",'
      ','
      ',e({fixed:!0}),"
      ",'
      ',a,"
      ","
      ","{{# }; }}","{{# if(right){ }}",'
      ','
      ',e({fixed:"right"}),'
      ',"
      ",'
      ',a,"
      ","
      ","{{# }; }}","
      ","{{# if(d.data.totalRow){ }}",'
      ','','',"
      ","
      ","{{# } }}",'
      ','
      ',"
      "].join(""),r=p(window),F=p(document),n=function(e){this.index=++x.index,this.config=p.extend({},this.config,x.config,e),this.render()},c=(n.prototype.config={limit:10,loading:!0,escape:!0,cellMinWidth:60,cellMaxWidth:Number.MAX_VALUE,editTrigger:"click",defaultToolbar:["filter","exports","print"],defaultContextmenu:!0,autoSort:!0,text:{none:"\u65e0\u6570\u636e"},cols:[]},n.prototype.render=function(e){var t=this,a=t.config,i=(a.elem=p(a.elem),a.where=a.where||{},a.id="id"in a?a.id:a.elem.attr("id")||t.index);if(k.that[i]=t,(k.config[i]=a).request=p.extend({pageName:"page",limitName:"limit"},a.request),a.response=p.extend({statusName:"code",statusCode:0,msgName:"msg",dataName:"data",totalRowName:"totalRow",countName:"count"},a.response),null!==a.page&&"object"==typeof a.page&&(a.limit=a.page.limit||a.limit,a.limits=a.page.limits||a.limits,t.page=a.page.curr=a.page.curr||1,delete a.page.elem,delete a.page.jump),!a.elem[0])return t;if(a.elem.attr("lay-filter")||a.elem.attr("lay-filter",a.id),"reloadData"===e)return t.pullData(t.page,{type:"reloadData"});a.index=t.index,t.key=a.id||a.index,t.setInit(),a.height&&/^full-.+$/.test(a.height)?(t.fullHeightGap=a.height.split("-")[1],a.height=r.height()-(parseFloat(t.fullHeightGap)||0)):a.height&&/^#\w+\S*-.+$/.test(a.height)?(i=a.height.split("-"),t.parentHeightGap=i.pop(),t.parentDiv=i.join("-"),a.height=p(t.parentDiv).height()-(parseFloat(t.parentHeightGap)||0)):"function"==typeof a.height&&(t.customHeightFunc=a.height,a.height=t.customHeightFunc());var l,e=a.elem,i=e.next("."+D),n=t.elem=p("
      ");n.addClass((l=[D,D+"-"+t.index,"layui-form","layui-border-box"],a.className&&l.push(a.className),l.join(" "))).attr(((l={"lay-filter":"LAY-TABLE-FORM-DF-"+t.index,style:(l=[],a.width&&l.push("width:"+a.width+"px;"),l.join(""))})[N]=a.id,l)).html(m(B,{open:"{{",close:"}}"}).render({data:a,index:t.index})),t.renderStyle(),i[0]&&(t.resizeObserver&&t.resizeObserver.unobserve(t.elem[0]),i.remove()),e.after(n),t.layTool=n.find(".layui-table-tool"),t.layBox=n.find(".layui-table-box"),t.layHeader=n.find(o),t.layMain=n.find(".layui-table-main"),t.layBody=n.find(A),t.layFixed=n.find(".layui-table-fixed"),t.layFixLeft=n.find(".layui-table-fixed-l"),t.layFixRight=n.find(O),t.layTotal=n.find(".layui-table-total"),t.layPage=n.find(".layui-table-page"),t.renderToolbar(),t.renderPagebar(),t.fullSize(),t.pullData(t.page),t.events()},n.prototype.initOpts=function(e){this.config;e.checkbox&&(e.type="checkbox"),e.space&&(e.type="space"),e.type||(e.type="normal"),"normal"!==e.type&&(e.unresize=!0,e.width=e.width||{checkbox:50,radio:50,space:30,numbers:60}[e.type])},n.prototype.setInit=function(e){var l,a,r=this,d=r.config;if(d.clientWidth=d.width||(l=function(e){var t,a=(e=e||d.elem.parent()).width();try{t="none"===e.css("display")}catch(i){}return!e[0]||a&&!t?a:l(e.parent())})(),"width"===e)return d.clientWidth;d.height=d.maxHeight||d.height,d.css&&-1===d.css.indexOf(D)&&(a=d.css.split("}"),layui.each(a,function(e,t){t&&(a[e]="."+D+"-"+r.index+" "+t)}),d.css=a.join("}"));var c=function(a,e,i,l){var n,o;l?(l.key=[d.index,a,i].join("-"),l.colspan=l.colspan||0,l.rowspan=l.rowspan||0,r.initOpts(l),(n=a+(parseInt(l.rowspan)||1)) td:hover > .layui-table-cell{overflow: auto;}"].concat(b.ie?[".layui-table-edit{height: "+i+";}","td[data-edit]:hover:after{height: "+i+";}"]:[]),function(e,t){t&&o.push(a+" "+t)})),l.css&&o.push(l.css),d.style({target:this.elem[0],text:o.join(""),id:"DF-table-"+n})},n.prototype.renderToolbar=function(){var l,o=this,e=o.config,r=e.elem.attr("lay-filter"),t=['
      ','
      ','
      '].join(""),a=o.layTool.find(".layui-table-tool-temp"),n=("default"===e.toolbar?a.html(t):"string"==typeof e.toolbar&&(t=p(e.toolbar).html()||"")&&a.html(m(t).render(e)),{filter:{title:"\u7b5b\u9009\u5217",layEvent:"LAYTABLE_COLS",icon:"layui-icon-cols",onClick:function(e){var a,n=e.config;(0,e.openPanel)({list:(a=[],o.eachCols(function(e,t){t.field&&"normal"==t.type&&a.push('
    • "+(t.fieldTitle||t.title||t.field)+"").text())+'" lay-filter="LAY_TABLE_TOOL_COLS">
    • ')}),a.join("")),done:function(){i.on("checkbox(LAY_TABLE_TOOL_COLS)",function(e){var e=p(e.elem),t=this.checked,a=e.data("key"),i=o.col(a),l=i.hide,e=e.data("parentkey");i.key&&(i.hide=!t,o.elem.find('*[data-key="'+a+'"]')[t?"removeClass":"addClass"](R),l!=i.hide&&o.setParentCol(!t,e),o.resize(),layui.event.call(this,T,"colToggled("+r+")",{col:i,config:n}))})}})}},exports:{title:"\u5bfc\u51fa",layEvent:"LAYTABLE_EXPORT",icon:"layui-icon-export",onClick:function(e){var t=e.data,a=e.config,i=e.openPanel,e=e.elem;if(!t.length)return f.tips("\u5f53\u524d\u8868\u683c\u65e0\u6570\u636e",e,{tips:3});b.ie?f.tips("\u5bfc\u51fa\u529f\u80fd\u4e0d\u652f\u6301 IE\uff0c\u8bf7\u7528 Chrome \u7b49\u9ad8\u7ea7\u6d4f\u89c8\u5668\u5bfc\u51fa",e,{tips:3}):i({list:['
    • \u5bfc\u51fa CSV \u6587\u4ef6
    • '].join(""),done:function(e,t){t.on("click",function(){var e=p(this).data("type");x.exportFile.call(o,a.id,null,e)})}})}},print:{title:"\u6253\u5370",layEvent:"LAYTABLE_PRINT",icon:"layui-icon-print",onClick:function(e){var t=e.data,e=(e.config,e.elem);if(!t.length)return f.tips("\u5f53\u524d\u8868\u683c\u65e0\u6570\u636e",e,{tips:3});var t=window.open("about:blank","_blank"),e=[""].join(""),a=p(o.layHeader.html());a.append(o.layMain.find("table").html()),a.append(o.layTotal.find("table").html()),a.find("th.layui-table-patch").remove(),a.find("thead>tr>th."+W).filter(function(e,t){return!p(t).children("."+u).length}).remove(),a.find("tbody>tr>td."+W).remove(),t.document.write(e+a.prop("outerHTML")),t.document.close(),layui.device("edg").edg?(t.onafterprint=t.close,t.print()):(t.print(),t.close())}}});"object"==typeof e.defaultToolbar&&(l=[],e.defaultToolbar=p.map(e.defaultToolbar,function(e,t){var a="string"==typeof e,i=a?n[e]:e;return i&&(!(i=i.name&&n[i.name]?p.extend({},n[i.name],i):i).name&&a&&(i.name=e),l.push('
      ')),i}),o.layTool.find(".layui-table-tool-self").html(l.join("")))},n.prototype.renderPagebar=function(){var e,t=this.config,a=this.layPagebar=p('
      ');t.pagebar&&((e=p(t.pagebar).html()||"")&&a.append(m(e).render(t)),this.layPage.append(a))},n.prototype.setParentCol=function(e,t){var a=this.config,i=this.layHeader.find('th[data-key="'+t+'"]'),l=parseInt(i.attr("colspan"))||0;i[0]&&(t=t.split("-"),t=a.cols[t[1]][t[2]],e?l--:l++,i.attr("colspan",l),i[l?"removeClass":"addClass"](R),t.colspan2=l,t.hide=l<1,a=i.data("parentkey"))&&this.setParentCol(e,a)},n.prototype.setColsPatch=function(){var a=this,e=a.config;layui.each(e.cols,function(e,t){layui.each(t,function(e,t){t.hide&&a.setParentCol(t.hide,t.parentKey)})})},n.prototype.setGroupWidth=function(i){var e,l=this;l.config.cols.length<=1||((e=l.layHeader.find((i?"th[data-key="+i.data("parentkey")+"]>":"")+"."+u)).css("width",0),layui.each(e.get().reverse(),function(){var e=p(this),t=e.parent().data("key"),a=0;l.layHeader.eq(0).find("th[data-parentkey="+t+"]").width(function(e,t){p(this).hasClass(R)||0 tr:first-child > th:last-child")).data("field")&&e.prev()[0]?t(e.prev()):e})()).data("key"),n.cssRules(e,function(e){var t=e.style.width||a.outerWidth();e.style.width=parseFloat(t)+l+"px",0'+(e||"Error")+"");a[0]&&(t.layNone.remove(),a.remove()),t.layFixed.addClass(R),t.layMain.find("tbody").html(""),t.layMain.append(t.layNone=e),t.layTotal.addClass(y),t.layPage.find(P).addClass(y),x.cache[t.key]=[],t.syncCheckAll(),t.renderForm(),t.setColsWidth(),t.loading(!1)},n.prototype.page=1,n.prototype.pullData=function(a,t){var e,i,l=this,n=l.config,o=(n.HAS_SET_COLS_PATCH||l.setColsPatch(),n.HAS_SET_COLS_PATCH=!0,n.request),r=n.response,d=function(){"object"==typeof n.initSort&&l.sort({field:n.initSort.field,type:n.initSort.type,reloadType:t.type})},c=function(e,t){l.setColsWidth(),l.loading(!1),"function"==typeof n.done&&n.done(e,a,e[r.countName],t)};t=t||{},"function"==typeof n.before&&n.before(n),l.startTime=(new Date).getTime(),t.renderData?((e={})[r.dataName]=x.cache[l.key],e[r.countName]=n.url?"object"===layui.type(n.page)?n.page.count:e[r.dataName].length:n.data.length,"object"==typeof n.totalRow&&(e[r.totalRowName]=p.extend({},l.totalRow)),l.renderData({res:e,curr:a,count:e[r.countName],type:t.type,sort:!0}),c(e,"renderData")):n.url?(i={},n.page&&(i[o.pageName]=a,i[o.limitName]=n.limit),o=p.extend(i,n.where),n.contentType&&0==n.contentType.indexOf("application/json")&&(o=JSON.stringify(o)),l.loading(!0),p.ajax({type:n.method||"get",url:n.url,contentType:n.contentType,data:o,dataType:n.dataType||"json",jsonpCallback:n.jsonpCallback,headers:n.headers||{},complete:"function"==typeof n.complete?n.complete:undefined,success:function(e){(e="function"==typeof n.parseData?n.parseData(e)||e:e)[r.statusName]!=r.statusCode?l.errorView(e[r.msgName]||'\u8fd4\u56de\u7684\u6570\u636e\u4e0d\u7b26\u5408\u89c4\u8303\uff0c\u6b63\u786e\u7684\u6210\u529f\u72b6\u6001\u7801\u5e94\u4e3a\uff1a"'+r.statusName+'": '+r.statusCode):(l.totalRow=e[r.totalRowName],l.renderData({res:e,curr:a,count:e[r.countName],type:t.type}),d(),n.time=(new Date).getTime()-l.startTime+" ms"),c(e,t.type)},error:function(e,t){l.errorView("\u8bf7\u6c42\u5f02\u5e38\uff0c\u9519\u8bef\u63d0\u793a\uff1a"+t),"function"==typeof n.error&&n.error(e,t)}})):"array"===layui.type(n.data)&&(e={},i=a*n.limit-n.limit,o=n.data.concat(),e[r.dataName]=n.page?o.splice(i,n.limit):o,e[r.countName]=n.data.length,"object"==typeof n.totalRow&&(e[r.totalRowName]=p.extend({},n.totalRow)),l.totalRow=e[r.totalRowName],l.renderData({res:e,curr:a,count:e[r.countName],type:t.type}),d(),c(e,t.type))},n.prototype.eachCols=function(e){return x.eachCols(null,e,this.config.cols),this},n.prototype.col=function(e){try{return e=e.split("-"),this.config.cols[e[1]][e[2]]||{}}catch(t){return g.error(t),{}}},n.prototype.getTrHtml=function(a,l,n,e){var s=this,u=s.config,y=e&&e.trs||[],h=e&&e.trs_fixed||[],f=e&&e.trs_fixed_r||[];return n=n||1,layui.each(a,function(e,o){var i=[],r=[],d=[],c=e+u.limit*(n-1)+1;if("object"!=typeof o){a[e]=o={LAY_KEY:o};try{x.cache[s.key][e]=o}catch(t){}}"array"===layui.type(o)&&0===o.length||(o[x.config.numbersName]=c,l||(o[x.config.indexName]=e),s.eachCols(function(e,l){var t,e=l.field||e,a=l.key,n=o[e];n!==undefined&&null!==n||(n=""),l.colGroup||(e=['','
      "+function(){var e,t=p.extend(!0,{LAY_COL:l},o),a=x.config.checkName,i=x.config.disabledName;switch(l.type){case"checkbox":return'';case"radio":return'';case"numbers":return c}return l.toolbar?m(p(l.toolbar).html()||"").render(t):C.call(s,{item3:l,content:n,tplData:t})}(),"
      "].join(""),i.push(e),l.fixed&&"right"!==l.fixed&&r.push(e),"right"===l.fixed&&d.push(e))}),e=['data-index="'+e+'"'],o[x.config.checkName]&&e.push('class="'+_+'"'),e=e.join(" "),y.push(""+i.join("")+""),h.push(""+r.join("")+""),f.push(""+d.join("")+""))}),{trs:y,trs_fixed:h,trs_fixed_r:f}},x.getTrHtml=function(e,t){e=w(e);return e.getTrHtml(t,null,e.page)},n.prototype.renderData=function(e){var a=this,i=a.config,t=e.res,l=e.curr,n=a.count=e.count,o=e.sort,r=t[i.response.dataName]||[],t=t[i.response.totalRowName],d=[],c=[],s=[],u=function(){if(!o&&a.sortKey)return a.sort({field:a.sortKey.field,type:a.sortKey.sort,pull:!0,reloadType:e.type});a.getTrHtml(r,o,l,{trs:d,trs_fixed:c,trs_fixed_r:s}),"fixed"===i.scrollPos&&"reloadData"===e.type||a.layBody.scrollTop(0),"reset"===i.scrollPos&&a.layBody.scrollLeft(0),a.layMain.find("."+h).remove(),a.layMain.find("tbody").html(d.join("")),a.layFixLeft.find("tbody").html(c.join("")),a.layFixRight.find("tbody").html(s.join("")),a.syncCheckAll(),a.renderForm(),a.fullSize(),a.haveInit?a.scrollPatch():setTimeout(function(){a.scrollPatch()},50),a.haveInit=!0,f.close(a.tipsIndex)};return x.cache[a.key]=r,a.layTotal[0==r.length?"addClass":"removeClass"](y),a.layPage[i.page||i.pagebar?"removeClass":"addClass"](R),a.layPage.find(P)[!i.page||0==n||0===r.length&&1==l?"addClass":"removeClass"](y),0===r.length?a.errorView(i.text.none):(a.layFixLeft.removeClass(R),o?u():(u(),a.renderTotal(r,t),a.layTotal&&a.layTotal.removeClass(R),void(i.page&&(i.page=p.extend({elem:"layui-table-page"+i.index,count:n,limit:i.limit,limits:i.limits||[10,20,30,40,50,60,70,80,90],groups:3,layout:["prev","page","next","skip","count","limit"],prev:'',next:'',jump:function(e,t){t||(a.page=e.curr,i.limit=e.limit,a.pullData(e.curr))}},i.page),i.page.count=n,z.render(i.page)))))},x.renderData=function(e){e=w(e);e&&e.pullData(e.page,{renderData:!0,type:"reloadData"})},n.prototype.renderTotal=function(e,o){var r,d=this,c=d.config,s={};c.totalRow&&(layui.each(e,function(e,i){"array"===layui.type(i)&&0===i.length||d.eachCols(function(e,t){var e=t.field||e,a=i[e];t.totalRow&&(s[e]=(s[e]||0)+(parseFloat(a)||0))})}),d.dataTotal=[],r=[],d.eachCols(function(e,t){var a,e=t.field||e,i=o&&o[t.field],l="totalRowDecimals"in t?t.totalRowDecimals:2,l=s[e]?parseFloat(s[e]||0).toFixed(l):"",l=(a=t.totalRowText||"",(n={LAY_COL:t})[e]=l,n=t.totalRow&&C.call(d,{item3:t,content:l,tplData:n})||a,i||n),n=(t.field&&d.dataTotal.push({field:t.field,total:p("
      "+l+"
      ").text()}),['','
      "+("string"==typeof(a=t.totalRow||c.totalRow)?m(a).render(p.extend({TOTAL_NUMS:i||s[e],TOTAL_ROW:o||{},LAY_COL:t},t)):l),"
      "].join(""));r.push(n)}),e=d.layTotal.find(".layui-table-patch"),d.layTotal.find("tbody").html(""+r.join("")+(e.length?e.get(0).outerHTML:"")+""))},n.prototype.getColElem=function(e,t){return e.eq(0).find(".laytable-cell-"+t+":eq(0)")},n.prototype.renderForm=function(e){this.config;var t=this.elem.attr("lay-filter");i.render(e,t)},n.prototype.renderFormByElem=function(a){layui.each(["input","select"],function(e,t){i.render(a.find(t))})},n.prototype.syncCheckAll=function(){var a,e=this,i=e.config,t=e.layHeader.find('input[name="layTableCheckbox"]'),l=x.checkStatus(e.key);t[0]&&(a=l.isAll,e.eachCols(function(e,t){"checkbox"===t.type&&(t[i.checkName]=a)}),t.prop({checked:l.isAll,indeterminate:!l.isAll&&l.data.length}))},n.prototype.setRowActive=function(e,t,a){this.config;e=this.layBody.find('tr[data-index="'+e+'"]');if(t=t||"layui-table-click",a)return e.removeClass(t);e.addClass(t),e.siblings("tr").removeClass(t)},n.prototype.setRowChecked=function(i){var a,e=this,l=e.config,n="all"===i.index,o="array"===layui.type(i.index),t=n||o,r=(t&&e.layBox.addClass(I),o&&(a={},layui.each(i.index,function(e,t){a[t]=!0}),i.index=a),n||o?"tr":'tr[data-index="'+i.index+'"]'),d=(r=e.layBody.find(r),n?r:r.filter(o?function(){var e=p(this).data("index");return i.index[e]}:'[data-index="'+i.index+'"]')),c=(i=p.extend({type:"checkbox"},i),x.cache[e.key]),s="checked"in i,u=function(e){return"radio"===i.type||(s?i.checked:!e)},y={},r=(layui.each(c,function(e,t){var a;"array"===layui.type(t)||t[l.disabledName]?y[e]=!0:n||(o?i.index[e]:Number(i.index)===e)?(a=t[l.checkName]=u(t[l.checkName]),n||o||((e=d.filter('[data-index="'+e+'"]'))[a?"addClass":"removeClass"](_),"radio"===i.type&&e.siblings().removeClass(_))):"radio"===i.type&&delete t[l.checkName]}),n?d.each(function(e){var t=this.getAttribute("data-index");y[t]||p(this).toggleClass(_,!!u(c[t][l.checkName]))}):o&&d.each(function(e){var t=this.getAttribute("data-index");i.index[t]&&!y[t]&&p(this).toggleClass(_,!!u(c[t][l.checkName]))}),d.find('input[lay-type="'+({radio:"layTableRadio",checkbox:"layTableCheckbox"}[i.type]||"checkbox")+'"]:not(:disabled)')),h=r.last(),f=h.closest(O);("radio"===i.type&&f.hasClass(R)?r.first():r).prop("checked",u(h.prop("checked"))),e.syncCheckAll(),t&&setTimeout(function(){e.layBox.removeClass(I)},100)},n.prototype.sort=function(l){var e,t=this,a={},i=t.config,n=i.elem.attr("lay-filter"),o=x.cache[t.key];"string"==typeof(l=l||{}).field&&(r=l.field,t.layHeader.find("th").each(function(e,t){var a=p(this),i=a.data("field");if(i===l.field)return l.field=a,r=i,!1}));try{var r=r||l.field.data("field"),d=l.field.data("key");if(t.sortKey&&!l.pull&&r===t.sortKey.field&&l.type===t.sortKey.sort)return;var c=t.layHeader.find("th .laytable-cell-"+d).find(E);t.layHeader.find("th").find(E).removeAttr("lay-sort"),c.attr("lay-sort",l.type||null),t.layFixed.find("th")}catch(s){g.error("Table modules: sort field '"+r+"' not matched")}t.sortKey={field:r,sort:l.type},i.autoSort&&("asc"===l.type?e=layui.sort(o,r,null,!0):"desc"===l.type?e=layui.sort(o,r,!0,!0):(e=layui.sort(o,x.config.indexName,null,!0),delete t.sortKey,delete i.initSort)),a[i.response.dataName]=e||o,t.renderData({res:a,curr:t.page,count:t.count,sort:!0,type:l.reloadType}),l.fromEvent&&(i.initSort={field:r,type:l.type},layui.event.call(l.field,T,"sort("+n+")",p.extend({config:i},i.initSort)))},n.prototype.loading=function(e){this.config.loading&&this.layBox.find(".layui-table-init").toggleClass(y,!e)},n.prototype.cssRules=function(t,a){var e=this.elem.children("style")[0];d.getStyleRules(e,function(e){if(e.selectorText===".laytable-cell-"+t)return a(e),!0})},n.prototype.fullSize=function(){var e,a,i=this,t=i.config,l=t.height;i.fullHeightGap?(l=r.height()-i.fullHeightGap)<135&&(l=135):i.parentDiv&&i.parentHeightGap?(l=p(i.parentDiv).height()-i.parentHeightGap)<135&&(l=135):i.customHeightFunc&&(l=i.customHeightFunc())<135&&(l=135),1
      ')).find("div").css({width:a}),e.find("tr").append(t)):e.find(".layui-table-patch").remove()};n(e.layHeader),n(e.layTotal);n=e.layMain.height()-i;e.layFixed.find(A).css("height",t.height()>=n?n:"auto").scrollTop(e.layMain.scrollTop()),e.layFixRight[x.cache[e.key]&&x.cache[e.key].length&&0');a.html(t),s.height&&a.css("max-height",s.height-(c.layTool.outerHeight()||50)),i.find("."+H)[0]||i.append(a),c.renderForm(),a.on("click",function(e){layui.stope(e)}),e.done&&e.done(a,t)};layui.stope(e),F.trigger("table.tool.panel.remove"),f.close(c.tipsIndex),layui.each(s.defaultToolbar,function(e,t){if(t.layEvent===a)return"function"==typeof t.onClick&&t.onClick({data:l,config:s,openPanel:n,elem:i}),!0}),layui.event.call(this,T,"toolbar("+o+")",p.extend({event:a,config:s},{}))}),c.layHeader.on("click","*[lay-event]",function(e){var t=p(this),a=t.attr("lay-event"),t=t.closest("th").data("key"),t=c.col(t);layui.event.call(this,T,"colTool("+o+")",p.extend({event:a,config:s,col:t},{}))}),c.layPagebar.on("click","*[lay-event]",function(e){var t=p(this).attr("lay-event");layui.event.call(this,T,"pagebar("+o+")",p.extend({event:t,config:s},{}))}),e.on("mousemove",function(e){var t=p(this),a=t.offset().left,e=e.clientX-a;t.data("unresize")||k.eventMoveElem||(d.allowResize=t.width()-e<=10,r.css("cursor",d.allowResize?"col-resize":""))}).on("mouseleave",function(){p(this);k.eventMoveElem||(d.allowResize=!1,r.css("cursor",""))}).on("mousedown",function(e){var t,a=p(this);d.allowResize&&(t=a.data("key"),e.preventDefault(),d.offset=[e.clientX,e.clientY],c.cssRules(t,function(e){var t=e.style.width||a.outerWidth();d.rule=e,d.ruleWidth=parseFloat(t),d.minWidth=a.data("minwidth")||s.cellMinWidth,d.maxWidth=a.data("maxwidth")||s.cellMaxWidth}),a.data(S,d),k.eventMoveElem=a)}),k.docEvent||F.on("mousemove",function(e){var t,a;k.eventMoveElem&&(t=k.eventMoveElem.data(S)||{},k.eventMoveElem.data("resizing",1),e.preventDefault(),t.rule)&&(e=t.ruleWidth+e.clientX-t.offset[0],a=k.eventMoveElem.closest("."+D).attr(N),a=w(a))&&((e=et.maxWidth&&(e=t.maxWidth),t.rule.style.width=e+"px",a.setGroupWidth(k.eventMoveElem),f.close(c.tipsIndex))}).on("mouseup",function(e){var t,a,i,l,n;k.eventMoveElem&&(i=(t=k.eventMoveElem).closest("."+D).attr(N),a=w(i))&&(i=t.data("key"),l=a.col(i),n=a.config.elem.attr("lay-filter"),d={},r.css("cursor",""),a.scrollPatch(),t.removeData(S),delete k.eventMoveElem,a.cssRules(i,function(e){l.width=parseFloat(e.style.width),layui.event.call(t[0],T,"colResized("+n+")",{col:l,config:a.config})}))}),k.docEvent=!0,e.on("click",function(e){var t=p(this),a=t.find(E),i=a.attr("lay-sort");if(!a[0]||1===t.data("resizing"))return t.removeData("resizing");c.sort({field:t,type:"asc"===i?"desc":"desc"===i?null:"asc",fromEvent:!0})}).find(E+" .layui-edge ").on("click",function(e){var t=p(this),a=t.index(),t=t.parents("th").eq(0).data("field");layui.stope(e),0===a?c.sort({field:t,type:"asc",fromEvent:!0}):c.sort({field:t,type:"desc",fromEvent:!0})}),c.commonMember=function(e){var a=p(this).parents("tr").eq(0).data("index"),t=c.layBody.find('tr[data-index="'+a+'"]'),i=(x.cache[c.key]||[])[a]||{},l={tr:t,config:s,data:x.clearCacheKey(i),dataCache:i,index:a,del:function(){x.cache[c.key][a]=[],t.remove(),c.scrollPatch()},update:function(e,t){c.updateRow({index:a,data:e=e||{},related:t},function(e,t){l.data[e]=t})},setRowChecked:function(e){c.setRowChecked(p.extend({index:a},e))}};return p.extend(l,e)}),t=(c.elem.on("click",'input[name="layTableCheckbox"]+',function(e){var t=p(this),a=t.closest("td"),t=t.prev(),i=(c.layBody.find('input[name="layTableCheckbox"]'),t.parents("tr").eq(0).data("index")),l=t[0].checked,n="layTableAllChoose"===t.attr("lay-filter");t[0].disabled||(n?c.setRowChecked({index:"all",checked:l}):(c.setRowChecked({index:i,checked:l}),layui.stope(e)),layui.event.call(t[0],T,"checkbox("+o+")",y.call(t[0],{checked:l,type:n?"all":"one",getCol:function(){return c.col(a.data("key"))}})))}),c.elem.on("click",'input[lay-type="layTableRadio"]+',function(e){var t=p(this),a=t.closest("td"),t=t.prev(),i=t[0].checked,l=t.parents("tr").eq(0).data("index");if(layui.stope(e),t[0].disabled)return!1;c.setRowChecked({type:"radio",index:l}),layui.event.call(t[0],T,"radio("+o+")",y.call(t[0],{checked:i,getCol:function(){return c.col(a.data("key"))}}))}),c.layBody.on("mouseenter","tr",function(){var e=p(this),t=e.index();e.data("off")||c.layBody.find("tr:eq("+t+")").addClass(M)}).on("mouseleave","tr",function(){var e=p(this),t=e.index();e.data("off")||c.layBody.find("tr:eq("+t+")").removeClass(M)}).on("click","tr",function(e){t.call(this,"row",e)}).on("dblclick","tr",function(e){t.call(this,"rowDouble",e)}).on("contextmenu","tr",function(e){s.defaultContextmenu||e.preventDefault(),t.call(this,"rowContextmenu",e)}),function(e,t){var a=p(this);if(!a.data("off")){if("rowContextmenu"!==e){var i=[".layui-form-checkbox",".layui-form-switch",".layui-form-radio","[lay-unrow]"].join(",");if(p(t.target).is(i)||p(t.target).closest(i)[0])return}layui.event.call(this,T,e+"("+o+")",y.call(a.children("td")[0],{e:t}))}}),n=function(e,t){var a,i,l;(e=p(e)).data("off")||(l=e.data("field"),i=e.data("key"),i=c.col(i),a=e.closest("tr").data("index"),a=x.cache[c.key][a],e.children(u),(i="function"==typeof i.edit?i.edit(a):i.edit)&&((i=p("textarea"===i?'':''))[0].value=(l=e.data("content")||a[l])===undefined||null===l?"":l,e.find("."+L)[0]||e.append(i),i.focus(),t)&&layui.stope(t))},i=(c.layBody.on("change","."+L,function(){var e=p(this),t=e.parent(),a=this.value,i=e.parent().data("field"),e=e.closest("tr").data("index"),e=x.cache[c.key][e],l=y.call(t[0],{value:a,field:i,oldValue:e[i],td:t,reedit:function(){setTimeout(function(){n(l.td);var e={};e[i]=l.oldValue,l.update(e)})},getCol:function(){return c.col(t.data("key"))}}),e={};e[i]=a,l.update(e),layui.event.call(t[0],T,"edit("+o+")",l)}).on("blur","."+L,function(){p(this).remove()}),c.layBody.on(s.editTrigger,"td",function(e){n(this,e)}).on("mouseenter","td",function(){a.call(this)}).on("mouseleave","td",function(){a.call(this,"hide")}),c.layTotal.on("mouseenter","td",function(){a.call(this)}).on("mouseleave","td",function(){a.call(this,"hide")}),"layui-table-grid-down"),a=function(e){var t=p(this),a=t.children(u);t.data("off")||t.parent().hasClass(j)||(e?t.find(".layui-table-grid-down").remove():!(a.prop("scrollWidth")>a.prop("clientWidth")||0'))},l=function(e,t){var a=p(this),i=a.parent(),l=i.data("key"),n=c.col(l),o=i.parent().data("index"),r=i.children(u),i="layui-table-cell-c",d=p('');"tips"===(t=t||n.expandedMode||s.cellExpandedMode)?c.tipsIndex=f.tips(['
      ',r.html(),"
      ",''].join(""),r[0],{tips:[3,""],time:-1,anim:-1,maxWidth:b.ios||b.android?300:c.elem.width()/2,isOutAnim:!1,skin:"layui-table-tips",success:function(e,t){e.find(".layui-table-tips-c").on("click",function(){f.close(t)})}}):(c.elem.find("."+i).trigger("click"),c.cssRules(l,function(e){var t=e.style.width,a=n.expandedWidth||s.cellExpandedWidth;atr").each(function(i){n.cols[i]=[],p(this).children().each(function(e){var t=p(this),a=t.attr("lay-data"),a=d.options(this,{attr:a?"lay-data":null,errorText:r+(a||t.attr("lay-options"))}),t=p.extend({title:t.text(),colspan:parseInt(t.attr("colspan"))||1,rowspan:parseInt(t.attr("rowspan"))||1},a);n.cols[i].push(t)})}),e.find("tbody>tr")),t=x.render(n);!a.length||o.data||t.config.url||(l=0,x.eachCols(t.config.id,function(e,i){a.each(function(e){n.data[e]=n.data[e]||{};var t=p(this),a=i.field;n.data[e][a]=t.children("td").eq(l).html()}),l++}),t.reloadData({data:n.data}))}),this},k.that={},k.config={},function(a,i,e,l){var n,o;l.colGroup&&(n=0,a++,l.CHILD_COLS=[],o=e+(parseInt(l.rowspan)||1),layui.each(i[o],function(e,t){t.parentKey?t.parentKey===l.key&&(t.PARENT_COL_INDEX=a,l.CHILD_COLS.push(t),c(a,i,o,t)):t.PARENT_COL_INDEX||1<=n&&n==(l.colspan||1)||(t.PARENT_COL_INDEX=a,l.CHILD_COLS.push(t),n+=parseInt(1td').filter('[data-field="'+e+'"]')}}})).replace(/"/g,'""'),n.push(a='"'+a+'"')):t.field&&"normal"!==t.type&&0==i&&(u[t.field]=!0)}),c.push(n.join(","))}),o&&layui.each(o.dataTotal,function(e,t){u[t.field]||s.push('"'+(t.total||"")+'"')}),d.join(",")+"\r\n"+c.join("\r\n")+"\r\n"+s.join(","))),r.download=(a.title||l.title||"table_"+(l.index||""))+"."+i,document.body.appendChild(r),r.click(),document.body.removeChild(r)},x.getOptions=l,x.hideCol=function(e,l){var n=w(e);n&&("boolean"===layui.type(l)?n.eachCols(function(e,t){var a=t.key,i=n.col(a),t=t.parentKey;i.hide!=l&&(i=i.hide=l,n.elem.find('*[data-key="'+a+'"]')[i?"addClass":"removeClass"](R),n.setParentCol(i,t))}):(l=layui.isArray(l)?l:[l],layui.each(l,function(e,l){n.eachCols(function(e,t){var a,i;l.field===t.field&&(a=t.key,i=n.col(a),t=t.parentKey,"hide"in l)&&i.hide!=l.hide&&(i=i.hide=!!l.hide,n.elem.find('*[data-key="'+a+'"]')[i?"addClass":"removeClass"](R),n.setParentCol(i,t))})})),p("."+H).remove(),n.resize())},x.reload=function(e,t,a,i){if(l(e))return(e=w(e)).reload(t,a,i),k.call(e)},x.reloadData=function(){var a=p.extend([],arguments),i=(a[3]="reloadData",new RegExp("^("+["elem","id","cols","width","height","maxHeight","toolbar","defaultToolbar","className","css","pagebar"].join("|")+")$"));return layui.each(a[1],function(e,t){i.test(e)&&delete a[1][e]}),x.reload.apply(null,a)},x.render=function(e){e=new n(e);return k.call(e)},x.clearCacheKey=function(e){return delete(e=p.extend({},e))[x.config.checkName],delete e[x.config.indexName],delete e[x.config.numbersName],delete e[x.config.disabledName],e},p(function(){x.init()}),s(T,x)});layui.define(["table"],function(e){"use strict";var A=layui.$,x=layui.form,P=layui.table,y=layui.hint(),B={config:{},on:P.on,eachCols:P.eachCols,index:P.index,set:function(e){var t=this;return t.config=A.extend({},t.config,e),t},resize:P.resize,getOptions:P.getOptions,hideCol:P.hideCol,renderData:P.renderData},i=function(){var a=this,e=a.config,n=e.id||e.index;return{config:e,reload:function(e,t){a.reload.call(a,e,t)},reloadData:function(e,t){B.reloadData(n,e,t)}}},j=function(e){var t=i.that[e];return t||y.error(e?"The treeTable instance with ID '"+e+"' not found":"ID argument required"),t||null},F="lay-table-id",L="layui-hide",s=".layui-table-body",q=".layui-table-main",R=".layui-table-fixed-l",Y=".layui-table-fixed-r",l="layui-table-checked",h="layui-table-tree",z="LAY_DATA_INDEX",m="LAY_DATA_INDEX_HISTORY",p="LAY_PARENT_INDEX",b="LAY_CHECKBOX_HALF",H="LAY_EXPAND",X="LAY_HAS_EXPANDED",V="LAY_ASYNC_STATUS",n=["all","parent","children","none"],t=/<[^>]+?>/,f=["flexIconClose","flexIconOpen","iconClose","iconOpen","iconLeaf","icon"],a=function(e){var t=this;t.index=++B.index,t.config=A.extend(!0,{},t.config,B.config,e),t.init(),t.render()},g=function(n,i,e){var l=P.cache[n];layui.each(e||l,function(e,t){var a=t[z]||"";-1!==a.indexOf("-")&&(l[a]=t),t[i]&&g(n,i,t[i])})},d=function(d,a,e){var r=j(d),o=("reloadData"!==e&&(r.status={expand:{}}),A.extend(!0,{},r.getOptions(),a)),n=o.tree,c=n.customName.children,i=n.customName.id,l=(delete a.hasNumberCol,delete a.hasChecboxCol,delete a.hasRadioCol,P.eachCols(null,function(e,t){"numbers"===t.type?a.hasNumberCol=!0:"checkbox"===t.type?a.hasChecboxCol=!0:"radio"===t.type&&(a.hasRadioCol=!0)},o.cols),a.parseData),u=a.done;"reloadData"===e&&"fixed"===o.scrollPos&&(r.scrollTopCache=r.config.elem.next().find(s).scrollTop()),o.url?e&&(!l||l.mod)||(a.parseData=function(){var e=this,t=arguments,a=t[0],t=("function"===layui.type(l)&&(a=l.apply(e,t)||t[0]),e.response.dataName);return n.data.isSimpleData&&!n["async"].enable&&(a[t]=r.flatToTree(a[t])),N(a[t],function(e){e[H]=H in e?e[H]:e[i]!==undefined&&r.status.expand[e[i]]},c),e.autoSort&&e.initSort&&e.initSort.type&&layui.sort(a[t],e.initSort.field,"desc"===e.initSort.type,!0),r.initData(a[t]),a},a.parseData.mod=!0):a.data!==undefined&&(a.data=a.data||[],n.data.isSimpleData&&(a.data=r.flatToTree(a.data)),r.initData(a.data)),e&&(!u||u.mod)||(a.done=function(){var e,t=arguments,a=t[3],n="renderData"===a,i=(n||delete r.isExpandAll,this.elem.next()),l=(r.updateStatus(null,{LAY_HAS_EXPANDED:!1}),g(d,c),i.find('[name="layTableCheckbox"][lay-filter="layTableAllChoose"]'));if(l.length&&(e=B.checkStatus(d),l.prop({checked:e.isAll&&e.data.length,indeterminate:!e.isAll&&e.data.length})),!n&&o.autoSort&&o.initSort&&o.initSort.type&&B.sort(d),r.renderTreeTable(i),"reloadData"===a&&"fixed"===this.scrollPos&&i.find(s).scrollTop(r.scrollTopCache),"function"===layui.type(u))return u.apply(this,t)},a.done.mod=!0),a&&a.tree&&a.tree.view&&layui.each(f,function(e,t){a.tree.view[t]!==undefined&&(a.tree.view[t]=r.normalizedIcon(a.tree.view[t]))})};a.prototype.init=function(){var e=this.config,t=e.tree.data.cascade,t=(-1===n.indexOf(t)&&(e.tree.data.cascade="all"),P.render(A.extend({},e,{data:[],url:"",done:null}))),a=t.config.id;(i.that[a]=this).tableIns=t,d(a,e)},a.prototype.config={tree:{customName:{children:"children",isParent:"isParent",name:"name",id:"id",pid:"parentId",icon:"icon"},view:{indent:14,flexIconClose:'',flexIconOpen:'',showIcon:!0,icon:"",iconClose:'',iconOpen:'',iconLeaf:'',showFlexIconIfNotParent:!1,dblClickExpand:!0,expandAllDefault:!1},data:{isSimpleData:!1,rootPid:null,cascade:"all"},"async":{enable:!1,url:"",type:null,contentType:null,headers:null,where:null,autoParam:[]},callback:{beforeExpand:null,onExpand:null}}},a.prototype.normalizedIcon=function(e){return e?t.test(e)?e:'':""},a.prototype.getOptions=function(){return this.tableIns?P.getOptions(this.tableIns.config.id):this.config},a.prototype.flatToTree=function(e){var n,i,l,d,r,o,c,u,t=this.getOptions(),a=t.tree,s=a.customName,t=t.id;return e=e||P.cache[t],t=e,n=s.id,i=s.pid,l=s.children,d=a.data.rootPid,n=n||"id",i=i||"parentId",l=l||"children",c={},u=[],layui.each(t,function(e,t){r=n+t[n],o=n+t[i],c[r]||(c[r]={},c[r][l]=[]);var a={};a[l]=c[r][l],c[r]=A.extend({},t,a),((d?c[r][i]===d:!c[r][i])?u:(c[o]||(c[o]={},c[o][l]=[]),c[o][l])).push(c[r])}),u},a.prototype.treeToFlat=function(e,n,i){var l=this,d=l.getOptions().tree.customName,r=d.children,o=d.pid,c=[];return layui.each(e,function(e,t){var e=(i?i+"-":"")+e,a=A.extend({},t);a[o]=t[o]||n,c.push(a),c=c.concat(l.treeToFlat(t[r],t[d.id],e))}),c},a.prototype.getTreeNode=function(e){var t,a,n=this;return e?(a=(t=n.getOptions()).tree,t.id,a.customName,{data:e,dataIndex:e[z],getParentNode:function(){return n.getNodeByIndex(e[p])}}):y.error("\u627e\u4e0d\u5230\u8282\u70b9\u6570\u636e")},a.prototype.getNodeByIndex=function(t){var a,e,n=this,i=n.getNodeDataByIndex(t);return i?((e=n.getOptions()).tree.customName.parent,a=e.id,(e={data:i,dataIndex:i[z],getParentNode:function(){return n.getNodeByIndex(i[p])},update:function(e){return B.updateNode(a,t,e)},remove:function(){return B.removeNode(a,t)},expand:function(e){return B.expandNode(a,A.extend({},e,{index:t}))},setChecked:function(e){return B.setRowChecked(a,A.extend({},e,{index:t}))}}).dataIndex=t,e):y.error("\u627e\u4e0d\u5230\u8282\u70b9\u6570\u636e")},a.prototype.getNodeById=function(a){var e=this.getOptions(),n=e.tree.customName.id,i="",e=B.getData(e.id,!0);if(layui.each(e,function(e,t){if(t[n]===a)return i=t[z],!0}),i)return this.getNodeByIndex(i)},a.prototype.getNodeDataByIndex=function(e,t,a){var n=this.getOptions(),i=n.tree,n=n.id,n=P.cache[n],l=n[e];if("delete"!==a&&l)return A.extend(l,a),t?A.extend({},l):l;for(var d=n,r=String(e).split("-"),o=0,c=i.customName.children;o
      '),N=function(e){y[V]="success",y[s.children]=e,c.initData(y[s.children],y[z]),J(t,!0,!p&&n,i,l)},C=m.format,"function"===layui.type(C)?C(y,o,N):(I=A.extend({},m.where||o.where),C=m.autoParam,layui.each(C,function(e,t){t=t.split("=");I[t[0].trim()]=y[(t[1]||t[0]).trim()]}),(C=m.contentType||o.contentType)&&0==C.indexOf("application/json")&&(I=JSON.stringify(I)),O=m.method||o.method,D=m.dataType||o.dataType,T=m.jsonpCallback||o.jsonpCallback,_=m.headers||o.headers,k=m.parseData||o.parseData,w=m.response||o.response,A.ajax({type:O||"get",url:b,contentType:C,data:I,dataType:D||"json",jsonpCallback:T,headers:_||{},success:function(e){(e="function"==typeof k?k.call(o,e)||e:e)[w.statusName]!=w.statusCode?(y[V]="error",g.html('')):N(e[w.dataName])},error:function(e,t){y[V]="error","function"==typeof o.error&&o.error(e,t)}})),h;y[X]=!0,v.length&&(!o.initSort||o.url&&!o.autoSort||((m=o.initSort).type?layui.sort(v,m.field,"desc"===m.type,!0):layui.sort(v,P.config.indexName,null,!0)),c.initData(y[s.children],y[z]),O=P.getTrHtml(r,v,null,null,e),S={trs:A(O.trs.join("")),trs_fixed:A(O.trs_fixed.join("")),trs_fixed_r:A(O.trs_fixed_r.join(""))},E=(e.split("-").length-1||0)+1,layui.each(v,function(e,t){S.trs.eq(e).attr({"data-index":t[z],"lay-data-index":t[z],"data-level":E}).data("index",t[z]),S.trs_fixed.eq(e).attr({"data-index":t[z],"lay-data-index":t[z],"data-level":E}).data("index",t[z]),S.trs_fixed_r.eq(e).attr({"data-index":t[z],"lay-data-index":t[z],"data-level":E}).data("index",t[z])}),d.find(q).find('tbody tr[lay-data-index="'+e+'"]').after(S.trs),d.find(R).find('tbody tr[lay-data-index="'+e+'"]').after(S.trs_fixed),d.find(Y).find('tbody tr[lay-data-index="'+e+'"]').after(S.trs_fixed_r),c.renderTreeTable(S.trs,E),n)&&!p&&layui.each(v,function(e,t){J({dataIndex:t[z],trElem:d.find('tr[lay-data-index="'+t[z]+'"]').first(),tableViewElem:d,tableId:r,options:o},a,n,i,l)})}else c.isExpandAll=!1,(n&&!p?(layui.each(v,function(e,t){J({dataIndex:t[z],trElem:d.find('tr[lay-data-index="'+t[z]+'"]').first(),tableViewElem:d,tableId:r,options:o},a,n,i,l)}),d.find(v.map(function(e,t,a){return'tr[lay-data-index="'+e[z]+'"]'}).join(","))):(b=c.treeToFlat(v,y[s.id],e),d.find(b.map(function(e,t,a){return'tr[lay-data-index="'+e[z]+'"]'}).join(",")))).addClass(L);U("resize-"+r,function(){B.resize(r)},0)(),l&&"loading"!==y[V]&&(C=u.callback.onExpand,"function"===layui.type(C))&&C(r,y,x)}return h},v=(B.expandNode=function(e,t){var a,n,i,e=j(e);if(e)return a=(t=t||{}).index,n=t.expandFlag,i=t.inherit,t=t.callbackFlag,e=e.getOptions().elem.next(),J({trElem:e.find('tr[lay-data-index="'+a+'"]').first()},n,i,null,t)},B.expandAll=function(a,e){if("boolean"!==layui.type(e))return y.error("expandAll \u7684\u5c55\u5f00\u72b6\u6001\u53c2\u6570\u53ea\u63a5\u6536true/false");var t=j(a);if(t){t.isExpandAll=e;var n=t.getOptions(),i=n.tree,l=n.elem.next(),d=i.customName.isParent,r=i.customName.id,o=i.view.showFlexIconIfNotParent;if(e){e=B.getData(a,!0);if(i["async"].enable){var c=!0;if(layui.each(e,function(e,t){if(t[d]&&!t[V])return!(c=!1)}),!c)return void layui.each(B.getData(a),function(e,t){B.expandNode(a,{index:t[z],expandFlag:!0,inherit:!0})})}var u=!0;if(layui.each(e,function(e,t){if(t[d]&&!t[X])return!(u=!1)}),u)t.updateStatus(null,function(e){(e[d]||o)&&(e[H]=!0,e[r]!==undefined)&&(t.status.expand[e[r]]=!0)}),l.find('tbody tr[data-level!="0"]').removeClass(L),l.find(".layui-table-tree-flexIcon").html(i.view.flexIconOpen),i.view.showIcon&&l.find(".layui-table-tree-nodeIcon:not(.layui-table-tree-iconCustom,.layui-table-tree-iconLeaf)").html(i.view.iconOpen);else{if(t.updateStatus(null,function(e){(e[d]||o)&&(e[H]=!0,e[X]=!0,e[r]!==undefined)&&(t.status.expand[e[r]]=!0)}),n.initSort&&n.initSort.type&&n.autoSort)return B.sort(a);var s,n=P.getTrHtml(a,e),f={trs:A(n.trs.join("")),trs_fixed:A(n.trs_fixed.join("")),trs_fixed_r:A(n.trs_fixed_r.join(""))};layui.each(e,function(e,t){var a=t[z].split("-").length-1;s={"data-index":t[z],"lay-data-index":t[z],"data-level":a},f.trs.eq(e).attr(s).data("index",t[z]),f.trs_fixed.eq(e).attr(s).data("index",t[z]),f.trs_fixed_r.eq(e).attr(s).data("index",t[z])}),layui.each(["main","fixed-l","fixed-r"],function(e,t){l.find(".layui-table-"+t+" tbody").html(f[["trs","trs_fixed","trs_fixed_r"][e]])}),t.renderTreeTable(l,0,!1)}}else t.updateStatus(null,function(e){(e[d]||o)&&(e[H]=!1,e[r]!==undefined)&&(t.status.expand[e[r]]=!1)}),l.find('.layui-table-box tbody tr[data-level!="0"]').addClass(L),l.find(".layui-table-tree-flexIcon").html(i.view.flexIconClose),i.view.showIcon&&l.find(".layui-table-tree-nodeIcon:not(.layui-table-tree-iconCustom,.layui-table-tree-iconLeaf)").html(i.view.iconClose);B.resize(a)}},a.prototype.updateNodeIcon=function(e){var t=this.getOptions().tree||{},a=e.scopeEl,n=e.isExpand,e=e.isParent;a.find(".layui-table-tree-flexIcon").css("visibility",e||t.view.showFlexIconIfNotParent?"visible":"hidden").html(n?t.view.flexIconOpen:t.view.flexIconClose),t.view.showIcon&&(a=a.find(".layui-table-tree-nodeIcon:not(.layui-table-tree-iconCustom)"),n=e?n?t.view.iconOpen:t.view.iconClose:t.view.iconLeaf,a.toggleClass("layui-table-tree-iconLeaf",!e).html(n))},a.prototype.renderTreeTable=function(e,t,a){var l=this,n=l.getOptions(),d=n.elem.next(),i=(d.hasClass(h)||d.addClass(h),n.id),r=n.tree||{},o=(r.data,r.view||{}),c=r.customName||{},u=c.isParent,s=(d.attr("lay-filter"),l),f=((t=t||0)||(d.find(".layui-table-body tr:not([data-level])").attr("data-level",t),layui.each(P.cache[i],function(e,t){d.find('.layui-table-main tbody tr[data-level="0"]:eq('+e+")").attr("lay-data-index",t[z]),d.find('.layui-table-fixed-l tbody tr[data-level="0"]:eq('+e+")").attr("lay-data-index",t[z]),d.find('.layui-table-fixed-r tbody tr[data-level="0"]:eq('+e+")").attr("lay-data-index",t[z])})),null),y=c.name,p=o.indent||14;if(layui.each(e.find('td[data-field="'+y+'"]'),function(e,t){var a,n,i=(t=A(t)).closest("tr"),t=t.children(".layui-table-cell");t.hasClass("layui-table-tree-item")||(n=i.attr("lay-data-index"))&&(i=d.find('tr[lay-data-index="'+n+'"]'),(a=s.getNodeDataByIndex(n))[H]&&a[u]&&((f=f||{})[n]=!0),a[b]&&i.find('input[type="checkbox"][name="layTableCheckbox"]').prop("indeterminate",!0),n=t.html(),(t=i.find('td[data-field="'+y+'"]>div.layui-table-cell')).addClass("layui-table-tree-item"),t.html(['
      ',a[H]?o.flexIconOpen:o.flexIconClose,"
      ",o.showIcon?'
      '+(l.normalizedIcon(a[c.icon])||o.icon||(a[u]?a[H]?o.iconOpen:o.iconClose:o.iconLeaf)||"")+"
      ":"",n].join("")).find(".layui-table-tree-flexIcon").on("click",function(e){layui.stope(e),J({trElem:i},null,null,null,!0)}))}),!t&&r.view.expandAllDefault&&l.isExpandAll===undefined)return B.expandAll(i,!0);(!1!==a&&f?(layui.each(f,function(e,t){e=d.find('tr[lay-data-index="'+e+'"]');e.find(".layui-table-tree-flexIcon").html(o.flexIconOpen),J({trElem:e.first()},!0)}),U("renderTreeTable2-"+i,function(){x.render(A(".layui-table-tree["+F+'="'+i+'"]'))},0)):U("renderTreeTable-"+i,function(){n.hasNumberCol&&v(l),x.render(A(".layui-table-tree["+F+'="'+i+'"]'))},0))()},function(a){var e=a.getOptions(),t=e.elem.next(),n=0,i=t.find(".layui-table-main tbody tr"),l=t.find(".layui-table-fixed-l tbody tr"),d=t.find(".layui-table-fixed-r tbody tr");layui.each(a.treeToFlat(P.cache[e.id]),function(e,t){t.LAY_HIDE||(a.getNodeDataByIndex(t[z]).LAY_NUM=++n,i.eq(e).find(".laytable-cell-numbers").html(n),l.eq(e).find(".laytable-cell-numbers").html(n),d.eq(e).find(".laytable-cell-numbers").html(n))})}),N=(a.prototype.render=function(e){var t=this;t.tableIns=P["reloadData"===e?"reloadData":"reload"](t.tableIns.config.id,A.extend(!0,{},t.config)),t.config=t.tableIns.config},a.prototype.reload=function(e,t,a){var n=this;e=e||{},delete n.haveInit,layui.each(e,function(e,t){"array"===layui.type(t)&&delete n.config[e]}),d(n.getOptions().id,e,a||!0),n.config=A.extend(t,{},n.config,e),n.render(a)},B.reloadData=function(){var e=A.extend(!0,[],arguments);return e[3]="reloadData",B.reload.apply(null,e)},function(e,a,n,i){var l=[];return layui.each(e,function(e,t){"function"===layui.type(a)?a(t):A.extend(t,a),l.push(A.extend({},t)),i||(l=l.concat(N(t[n],a,n,i)))}),l}),o=(a.prototype.updateStatus=function(e,t,a){var n=this.getOptions(),i=n.tree;return e=e||P.cache[n.id],N(e,t,i.customName.children,a)},a.prototype.getTableData=function(){var e=this.getOptions();return P.cache[e.id]},B.updateStatus=function(e,t,a){var e=j(e),n=e.getOptions();return a=a||(n.url?P.cache[n.id]:n.data),e.updateStatus(a,t)},B.sort=function(e){var t,a,i,l,n,d=j(e);d&&(n=(t=d.getOptions()).tree,a=B.getData(e),i=n.customName.children,l=function(e,a,n){layui.sort(e,a,n,!0),layui.each(e,function(e,t){l(t[i]||[],a,n)})},t.autoSort)&&((n=t.initSort).type?l(a,n.field,"desc"===n.type):l(a,P.config.indexName,null),P.cache[e]=a,d.initData(a),B.renderData(e))},function(n){var t=n.config.id,i=j(t),a=n.data=B.getNodeDataByIndex(t,n.index),l=a[z],d=(n.dataIndex=l,n.update);n.update=function(){var e=arguments,t=(A.extend(i.getNodeDataByIndex(l),e[0]),d.apply(this,e)),a=n.config.tree.customName.name;return a in e[0]&&n.tr.find('td[data-field="'+a+'"]').children("div.layui-table-cell").removeClass("layui-table-tree-item"),i.renderTreeTable(n.tr,n.tr.attr("data-level"),!1),t},n.del=function(){B.removeNode(t,a)},n.setRowChecked=function(e){B.setRowChecked(t,{index:a,checked:e})}}),u=(B.updateNode=function(e,a,t){var n,i,l,d,r,o=j(e);o&&((d=o.getOptions()).tree,d=(n=d.elem.next()).find('tr[lay-data-index="'+a+'"]'),i=d.attr("data-index"),l=d.attr("data-level"),t)&&(d=o.getNodeDataByIndex(a,!1,t),r=P.getTrHtml(e,[d]),layui.each(["main","fixed-l","fixed-r"],function(e,t){n.find(".layui-table-"+t+' tbody tr[lay-data-index="'+a+'"]').replaceWith(A(r[["trs","trs_fixed","trs_fixed_r"][e]].join("")).attr({"data-index":i,"lay-data-index":a,"data-level":l}).data("index",i))}),o.renderTreeTable(n.find('tr[lay-data-index="'+a+'"]'),l))},B.removeNode=function(e,t,a){var n=j(e);if(n){var i,l=n.getOptions(),d=l.tree,r=d.customName.isParent,o=d.customName.children,c=l.elem.next(),u=[],s=P.cache[e],t=n.getNodeDataByIndex("string"===layui.type(t)?t:t[z],!1,"delete"),f=n.getNodeDataByIndex(t[p]),d=(n.updateCheckStatus(f),n.treeToFlat([t],t[d.customName.pid],t[p])),t=(layui.each(d,function(e,t){t=t[z];u.push('tr[lay-data-index="'+t+'"]'),-1!==t.indexOf("-")&&delete s[t]}),c.find(u.join(",")).remove(),n.initData());for(i in s)-1!==i.indexOf("-")&&i!==s[i][z]&&delete s[i];layui.each(n.treeToFlat(t),function(e,t){t[m]&&t[m]!==t[z]&&c.find('tr[lay-data-index="'+t[m]+'"]').attr({"data-index":t[z],"lay-data-index":t[z]}).data("index",t[z])}),layui.each(s,function(e,t){c.find('tr[data-level="0"][lay-data-index="'+t[z]+'"]').attr("data-index",e).data("index",e)}),l.hasNumberCol&&v(n),f&&(d=c.find('tr[lay-data-index="'+f[z]+'"]'),a||(f[r]=!(!f[o]||!f[o].length)),n.updateNodeIcon({scopeEl:d,isExpand:f[H],isParent:f[r]})),B.resize(e)}},B.addNodes=function(e,t){var a=j(e);if(a){var n=a.getOptions(),i=n.tree,l=n.elem.next(),d=P.config.checkName,r=(t=t||{}).parentIndex,o=t.index,c=t.data,t=t.focus,u=(r="number"===layui.type(r)?r.toString():r)?a.getNodeDataByIndex(r):null,o="number"===layui.type(o)?o:-1,c=A.extend(!0,[],layui.isArray(c)?c:[c]);layui.each(c,function(e,t){d in t||!u||(t[d]=u[d])}),a.getTableData();if(u){var s=i.customName.isParent,f=i.customName.children;u[s]=!0;var y=(y=u[f])?(p=y.splice(-1===o?y.length:o),u[f]=y.concat(c,p)):u[f]=c,f=(a.updateStatus(y,function(e){(e[s]||i.view.showFlexIconIfNotParent)&&(e[X]=!1)}),a.treeToFlat(y));l.find(f.map(function(e){return'tr[lay-data-index="'+e[z]+'"]'}).join(",")).remove(),a.initData(),u[X]=!1,u[V]="local",J({trElem:l.find('tr[lay-data-index="'+r+'"]')},!0)}else{var p=P.cache[e].splice(-1===o?P.cache[e].length:o);if(P.cache[e]=P.cache[e].concat(c,p),n.url||(n.page?(y=n.page,n.data.splice.apply(n.data,[y.limit*(y.curr-1),y.limit].concat(P.cache[e]))):n.data=P.cache[e]),a.initData(),l.find(".layui-none").length)return P.renderData(e),c;var x,f=P.getTrHtml(e,c),h={trs:A(f.trs.join("")),trs_fixed:A(f.trs_fixed.join("")),trs_fixed_r:A(f.trs_fixed_r.join(""))},r=(layui.each(c,function(e,t){x={"data-index":t[z],"lay-data-index":t[z],"data-level":"0"},h.trs.eq(e).attr(x).data("index",t[z]),h.trs_fixed.eq(e).attr(x).data("index",t[z]),h.trs_fixed_r.eq(e).attr(x).data("index",t[z])}),parseInt(c[0][z])-1),y=l.find(q),n=l.find(R),f=l.find(Y);-1==r?y.find('tr[data-level="0"][data-index="0"]')[0]?(y.find('tr[data-level="0"][data-index="0"]').before(h.trs),n.find('tr[data-level="0"][data-index="0"]').before(h.trs_fixed),f.find('tr[data-level="0"][data-index="0"]').before(h.trs_fixed_r)):(y.find("tbody").prepend(h.trs),n.find("tbody").prepend(h.trs_fixed),f.find("tbody").prepend(h.trs_fixed_r)):-1===o?(y.find("tbody").append(h.trs),n.find("tbody").append(h.trs_fixed),f.find("tbody").append(h.trs_fixed_r)):(r=p[0][m],y.find('tr[data-level="0"][data-index="'+r+'"]').before(h.trs),n.find('tr[data-level="0"][data-index="'+r+'"]').before(h.trs_fixed),f.find('tr[data-level="0"][data-index="'+r+'"]').before(h.trs_fixed_r)),layui.each(P.cache[e],function(e,t){l.find('tr[data-level="0"][lay-data-index="'+t[z]+'"]').attr("data-index",e).data("index",e)}),a.renderTreeTable(l.find(c.map(function(e,t,a){return'tr[lay-data-index="'+e[z]+'"]'}).join(",")))}return a.updateCheckStatus(u),u&&(o=l.find('tr[lay-data-index="'+u[z]+'"]'),a.updateNodeIcon({scopeEl:o,isExpand:u[H],isParent:u[s]})),B.resize(e),t&&l.find(q).find('tr[lay-data-index="'+c[0][z]+'"]').get(0).scrollIntoViewIfNeeded(),c}},B.checkStatus=function(e,n){var i,t,a,l=j(e);if(l)return l=l.getOptions().tree,i=P.config.checkName,t=B.getData(e,!0).filter(function(e,t,a){return e[i]||n&&e[b]}),a=!0,layui.each("all"===l.data.cascade?P.cache[e]:B.getData(e,!0),function(e,t){if(!t[i])return!(a=!1)}),{data:t,isAll:a}},B.on("sort",function(e){var e=e.config,t=e.elem.next(),e=e.id;t.hasClass(h)&&B.sort(e)}),B.on("row",function(e){e.config.elem.next().hasClass(h)&&o(e)}),B.on("rowDouble",function(e){var t=e.config,a=t.elem.next();t.id;a.hasClass(h)&&(o(e),(t.tree||{}).view.dblClickExpand)&&J({trElem:e.tr.first()},null,null,null,!0)}),B.on("rowContextmenu",function(e){var t=e.config,a=t.elem.next();t.id;a.hasClass(h)&&o(e)}),B.on("tool",function(e){var t=e.config,a=t.elem.next();t.id;a.hasClass(h)&&o(e)}),B.on("edit",function(e){var t=e.config,a=t.elem.next();t.id;a.hasClass(h)&&(o(e),e.field===t.tree.customName.name)&&((a={})[e.field]=e.value,e.update(a))}),B.on("radio",function(e){var t=e.config,a=t.elem.next(),t=t.id;a.hasClass(h)&&(a=j(t),o(e),u.call(a,e.tr,e.checked))}),a.prototype.setRowCheckedClass=function(e,t){var a=this.getOptions(),n=(e.data("index"),a.elem.next());e[t?"addClass":"removeClass"](l),e.each(function(){var e=A(this).data("index");n.find('.layui-table-fixed-r tbody tr[data-index="'+e+'"]')[t?"addClass":"removeClass"](l)})},a.prototype.updateCheckStatus=function(e,t){var a,n,i,l,d,r,o,c=this,u=c.getOptions();return!!u.hasChecboxCol&&(a=u.tree,n=u.id,i=u.elem.next(),l=P.config.checkName,"all"!==(d=a.data.cascade)&&"parent"!==d||!e||(d=c.updateParentCheckStatus(e,"boolean"===layui.type(t)?t:null),layui.each(d,function(e,t){var a=i.find('tr[lay-data-index="'+t[z]+'"] input[name="layTableCheckbox"]:not(:disabled)'),n=t[l];c.setRowCheckedClass(a.closest("tr"),n),x.render(a.prop({checked:n,indeterminate:t[b]}))})),o=!(r=!0),0<(e=(e="all"===a.data.cascade?P.cache[n]:B.getData(n,!0)).filter(function(e){return!e[u.disabledName]})).length?layui.each(e,function(e,t){if((t[l]||t[b])&&(o=!0),t[l]||(r=!1),o&&!r)return!0}):r=!1,o=o&&!r,x.render(i.find('input[name="layTableCheckbox"][lay-filter="layTableAllChoose"]').prop({checked:r,indeterminate:o})),r)},a.prototype.updateParentCheckStatus=function(a,n){var i,e=this.getOptions(),t=e.tree,e=e.id,l=P.config.checkName,t=t.customName.children,d=[];return!(a[b]=!1)===n?a[t].length?layui.each(a[t],function(e,t){if(!t[l])return n=!1,a[b]=!0}):n=!1:!1===n?layui.each(a[t],function(e,t){if(t[l]||t[b])return a[b]=!0}):(n=!1,i=0,layui.each(a[t],function(e,t){t[l]&&i++}),n=a[t].length?a[t].length===i:a[l],a[b]=!n&&0')),n=(e.tree(a),i.elem=p(i.elem));if(n[0]){if(e.key=i.id||e.index,e.elem=a,e.elemNone=p('
      '+i.text.none+"
      "),n.html(e.elem),0==e.elem.find(".layui-tree-set").length)return e.elem.append(e.elemNone);i.showCheckbox&&e.renderForm("checkbox"),e.elem.find(".layui-tree-set").each(function(){var e=p(this);e.parent(".layui-tree-pack")[0]||e.addClass("layui-tree-setHide"),!e.next()[0]&&e.parents(".layui-tree-pack").eq(1).hasClass("layui-tree-lineExtend")&&e.addClass(T),e.next()[0]||e.parents(".layui-tree-set").eq(0).next()[0]||e.addClass(T)}),e.events()}},l.prototype.renderForm=function(e){i.render(e,"LAY-tree-"+this.index)},l.prototype.tree=function(r,e){var d=this,s=d.config,o=s.customName,e=e||s.data;layui.each(e,function(e,i){var a,n,t=i[o.children]&&0"),c=p(['
      ','
      ','
      ',s.showLine?t?'':'':'',s.showCheckbox?'':"",s.isJump&&i.href?''+(i[o.title]||i.label||s.text.defaultNodeName)+"":''+(i[o.title]||i.label||s.text.defaultNodeName)+"","
      ",s.edit?(a={add:'',update:'',del:''},n=['
      '],!0===s.edit&&(s.edit=["update","del"]),"object"==typeof s.edit?(layui.each(s.edit,function(e,i){n.push(a[i]||"")}),n.join("")+"
      "):void 0):"","
      "].join(""));t&&(c.append(l),d.tree(l,i[o.children])),r.append(c),c.prev("."+k)[0]&&c.prev().children(".layui-tree-pack").addClass("layui-tree-showLine"),t||c.parent(".layui-tree-pack").addClass("layui-tree-lineExtend"),d.spread(c,i),s.showCheckbox&&(i.checked&&d.checkids.push(i[o.id]),d.checkClick(c,i)),s.edit&&d.operate(c,i)})},l.prototype.spread=function(n,t){var l=this,c=l.config,e=n.children("."+b),i=e.children("."+g),a=i.find('input[same="layuiTreeCheck"]'),r=e.find("."+C),e=e.find("."+w),d=c.onlyIconControl?r:i,s="";d.on("click",function(e){var i=n.children("."+N),a=(d.children(".layui-icon")[0]?d:d.find(".layui-tree-icon")).children(".layui-icon");i[0]?n.hasClass(F)?(n.removeClass(F),i.slideUp(200),a.removeClass(x).addClass(v),l.updateFieldValue(t,"spread",!1)):(n.addClass(F),i.slideDown(200),a.addClass(x).removeClass(v),l.updateFieldValue(t,"spread",!0),c.accordion&&((i=n.siblings("."+k)).removeClass(F),i.children("."+N).slideUp(200),i.find(".layui-tree-icon").children(".layui-icon").removeClass(x).addClass(v))):s="normal"}),e.on("click",function(){p(this).hasClass(u)||(s=n.hasClass(F)?c.onlyIconControl?"open":"close":c.onlyIconControl?"close":"open",a[0]&&l.updateFieldValue(t,"checked",a.prop("checked")),c.click&&c.click({elem:n,state:s,data:t}))})},l.prototype.updateFieldValue=function(e,i,a){i in e&&(e[i]=a)},l.prototype.setCheckbox=function(e,i,a){var t,n=this,l=n.config.customName,c=a.prop("checked");a.prop("disabled")||("object"!=typeof i[l.children]&&!e.find("."+N)[0]||e.find("."+N).find('input[same="layuiTreeCheck"]').each(function(e){this.disabled||((e=i[l.children][e])&&n.updateFieldValue(e,"checked",c),n.updateFieldValue(this,"checked",c))}),(t=function(e){var i,a,n;e.parents("."+k)[0]&&(a=(e=e.parent("."+N)).parent(),n=e.prev().find('input[same="layuiTreeCheck"]'),c?n.prop("checked",c):(e.find('input[same="layuiTreeCheck"]').each(function(){this.checked&&(i=!0)}),i||n.prop("checked",!1)),t(a))})(e),n.renderForm("checkbox"))},l.prototype.checkClick=function(a,n){var t=this,l=t.config;a.children("."+b).children("."+g).on("click",'input[same="layuiTreeCheck"]+',function(e){layui.stope(e);var e=p(this).prev(),i=e.prop("checked");e.prop("disabled")||(t.setCheckbox(a,n,e),t.updateFieldValue(n,"checked",i),l.oncheck&&l.oncheck({elem:a,checked:i,data:n}))})},l.prototype.operate=function(r,d){var s=this,o=s.config,u=o.customName,e=r.children("."+b),h=e.children("."+g);e.children(".layui-tree-btnGroup").on("click",".layui-icon",function(e){layui.stope(e);var i,e=p(this).data("type"),n=r.children("."+N),t={data:d,type:e,elem:r};if("add"==e){n[0]||(o.showLine?(h.find("."+C).addClass("layui-tree-icon"),h.find("."+C).children(".layui-icon").addClass(v).removeClass("layui-icon-file")):h.find(".layui-tree-iconArrow").removeClass(m),r.append('
      '));var a,l=o.operate&&o.operate(t),c={};if(c[u.title]=o.text.defaultNodeName,c[u.id]=l,s.tree(r.children("."+N),[c]),o.showLine&&(n[0]?(n.hasClass(S)||n.addClass(S),r.find("."+N).each(function(){p(this).children("."+k).last().addClass(T)}),(n.children("."+k).last().prev().hasClass(T)?n.children("."+k).last().prev():n.children("."+k).last()).removeClass(T),!r.parent("."+N)[0]&&r.next()[0]&&n.children("."+k).last().removeClass(T)):(l=r.siblings("."+k),a=1,c=r.parent("."+N),layui.each(l,function(e,i){p(i).children("."+N)[0]||(a=0)}),(1==a?(l.children("."+N).addClass(L),l.children("."+N).children("."+k).removeClass(T),r.children("."+N).addClass(L),c.removeClass(S),c.children("."+k).last().children("."+N).children("."+k).last()):r.children("."+N).children("."+k)).addClass(T))),!o.showCheckbox)return;h.find('input[same="layuiTreeCheck"]')[0].checked&&(r.children("."+N).children("."+k).last().find('input[same="layuiTreeCheck"]')[0].checked=!0),s.renderForm("checkbox")}else"update"==e?(l=h.children("."+w).html(),h.children("."+w).html(""),h.append(''),h.children(".layui-tree-editInput").val(f.unescape(l)).focus(),i=function(e){var i=f.escape(e.val().trim())||o.text.defaultNodeName;e.remove(),h.children("."+w).html(i),t.data[u.title]=i,o.operate&&o.operate(t)},h.children(".layui-tree-editInput").blur(function(){i(p(this))}),h.children(".layui-tree-editInput").on("keydown",function(e){13===e.keyCode&&(e.preventDefault(),i(p(this)))})):y.confirm('\u786e\u8ba4\u5220\u9664\u8be5\u8282\u70b9 "'+(d[u.title]||"")+'" \u5417\uff1f',function(e){var l,a,i;o.operate&&o.operate(t),t.status="remove",y.close(e),r.prev("."+k)[0]||r.next("."+k)[0]||r.parent("."+N)[0]?(r.siblings("."+k).children("."+b)[0]?(o.showCheckbox&&(l=function(e){var i,a,n,t;e.parents("."+k)[0]&&(i=e.siblings("."+k).children("."+b),a=(e=e.parent("."+N).prev()).find('input[same="layuiTreeCheck"]')[0],n=1,(t=0)==a.checked)&&(i.each(function(e,i){i=p(i).find('input[same="layuiTreeCheck"]')[0];0!=i.checked||i.disabled||(n=0),i.disabled||(t=1)}),1==n)&&1==t&&(a.checked=!0,s.renderForm("checkbox"),l(e.parent("."+k)))})(r),o.showLine&&(e=r.siblings("."+k),a=1,i=r.parent("."+N),layui.each(e,function(e,i){p(i).children("."+N)[0]||(a=0)}),1==a?(n[0]||(i.removeClass(S),e.children("."+N).addClass(L),e.children("."+N).children("."+k).removeClass(T)),(r.next()[0]?i.children("."+k).last():r.prev()).children("."+N).children("."+k).last().addClass(T),r.next()[0]||r.parents("."+k)[1]||r.parents("."+k).eq(0).next()[0]||r.prev("."+k).addClass(T)):!r.next()[0]&&r.hasClass(T)&&r.prev().addClass(T))):(e=r.parent("."+N).prev(),o.showLine?(e.find("."+C).removeClass("layui-tree-icon"),e.find("."+C).children(".layui-icon").removeClass(x).addClass("layui-icon-file"),(i=e.parents("."+N).eq(0)).addClass(S),i.children("."+k).each(function(){p(this).children("."+N).children("."+k).last().addClass(T)})):e.find(".layui-tree-iconArrow").addClass(m),r.parents("."+k).eq(0).removeClass(F),r.parent("."+N).remove()),r.remove()):(r.remove(),s.elem.append(s.elemNone))})})},l.prototype.events=function(){var i=this,t=i.config;i.elem.find(".layui-tree-checkedFirst");i.setChecked(i.checkids),i.elem.find(".layui-tree-search").on("keyup",function(){var e=p(this),a=e.val(),e=e.nextAll(),n=[];e.find("."+w).each(function(){var i,e=p(this).parents("."+b);-1!=p(this).html().indexOf(a)&&(n.push(p(this).parent()),(i=function(e){e.addClass("layui-tree-searchShow"),e.parent("."+N)[0]&&i(e.parent("."+N).parent("."+k))})(e.parent("."+k)))}),e.find("."+b).each(function(){var e=p(this).parent("."+k);e.hasClass("layui-tree-searchShow")||e.addClass(m)}),0==e.find(".layui-tree-searchShow").length&&i.elem.append(i.elemNone),t.onsearch&&t.onsearch({elem:n})}),i.elem.find(".layui-tree-search").on("keydown",function(){p(this).nextAll().find("."+b).each(function(){p(this).parent("."+k).removeClass("layui-tree-searchShow "+m)}),p(".layui-tree-emptyText")[0]&&p(".layui-tree-emptyText").remove()})},l.prototype.getChecked=function(){var t=this,e=t.config,l=e.customName,i=[],a=[],c=(t.elem.find(".layui-form-checked").each(function(){i.push(p(this).prev()[0].value)}),function(e,n){layui.each(e,function(e,a){layui.each(i,function(e,i){if(a[l.id]==i)return t.updateFieldValue(a,"checked",!0),delete(i=p.extend({},a))[l.children],n.push(i),a[l.children]&&(i[l.children]=[],c(a[l.children],i[l.children])),!0})})});return c(p.extend({},e.data),a),a},l.prototype.setChecked=function(l){this.config;this.elem.find("."+k).each(function(e,i){var a=p(this).data("id"),n=p(i).children("."+b).find('input[same="layuiTreeCheck"]'),t=n.next();if("number"==typeof l){if(a.toString()==l.toString())return n[0].checked||t.click(),!1}else"object"==typeof l&&layui.each(l,function(e,i){if(i.toString()==a.toString()&&!n[0].checked)return t.click(),!0})})},n.that={},n.config={},t.reload=function(e,i){e=n.that[e];return e.reload(i),n.call(e)},t.getChecked=function(e){return n.that[e].getChecked()},t.setChecked=function(e,i){return n.that[e].setChecked(i)},t.render=function(e){e=new l(e);return n.call(e)},e(a,t)});layui.define(["laytpl","form"],function(e){"use strict";var d=layui.$,n=layui.laytpl,t=layui.form,a="transfer",i={config:{},index:layui[a]?layui[a].index+1e4:0,set:function(e){var t=this;return t.config=d.extend({},t.config,e),t},on:function(e,t){return layui.onevent.call(this,a,e,t)}},l=function(){var t=this,e=t.config,a=e.id||t.index;return l.that[a]=t,{config:l.config[a]=e,reload:function(e){t.reload.call(t,e)},getData:function(){return t.getData.call(t)}}},s="layui-hide",u="layui-btn-disabled",c="layui-none",r="layui-transfer-box",h="layui-transfer-header",o="layui-transfer-search",f="layui-transfer-data",y=function(e){return['
      ','
      ','","
      ","{{# if(d.data.showSearch){ }}",'","{{# } }}",'
        ',"
        "].join("")},p=['
        ',y({index:0,checkAllName:"layTransferLeftCheckAll"}),'
        ','",'","
        ",y({index:1,checkAllName:"layTransferRightCheckAll"}),"
        "].join(""),v=function(e){var t=this;t.index=++i.index,t.config=d.extend({},t.config,i.config,e),t.render()};v.prototype.config={title:["\u5217\u8868\u4e00","\u5217\u8868\u4e8c"],width:200,height:360,data:[],value:[],showSearch:!1,id:"",text:{none:"\u65e0\u6570\u636e",searchNone:"\u65e0\u5339\u914d\u6570\u636e"}},v.prototype.reload=function(e){var t=this;t.config=d.extend({},t.config,e),t.render()},v.prototype.render=function(){var e=this,t=e.config,a=e.elem=d(n(p,{open:"{{",close:"}}"}).render({data:t,index:e.index})),i=t.elem=d(t.elem);i[0]&&(t.data=t.data||[],t.value=t.value||[],t.id="id"in t?t.id:elem.attr("id")||e.index,e.key=t.id,i.html(e.elem),e.layBox=e.elem.find("."+r),e.layHeader=e.elem.find("."+h),e.laySearch=e.elem.find("."+o),e.layData=a.find("."+f),e.layBtn=a.find(".layui-transfer-active .layui-btn"),e.layBox.css({width:t.width,height:t.height}),e.layData.css({height:(i=t.height-e.layHeader.outerHeight(),t.showSearch&&(i-=e.laySearch.outerHeight()),i-2)}),e.renderData(),e.events())},v.prototype.renderData=function(){var e=this,t=e.config,l=[{checkName:"layTransferLeftCheck",views:[]},{checkName:"layTransferRightCheck",views:[]}];e.parseData(function(a){var i=a.selected?1:0,n=["
      • ",'',"
      • "].join("");i?layui.each(t.value,function(e,t){t==a.value&&a.selected&&(l[i].views[e]=n)}):l[i].views.push(n),delete a.selected}),e.layData.eq(0).html(l[0].views.join("")),e.layData.eq(1).html(l[1].views.join("")),e.renderCheckBtn()},v.prototype.renderForm=function(e){t.render(e,"LAY-transfer-"+this.index)},v.prototype.renderCheckBtn=function(c){var r=this,o=r.config;c=c||{},r.layBox.each(function(e){var t=d(this),a=t.find("."+f),t=t.find("."+h).find('input[type="checkbox"]'),i=a.find('input[type="checkbox"]'),n=0,l=!1;i.each(function(){var e=d(this).data("hide");(this.checked||this.disabled||e)&&n++,this.checked&&!e&&(l=!0)}),t.prop("checked",l&&n===i.length),r.layBtn.eq(e)[l?"removeClass":"addClass"](u),c.stopNone||(i=a.children("li:not(."+s+")").length,r.noneView(a,i?"":o.text.none))}),r.renderForm("checkbox")},v.prototype.noneView=function(e,t){var a=d('

        '+(t||"")+"

        ");e.find("."+c)[0]&&e.find("."+c).remove(),t.replace(/\s/g,"")&&e.append(a)},v.prototype.setValue=function(){var e=this.config,t=[];return this.layBox.eq(1).find("."+f+' input[type="checkbox"]').each(function(){d(this).data("hide")||t.push(this.value)}),e.value=t,this},v.prototype.parseData=function(t){var i=this.config,n=[];return layui.each(i.data,function(e,a){a=("function"==typeof i.parseData?i.parseData(a):a)||a,n.push(a=d.extend({},a)),layui.each(i.value,function(e,t){t==a.value&&(a.selected=!0)}),t&&t(a)}),i.data=n,this},v.prototype.getData=function(e){var t=this.config,i=[];return this.setValue(),layui.each(e||t.value,function(e,a){layui.each(t.data,function(e,t){delete t.selected,a==t.value&&i.push(t)})}),i},v.prototype.transfer=function(e,t){var a,i=this,n=i.config,l=i.layBox.eq(e),c=[],t=(t?((a=(t=t).find('input[type="checkbox"]'))[0].checked=!1,l.siblings("."+r).find("."+f).append(t.clone()),t.remove(),c.push(a[0].value),i.setValue()):l.each(function(e){d(this).find("."+f).children("li").each(function(){var e=d(this),t=e.find('input[type="checkbox"]'),a=t.data("hide");t[0].checked&&!a&&(t[0].checked=!1,l.siblings("."+r).find("."+f).append(e.clone()),e.remove(),c.push(t[0].value)),i.setValue()})}),i.renderCheckBtn(),l.siblings("."+r).find("."+o+" input"));""!==t.val()&&t.trigger("keyup"),n.onchange&&n.onchange(i.getData(c),e)},v.prototype.events=function(){var n=this,l=n.config;n.elem.on("click",'input[lay-filter="layTransferCheckbox"]+',function(){var e=d(this).prev(),t=e[0].checked,a=e.parents("."+r).eq(0).find("."+f);e[0].disabled||("all"===e.attr("lay-type")&&a.find('input[type="checkbox"]').each(function(){this.disabled||(this.checked=t)}),setTimeout(function(){n.renderCheckBtn({stopNone:!0})},0))}),n.elem.on("dblclick","."+f+">li",function(e){var t=d(this),a=t.children('input[type="checkbox"]'),i=t.parent().parent().data("index");a[0].disabled||!1!==("function"==typeof l.dblclick?l.dblclick({elem:t,data:n.getData([a[0].value])[0],index:i}):null)&&n.transfer(i,t)}),n.layBtn.on("click",function(){var e=d(this),t=e.data("index");e.hasClass(u)||n.transfer(t)}),n.laySearch.find("input").on("keyup",function(){var i=this.value,e=d(this).parents("."+o).eq(0).siblings("."+f),t=e.children("li"),t=(t.each(function(){var e=d(this),t=e.find('input[type="checkbox"]'),a=t[0].title,a=("cs"!==l.showSearch&&(a=a.toLowerCase(),i=i.toLowerCase()),-1!==a.indexOf(i));e[a?"removeClass":"addClass"](s),t.data("hide",!a)}),n.renderCheckBtn(),t.length===e.children("li."+s).length);n.noneView(e,t?l.text.searchNone:"")})},l.that={},l.config={},i.reload=function(e,t){e=l.that[e];return e.reload(t),l.call(e)},i.getData=function(e){return l.that[e].getData()},i.render=function(e){e=new v(e);return l.call(e)},e(a,i)});layui.define(["jquery","lay"],function(e){"use strict";var a=layui.$,l=layui.lay,t=(layui.hint(),layui.device(),{config:{},set:function(e){var i=this;return i.config=a.extend({},i.config,e),i},on:function(e,i){return layui.onevent.call(this,d,e,i)}}),d="carousel",r="layui-this",s="layui-carousel-left",u="layui-carousel-right",c="layui-carousel-prev",h="layui-carousel-next",o="layui-carousel-arrow",m="layui-carousel-ind",i=function(e){var i=this;i.config=a.extend({},i.config,t.config,e),i.render()};i.prototype.config={width:"600px",height:"280px",full:!1,arrow:"hover",indicator:"inside",autoplay:!0,interval:3e3,anim:"",trigger:"click",index:0},i.prototype.render=function(){var e=this,i=e.config,n=a(i.elem);if(1*[carousel-item]>*"),i.index<0&&(i.index=0),i.index>=e.elemItem.length&&(i.index=e.elemItem.length-1),i.interval<800&&(i.interval=800),i.full?i.elem.css({position:"fixed",width:"100%",height:"100%",zIndex:9999}):i.elem.css({width:i.width,height:i.height}),i.elem.attr("lay-anim",i.anim),e.elemItem.eq(i.index).addClass(r),e.elemItem.length<=1||(e.indicator(),e.arrow(),e.autoplay(),e.events()))},i.prototype.reload=function(e){var i=this;clearInterval(i.timer),i.config=a.extend({},i.config,e),i.render()},i.prototype.prevIndex=function(){var e=this.config.index-1;return e=e<0?this.elemItem.length-1:e},i.prototype.nextIndex=function(){var e=this.config.index+1;return e=e>=this.elemItem.length?0:e},i.prototype.addIndex=function(e){var i=this.config;i.index=i.index+(e=e||1),i.index>=this.elemItem.length&&(i.index=0)},i.prototype.subIndex=function(e){var i=this.config;i.index=i.index-(e=e||1),i.index<0&&(i.index=this.elemItem.length-1)},i.prototype.autoplay=function(){var e=this,i=e.config;i.autoplay&&(clearInterval(e.timer),e.timer=setInterval(function(){e.slide()},i.interval))},i.prototype.arrow=function(){var i=this,e=i.config,n=a(['',''].join(""));e.elem.attr("lay-arrow",e.arrow),e.elem.find("."+o)[0]&&e.elem.find("."+o).remove(),e.elem.append(n),n.on("click",function(){var e=a(this).attr("lay-type");i.slide(e)})},i.prototype["goto"]=function(e){var i=this,n=i.config;e>n.index?i.slide("add",e-n.index):e
          ',(i=[],layui.each(e.elemItem,function(e){i.push("")}),i.join("")),"
        "].join(""));n.elem.attr("lay-indicator",n.indicator),n.elem.find("."+m)[0]&&n.elem.find("."+m).remove(),n.elem.append(t),"updown"===n.anim&&t.css("margin-top",-t.height()/2),t.find("li").on("hover"===n.trigger?"mouseover":n.trigger,function(){e["goto"](a(this).index())})},i.prototype.slide=function(e,i){var n=this,t=n.elemItem,a=n.config,o=a.index,l=a.elem.attr("lay-filter");n.haveSlide||("sub"===e?(n.subIndex(i),t.eq(a.index).addClass(c),setTimeout(function(){t.eq(o).addClass(u),t.eq(a.index).addClass(u)},50)):(n.addIndex(i),t.eq(a.index).addClass(h),setTimeout(function(){t.eq(o).addClass(s),t.eq(a.index).addClass(s)},50)),setTimeout(function(){t.removeClass(r+" "+c+" "+h+" "+s+" "+u),t.eq(a.index).addClass(r),n.haveSlide=!1},350),n.elemInd.find("li").eq(a.index).addClass(r).siblings().removeClass(r),n.haveSlide=!0,e={index:a.index,prevIndex:o,item:t.eq(a.index)},"function"==typeof a.change&&a.change(e),layui.event.call(this,d,"change("+l+")",e))},i.prototype.events=function(){var t,a,o=this,e=o.config;e.elem.data("haveEvents")||(e.elem.on("mouseenter touchstart",function(){"always"!==o.config.autoplay&&clearInterval(o.timer)}).on("mouseleave touchend",function(){"always"!==o.config.autoplay&&o.autoplay()}),t=e.elem,a="updown"===e.anim,l.touchSwipe(t,{onTouchEnd:function(e,i){var n=Date.now()-i.timeStart,i=a?i.distanceY:i.distanceX;(.25t[a?"height":"width"]()/3)&&o.slide(0a.length&&(a.value=a.length),parseInt(a.value)===a.value||a.half||(a.value=Math.ceil(a.value)-a.value<.5?Math.ceil(a.value):Math.floor(a.value)),'
          "),n=1;n<=a.length;n++){var o='
        • ";a.half&&parseInt(a.value)!==a.value&&n==Math.ceil(a.value)?i=i+'
        • ":i+=o}i+="
        "+(a.text?''+a.value+"\u661f":"")+"";var l=a.elem,s=l.next(".layui-rate");s[0]&&s.remove(),e.elemTemp=u(i),a.span=e.elemTemp.next("span"),a.setText&&a.setText(a.value),l.html(e.elemTemp),l.addClass("layui-inline"),a.readonly||e.action()},a.prototype.setvalue=function(e){this.config.value=e,this.render()},a.prototype.action=function(){var n=this.config,t=this.elemTemp,i=t.find("i").width(),l=t.children("li");l.each(function(e){var a=e+1,l=u(this);l.on("click",function(e){n.value=a,n.half&&e.pageX-u(this).offset().left<=i/2&&(n.value=n.value-.5),n.text&&t.next("span").text(n.value+"\u661f"),n.choose&&n.choose(n.value),n.setText&&n.setText(n.value)}),l.on("mousemove",function(e){t.find("i").each(function(){u(this).addClass(h).removeClass(s)}),t.find("i:lt("+a+")").each(function(){u(this).addClass(f).removeClass(v)}),n.half&&e.pageX-u(this).offset().left<=i/2&&l.children("i").addClass(o).removeClass(f)}),l.on("mouseleave",function(){t.find("i").each(function(){u(this).addClass(h).removeClass(s)}),t.find("i:lt("+Math.floor(n.value)+")").each(function(){u(this).addClass(f).removeClass(v)}),n.half&&parseInt(n.value)!==n.value&&t.children("li:eq("+Math.floor(n.value)+")").children("i").addClass(o).removeClass("layui-icon-rate-solid layui-icon-rate")})}),r.touchSwipe(t,{onTouchMove:function(e,a){var i;Date.now()-a.timeStart<=200||(a=e.touches[0].pageX,e=t.width()/n.length,a=(a-t.offset().left)/e,(i=(i=(e=a%1)<=.5&&n.half?.5+(a-e):Math.ceil(a))>n.length?n.length:i)<0&&(i=0),l.each(function(e){var a=u(this).children("i"),l=Math.ceil(i)-e==1,t=Math.ceil(i)>e,e=i-e==.5;t?(a.addClass(f).removeClass(v),n.half&&e&&a.addClass(o).removeClass(f)):a.addClass(h).removeClass(s),a.toggleClass("layui-rate-hover",l)}),n.value=i,n.text&&t.next("span").text(n.value+"\u661f"),n.setText&&n.setText(n.value))},onTouchEnd:function(e,a){Date.now()-a.timeStart<=200||(t.find("i").removeClass("layui-rate-hover"),n.choose&&n.choose(n.value),n.setText&&n.setText(n.value))}})},a.prototype.events=function(){},c.render=function(e){e=new a(e);return function(){var a=this;return{setvalue:function(e){a.setvalue.call(a,e)},config:a.config}}.call(e)},e(l,c)});layui.define("jquery",function(o){"use strict";var w=layui.$,l=function(o){};l.prototype.load=function(o){var i,n,r,l,c,m,e,t,a,f,s,u,p,d,y,h=this,g=0,v=w((o=o||{}).elem);if(v[0])return c=w(o.scrollElem||document),m="mb"in o?o.mb:50,e=!("isAuto"in o)||o.isAuto,t=o.moreText||"\u52a0\u8f7d\u66f4\u591a",a=o.end||"\u6ca1\u6709\u66f4\u591a\u4e86",f="top"===(o.direction||"bottom"),h._cleanup(v,c),s=o.scrollElem&&o.scrollElem!==document,p=w('"),v.find(".layui-flow-more")[0]||v[f?"prepend":"append"](p),d=function(o,l){var e=s?c.prop("scrollHeight"):document.documentElement.scrollHeight,t=c.scrollTop();o=w(o),p[f?"after":"before"](o),(l=0==l||null)?p.html(a):p.find("a").html(u),n=l,i=null,r&&r(),f&&(o=s?c.prop("scrollHeight"):document.documentElement.scrollHeight,1===g?c.scrollTop(o):1'),"function"==typeof o.done&&o.done(++g,d)})(),p.find("a").on("click.flow",function(){w(this);n||i||y()}),o.isLazyimg&&(r=h.lazyimg({elem:o.elem+" img",scrollElem:o.scrollElem,direction:o.direction})),e&&c.on("scroll.flow",function(){var e=w(this),t=e.scrollTop();l&&clearTimeout(l),!n&&v.width()&&(l=setTimeout(function(){var o=(s?e:w(window)).height(),l=s?e.prop("scrollHeight"):document.documentElement.scrollHeight;(f?t<=m:l-t-o<=m)&&!i&&y()},100))}),h},l.prototype.lazyimg=function(o){var l,m=this,a=0,f=w((o=o||{}).scrollElem||document),s=o.elem||"img",n="top"===(o.direction||"bottom"),u=o.scrollElem&&o.scrollElem!==document,p=function(l,o){var e,t=f.scrollTop(),o=t+o,i=u?l.offset().top-f.offset().top+t:l.offset().top;(n?i+l.height():i)>=t&&i<=o&&l.attr("lay-src")&&(e=l.attr("lay-src"),layui.img(e,function(){var o=m.lazyimg.elem.eq(a);l.attr("src",e).removeAttr("lay-src"),o[0]&&r(o),a++},function(){m.lazyimg.elem.eq(a);l.removeAttr("lay-src")}))},r=function(o,l){var e=(u?l||f:w(window)).height(),t=f.scrollTop(),i=t+e;if(m.lazyimg.elem=w(s),o)p(o,e);else for(var n=0;n"),preview:"Preview"},wordWrap:!0,lang:"text",highlighter:!1,langMarker:!1},W=layui.code?layui.code.index+1e4:0,R=function(e){return String(e).replace(/\s+$/,"").replace(/^\n|\n$/,"")};e("code",function(l,e){var o,i,t,a,n,d,c,s,r,u,y,p,E,f,h,v,m,L,_,M,C,g={config:l=x.extend(!0,{},T,l),reload:function(e){layui.code(this.updateOptions(e))},updateOptions:function(e){return delete(e=e||{}).elem,x.extend(!0,l,e)},reloadCode:function(e){layui.code(this.updateOptions(e),"reloadCode")}},w=x(l.elem);return 1',l.ln?['
        ',D.digit(t+1)+".","
        "].join(""):"",'
        ',e||" ","
        ",""].join("")})}},a=l.code,n=function(e){return"function"==typeof l.codeParse?l.codeParse(e,l):e},"reloadCode"===e?o.children(".layui-code-wrap").html(w(n(a)).html):(d=layui.code.index=++W,o.attr("lay-code-index",d),(M=A.CDDE_DATA_CLASS in o.data())&&o.attr("class",o.data(A.CDDE_DATA_CLASS)||""),M||o.data(A.CDDE_DATA_CLASS,o.attr("class")),c={copy:{className:"file-b",title:["\u590d\u5236\u4ee3\u7801"],event:function(e){var t=D.unescape(n(l.code));lay.clipboard.writeText({text:t,done:function(){N.msg("\u5df2\u590d\u5236",{icon:1})},error:function(){N.msg("\u590d\u5236\u5931\u8d25",{icon:2})}}),"function"==typeof l.onCopy&&l.onCopy(t)}}},function b(){var e=o.parent("."+A.ELEM_PREVIEW),t=e.children("."+A.ELEM_TAB),a=e.children("."+A.ELEM_ITEM+"-preview");return t.remove(),a.remove(),e[0]&&o.unwrap(),b}(),l.preview&&(M="LAY-CODE-DF-"+d,f=l.layout||["code","preview"],s="iframe"===l.preview,E=x('
        '),C=x('
        '),r=x('
        '),_=x('
        '),u=x('
        '),l.id&&E.attr("id",l.id),E.addClass(l.className),C.attr("lay-filter",M),layui.each(f,function(e,t){var a=x('
      • ');0===e&&a.addClass("layui-this"),a.html(l.text[t]),r.append(a)}),x.extend(c,{full:{className:"screen-full",title:["\u6700\u5927\u5316\u663e\u793a","\u8fd8\u539f\u663e\u793a"],event:function(e){var e=e.elem,t=e.closest("."+A.ELEM_PREVIEW),a="layui-icon-"+this.className,i="layui-icon-screen-restore",l=this.title,o=x("html,body"),n="layui-scrollbar-hide";e.hasClass(a)?(t.addClass(A.ELEM_FULL),e.removeClass(a).addClass(i),e.attr("title",l[1]),o.addClass(n)):(t.removeClass(A.ELEM_FULL),e.removeClass(i).addClass(a),e.attr("title",l[0]),o.removeClass(n))}},window:{className:"release",title:["\u5728\u65b0\u7a97\u53e3\u9884\u89c8"],event:function(e){D.openWin({content:n(l.code)})}}}),l.copy&&("array"===layui.type(l.tools)?-1===l.tools.indexOf("copy")&&l.tools.unshift("copy"):l.tools=["copy"]),u.on("click",">i",function(){var e=x(this),t=e.data("type"),e={elem:e,type:t,options:l,rawCode:l.code,finalCode:D.unescape(n(l.code))};c[t]&&"function"==typeof c[t].event&&c[t].event(e),"function"==typeof l.toolsEvent&&l.toolsEvent(e)}),l.addTools&&l.tools&&(l.tools=[].concat(l.tools,l.addTools)),layui.each(l.tools,function(e,t){var a="object"==typeof t,i=a?t:c[t]||{className:t,title:[t]},l=i.className||i.type,o=i.title||[""],a=a?i.type||l:t;a&&(c[a]||((t={})[a]=i,x.extend(c,t)),u.append(''))}),o.addClass(A.ELEM_ITEM).wrap(E),C.append(r),l.tools&&C.append(u),o.before(C),s&&_.html(''),y=function(e){var t=e.children("iframe")[0];s&&t?t.srcdoc=n(l.code):e.html(l.code),setTimeout(function(){"function"==typeof l.done&&l.done({container:e,options:l,render:function(){I.render(e.find(".layui-form")),S.render()}})},3)},"preview"===f[0]?(_.addClass(A.ELEM_SHOW),o.before(_),y(_)):o.addClass(A.ELEM_SHOW).after(_),l.previewStyle=[l.style,l.previewStyle].join(""),_.attr("style",l.previewStyle),S.on("tab("+M+")",function(e){var t=x(this),a=x(e.elem).closest("."+A.ELEM_PREVIEW).find("."+A.ELEM_ITEM),e=a.eq(e.index);a.removeClass(A.ELEM_SHOW),e.addClass(A.ELEM_SHOW),"preview"===t.attr("lay-id")&&y(e),L()})),p=x(''),o.addClass((E=["layui-code-view layui-border-box"],l.wordWrap||E.push("layui-code-nowrap"),E.join(" "))),(C=l.theme||l.skin)&&(o.removeClass("layui-code-theme-dark layui-code-theme-light"),o.addClass("layui-code-theme-"+C)),l.highlighter&&o.addClass([l.highlighter,"language-"+l.lang,"layui-code-hl"].join(" ")),f=w(l.encode?D.escape(n(a)):a),h=f.lines,o.html(p.html(f.html)),l.ln&&o.append('
        '),l.height&&p.css("max-height",l.height),l.codeStyle=[l.style,l.codeStyle].join(""),l.codeStyle&&p.attr("style",function(e,t){return(t||"")+l.codeStyle}),v=[{selector:">.layui-code-wrap>.layui-code-line{}",setValue:function(e,t){e.style["padding-left"]=t+"px"}},{selector:">.layui-code-wrap>.layui-code-line>.layui-code-line-number{}",setValue:function(e,t){e.style.width=t+"px"}},{selector:">.layui-code-ln-side{}",setValue:function(e,t){e.style.width=t+"px"}}],m=lay.style({target:o[0],id:"DF-code-"+d,text:x.map(x.map(v,function(e){return e.selector}),function(e,t){return['.layui-code-view[lay-code-index="'+d+'"]',e].join(" ")}).join("")}),L=function b(){var e,i;return l.ln&&(e=Math.floor(h.length/100),i=p.children("."+A.ELEM_LINE).last().children("."+A.ELEM_LINE_NUM).outerWidth(),o.addClass(A.ELEM_LN_MODE),e)&&A.LINE_RAW_WIDTH
      • ')).html(l.title||l.text.code),o.prepend(_)),M=x('
        '),l.copy&&!l.preview&&((C=x(['','',""].join(""))).on("click",function(){c.copy.event()}),M.append(C)),l.langMarker&&M.append(''+l.lang+""),l.about&&M.append(l.about),o.append(M),l.preview||setTimeout(function(){"function"==typeof l.done&&l.done({})},3),l.elem.length===1+d&&"function"==typeof l.allDone&&l.allDone())),g})}),layui["layui.all"]||layui.addcss("modules/code.css?v=6","skincodecss"); \ No newline at end of file diff --git a/public/rtc/md5.js b/public/rtc/md5.js new file mode 100644 index 00000000..2ce0d4d7 --- /dev/null +++ b/public/rtc/md5.js @@ -0,0 +1,184 @@ +function md5(string) { + function md5_RotateLeft(lValue, iShiftBits) { + return (lValue << iShiftBits) | (lValue >>> (32 - iShiftBits)); + } + function md5_AddUnsigned(lX, lY) { + var lX4, lY4, lX8, lY8, lResult; + lX8 = (lX & 0x80000000); + lY8 = (lY & 0x80000000); + lX4 = (lX & 0x40000000); + lY4 = (lY & 0x40000000); + lResult = (lX & 0x3FFFFFFF) + (lY & 0x3FFFFFFF); + if (lX4 & lY4) { + return (lResult ^ 0x80000000 ^ lX8 ^ lY8); + } + if (lX4 | lY4) { + if (lResult & 0x40000000) { + return (lResult ^ 0xC0000000 ^ lX8 ^ lY8); + } else { + return (lResult ^ 0x40000000 ^ lX8 ^ lY8); + } + } else { + return (lResult ^ lX8 ^ lY8); + } + } + function md5_F(x, y, z) { + return (x & y) | ((~x) & z); + } + function md5_G(x, y, z) { + return (x & z) | (y & (~z)); + } + function md5_H(x, y, z) { + return (x ^ y ^ z); + } + function md5_I(x, y, z) { + return (y ^ (x | (~z))); + } + function md5_FF(a, b, c, d, x, s, ac) { + a = md5_AddUnsigned(a, md5_AddUnsigned(md5_AddUnsigned(md5_F(b, c, d), x), ac)); + return md5_AddUnsigned(md5_RotateLeft(a, s), b); + }; + function md5_GG(a, b, c, d, x, s, ac) { + a = md5_AddUnsigned(a, md5_AddUnsigned(md5_AddUnsigned(md5_G(b, c, d), x), ac)); + return md5_AddUnsigned(md5_RotateLeft(a, s), b); + }; + function md5_HH(a, b, c, d, x, s, ac) { + a = md5_AddUnsigned(a, md5_AddUnsigned(md5_AddUnsigned(md5_H(b, c, d), x), ac)); + return md5_AddUnsigned(md5_RotateLeft(a, s), b); + }; + function md5_II(a, b, c, d, x, s, ac) { + a = md5_AddUnsigned(a, md5_AddUnsigned(md5_AddUnsigned(md5_I(b, c, d), x), ac)); + return md5_AddUnsigned(md5_RotateLeft(a, s), b); + }; + function md5_ConvertToWordArray(string) { + var lWordCount; + var lMessageLength = string.length; + var lNumberOfWords_temp1 = lMessageLength + 8; + var lNumberOfWords_temp2 = (lNumberOfWords_temp1 - (lNumberOfWords_temp1 % 64)) / 64; + var lNumberOfWords = (lNumberOfWords_temp2 + 1) * 16; + var lWordArray = Array(lNumberOfWords - 1); + var lBytePosition = 0; + var lByteCount = 0; + while (lByteCount < lMessageLength) { + lWordCount = (lByteCount - (lByteCount % 4)) / 4; + lBytePosition = (lByteCount % 4) * 8; + lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount) << lBytePosition)); + lByteCount++; + } + lWordCount = (lByteCount - (lByteCount % 4)) / 4; + lBytePosition = (lByteCount % 4) * 8; + lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80 << lBytePosition); + lWordArray[lNumberOfWords - 2] = lMessageLength << 3; + lWordArray[lNumberOfWords - 1] = lMessageLength >>> 29; + return lWordArray; + }; + function md5_WordToHex(lValue) { + var WordToHexValue = "", WordToHexValue_temp = "", lByte, lCount; + for (lCount = 0; lCount <= 3; lCount++) { + lByte = (lValue >>> (lCount * 8)) & 255; + WordToHexValue_temp = "0" + lByte.toString(16); + WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length - 2, 2); + } + return WordToHexValue; + }; + function md5_Utf8Encode(string) { + string = string.replace(/\r\n/g, "\n"); + var utftext = ""; + for (var n = 0; n < string.length; n++) { + var c = string.charCodeAt(n); + if (c < 128) { + utftext += String.fromCharCode(c); + } else if ((c > 127) && (c < 2048)) { + utftext += String.fromCharCode((c >> 6) | 192); + utftext += String.fromCharCode((c & 63) | 128); + } else { + utftext += String.fromCharCode((c >> 12) | 224); + utftext += String.fromCharCode(((c >> 6) & 63) | 128); + utftext += String.fromCharCode((c & 63) | 128); + } + } + return utftext; + }; + var x = Array(); + var k, AA, BB, CC, DD, a, b, c, d; + var S11 = 7, S12 = 12, S13 = 17, S14 = 22; + var S21 = 5, S22 = 9, S23 = 14, S24 = 20; + var S31 = 4, S32 = 11, S33 = 16, S34 = 23; + var S41 = 6, S42 = 10, S43 = 15, S44 = 21; + string = md5_Utf8Encode(string); + x = md5_ConvertToWordArray(string); + a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476; + for (k = 0; k < x.length; k += 16) { + AA = a; BB = b; CC = c; DD = d; + a = md5_FF(a, b, c, d, x[k + 0], S11, 0xD76AA478); + d = md5_FF(d, a, b, c, x[k + 1], S12, 0xE8C7B756); + c = md5_FF(c, d, a, b, x[k + 2], S13, 0x242070DB); + b = md5_FF(b, c, d, a, x[k + 3], S14, 0xC1BDCEEE); + a = md5_FF(a, b, c, d, x[k + 4], S11, 0xF57C0FAF); + d = md5_FF(d, a, b, c, x[k + 5], S12, 0x4787C62A); + c = md5_FF(c, d, a, b, x[k + 6], S13, 0xA8304613); + b = md5_FF(b, c, d, a, x[k + 7], S14, 0xFD469501); + a = md5_FF(a, b, c, d, x[k + 8], S11, 0x698098D8); + d = md5_FF(d, a, b, c, x[k + 9], S12, 0x8B44F7AF); + c = md5_FF(c, d, a, b, x[k + 10], S13, 0xFFFF5BB1); + b = md5_FF(b, c, d, a, x[k + 11], S14, 0x895CD7BE); + a = md5_FF(a, b, c, d, x[k + 12], S11, 0x6B901122); + d = md5_FF(d, a, b, c, x[k + 13], S12, 0xFD987193); + c = md5_FF(c, d, a, b, x[k + 14], S13, 0xA679438E); + b = md5_FF(b, c, d, a, x[k + 15], S14, 0x49B40821); + a = md5_GG(a, b, c, d, x[k + 1], S21, 0xF61E2562); + d = md5_GG(d, a, b, c, x[k + 6], S22, 0xC040B340); + c = md5_GG(c, d, a, b, x[k + 11], S23, 0x265E5A51); + b = md5_GG(b, c, d, a, x[k + 0], S24, 0xE9B6C7AA); + a = md5_GG(a, b, c, d, x[k + 5], S21, 0xD62F105D); + d = md5_GG(d, a, b, c, x[k + 10], S22, 0x2441453); + c = md5_GG(c, d, a, b, x[k + 15], S23, 0xD8A1E681); + b = md5_GG(b, c, d, a, x[k + 4], S24, 0xE7D3FBC8); + a = md5_GG(a, b, c, d, x[k + 9], S21, 0x21E1CDE6); + d = md5_GG(d, a, b, c, x[k + 14], S22, 0xC33707D6); + c = md5_GG(c, d, a, b, x[k + 3], S23, 0xF4D50D87); + b = md5_GG(b, c, d, a, x[k + 8], S24, 0x455A14ED); + a = md5_GG(a, b, c, d, x[k + 13], S21, 0xA9E3E905); + d = md5_GG(d, a, b, c, x[k + 2], S22, 0xFCEFA3F8); + c = md5_GG(c, d, a, b, x[k + 7], S23, 0x676F02D9); + b = md5_GG(b, c, d, a, x[k + 12], S24, 0x8D2A4C8A); + a = md5_HH(a, b, c, d, x[k + 5], S31, 0xFFFA3942); + d = md5_HH(d, a, b, c, x[k + 8], S32, 0x8771F681); + c = md5_HH(c, d, a, b, x[k + 11], S33, 0x6D9D6122); + b = md5_HH(b, c, d, a, x[k + 14], S34, 0xFDE5380C); + a = md5_HH(a, b, c, d, x[k + 1], S31, 0xA4BEEA44); + d = md5_HH(d, a, b, c, x[k + 4], S32, 0x4BDECFA9); + c = md5_HH(c, d, a, b, x[k + 7], S33, 0xF6BB4B60); + b = md5_HH(b, c, d, a, x[k + 10], S34, 0xBEBFBC70); + a = md5_HH(a, b, c, d, x[k + 13], S31, 0x289B7EC6); + d = md5_HH(d, a, b, c, x[k + 0], S32, 0xEAA127FA); + c = md5_HH(c, d, a, b, x[k + 3], S33, 0xD4EF3085); + b = md5_HH(b, c, d, a, x[k + 6], S34, 0x4881D05); + a = md5_HH(a, b, c, d, x[k + 9], S31, 0xD9D4D039); + d = md5_HH(d, a, b, c, x[k + 12], S32, 0xE6DB99E5); + c = md5_HH(c, d, a, b, x[k + 15], S33, 0x1FA27CF8); + b = md5_HH(b, c, d, a, x[k + 2], S34, 0xC4AC5665); + a = md5_II(a, b, c, d, x[k + 0], S41, 0xF4292244); + d = md5_II(d, a, b, c, x[k + 7], S42, 0x432AFF97); + c = md5_II(c, d, a, b, x[k + 14], S43, 0xAB9423A7); + b = md5_II(b, c, d, a, x[k + 5], S44, 0xFC93A039); + a = md5_II(a, b, c, d, x[k + 12], S41, 0x655B59C3); + d = md5_II(d, a, b, c, x[k + 3], S42, 0x8F0CCC92); + c = md5_II(c, d, a, b, x[k + 10], S43, 0xFFEFF47D); + b = md5_II(b, c, d, a, x[k + 1], S44, 0x85845DD1); + a = md5_II(a, b, c, d, x[k + 8], S41, 0x6FA87E4F); + d = md5_II(d, a, b, c, x[k + 15], S42, 0xFE2CE6E0); + c = md5_II(c, d, a, b, x[k + 6], S43, 0xA3014314); + b = md5_II(b, c, d, a, x[k + 13], S44, 0x4E0811A1); + a = md5_II(a, b, c, d, x[k + 4], S41, 0xF7537E82); + d = md5_II(d, a, b, c, x[k + 11], S42, 0xBD3AF235); + c = md5_II(c, d, a, b, x[k + 2], S43, 0x2AD7D2BB); + b = md5_II(b, c, d, a, x[k + 9], S44, 0xEB86D391); + a = md5_AddUnsigned(a, AA); + b = md5_AddUnsigned(b, BB); + c = md5_AddUnsigned(c, CC); + d = md5_AddUnsigned(d, DD); + } + return (md5_WordToHex(a) + md5_WordToHex(b) + md5_WordToHex(c) + md5_WordToHex(d)).toLowerCase(); +} + diff --git a/public/rtc/moveDeviceVideoOne.html b/public/rtc/moveDeviceVideoOne.html new file mode 100644 index 00000000..94039511 --- /dev/null +++ b/public/rtc/moveDeviceVideoOne.html @@ -0,0 +1,102 @@ + + + + + 视频查看 + + + + + + + + + + + + + + +
        +
        + + REC +
        + +
        +

        丢包率:0(%)

        +

        接收码率:0(Kbps)

        +

        渲染帧率:0(fps)

        +

        播放总时间:0(s)

        +

        卡顿总时间:0(s)

        +

        传输延时:0(ms)

        +
        +
        +
        +
        + +
        + +
        +

        + + +

        +
        + + +
        +

        视频关闭中...

        +

        正在努力关闭视频中,还需

        +

        + + +

        +
        + + +
        +
        + +

        + 保存 + +

        +
        +
        + + + + + + + \ No newline at end of file diff --git a/public/rtc/videoMoitorShow.html b/public/rtc/videoMoitorShow.html new file mode 100644 index 00000000..349c9cec --- /dev/null +++ b/public/rtc/videoMoitorShow.html @@ -0,0 +1,100 @@ + + + + 视频查看 + + + + + + + + + + + + + +
        +
        + + REC +
        + +
        +

        丢包率:0(%)

        +

        接收码率:0(Kbps)

        +

        渲染帧率:0(fps)

        +

        播放总时间:0(s)

        +

        卡顿总时间:0(s)

        +

        传输延时:0(ms)

        +
        + +
        +
        + + +
        + +
        + +
        + + +
        +

        视频关闭中...

        +

        正在努力关闭视频中,还需

        +

        +
        + + +
        +
        + +

        + 保存 + +

        +
        +
        + + + + + + diff --git a/public/rtc/walkBgVideo.png b/public/rtc/walkBgVideo.png new file mode 100644 index 0000000000000000000000000000000000000000..2e415c8ee317ecfdb09f765a3a18ce4a82ab092c GIT binary patch literal 28085 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 { // iWidth: 600, // iHeight: 400, szId: 'player', //需要英文字母开头,唯一性,必填 - szBasePath: './', // 必填,与h5player.min.js的引用目录一致 + szBasePath: '/haikang', // 必填,与h5player.min.js的引用目录一致 iMaxSplit: 1, // 分屏播放,默认最大分屏4*4 iCurrentSplit: IS_MOVE_DEVICE ? 1 : 2, openDebug: true, @@ -45,11 +45,6 @@ onMounted(() => { }, bSupporDoubleClickFull: true, //是否支持双击全屏,默认true }) - myPlugin - .JS_SetWindowControlCallback({ - pluginErrorHandler: function (index: any, iErrorCode: any, oError: any) {}, - }) - .then((res: any) => {}) var controlIndex = 2 function playVideo() { diff --git a/src/views/page/index.vue b/src/views/page/index.vue index 9d29d187..efa8f645 100644 --- a/src/views/page/index.vue +++ b/src/views/page/index.vue @@ -26,6 +26,8 @@
        + +
        -