1 |
- (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-743c3027"],{"588c":function(e,t,s){"use strict";s("c275")},a55b:function(e,t,s){"use strict";s.r(t);var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"container",style:{backgroundImage:`url(${e.bg})`}},[t("div",{staticClass:"back"},[t("Button",{attrs:{type:"primary"},on:{click:function(t){return e.$router.back()}}},[e._v("返回")])],1),t("div",{staticClass:"tracking-wrap"},[t("img",{staticClass:"border",attrs:{src:e.border,alt:""}}),t("div",{staticClass:"tracking",style:{opacity:0===e.tabIndex?"1":"0"}},[t("video",{attrs:{id:"video",width:"620",height:"460",preload:"",autoplay:"",loop:"",muted:""},domProps:{muted:!0}}),t("canvas",{attrs:{id:"canvas",width:"620",height:"460"}})])]),t("div",{staticClass:"tabs",staticStyle:{display:"none"}},e._l(e.tabs,(function(s,a){return t("div",{key:a,staticClass:"tab",class:e.tabIndex===a?"active":"",on:{click:function(t){return e.tabHandle(a)}}},[t("Icon",{attrs:{type:s.icon,size:"80",color:"#fff"}}),t("span",{staticClass:"label"},[e._v(e._s("扫码登录"===s.text&&e.isUpdateFace?"人脸录入":s.text))])],1)})),0),e.isUpdateFace?t("div",{staticClass:"update-face"},[e._v(" 人脸录入中... ")]):e._e(),t("div",{staticClass:"form",style:{opacity:1===e.tabIndex?"1":"0"},on:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.enterHandle.apply(null,arguments)}}},[t("div",{staticClass:"title"},[e._v("登录")]),t("div",{staticClass:"content"},[t("Form",{ref:"form",attrs:{model:e.form,rules:e.rules}},[t("FormItem",{attrs:{prop:"user"}},[t("Input",{attrs:{type:"text",placeholder:"请输入用户"},model:{value:e.form.account,callback:function(t){e.$set(e.form,"account",t)},expression:"form.account"}},[t("Icon",{attrs:{slot:"prepend",type:"ios-person-outline"},slot:"prepend"})],1)],1),t("FormItem",{attrs:{prop:"pwd"}},[t("Input",{attrs:{type:"password",placeholder:"请输入密码"},model:{value:e.form.password,callback:function(t){e.$set(e.form,"password",t)},expression:"form.password"}},[t("Icon",{attrs:{slot:"prepend",type:"ios-lock-outline"},slot:"prepend"})],1)],1)],1)],1),t("div",{staticClass:"btn"},[t("Button",{attrs:{type:"primary"},on:{click:e.login}},[e._v("密码登录")])],1)])])},i=[],r=(s("3b08"),s("8d4f"),s("9dae"),s("5723")),o=s("4fcb"),n=s("a396"),c=s.n(n),l=s("3625"),d=s.n(l),p={name:"Home",data(){return{loginTimer:null,saveFaceTimer:null,tabIndex:1,tabs:[{icon:"md-qr-scanner",text:"扫码登录"},{icon:"ios-contact-outline",text:"账户登录"}],type:"",form:{account:"",password:""},rules:{account:[{required:!0,message:"请输入用户",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"}]},border:c.a,bg:d.a,trackerTask:null,tracking:!0,isUpdateFace:!1,video:null}},methods:{enterHandle(){this.login()},login(){this.$refs.form.validate(e=>{e&&Object(r["b"])(this.form).then(e=>{0===e.code&&(this.$store.commit("setToken",e.result.token),Object(r["f"])().then(e=>{if(0===e.code)if(window.localStorage.setItem("jobNo",e.result.jobNo),e.result.isBindFace)if(2===this.type){if(!["storekeeper","supervisor","ckjy"].includes(e.result.roleKey))return this.$Message.error("抱歉,您权限不足,无法使用调仓功能");this.$Message.success("登录成功!"),this.toNext()}else this.$Message.success("登录成功!"),this.toNext();else this.$Message.error("当前用户未绑定人脸,请绑定人脸后登入"),this.tabIndex=0,this.tracking=!0,this.isUpdateFace=!0}))})})},tabHandle(e){this.tabIndex=e,0===e?this.tracking=!0:(this.tracking=!1,this.isUpdateFace=!1,clearTimeout(this.loginTimer),clearTimeout(this.saveFaceTimer))},toNext(){Object(o["o"])({reScanType:0===this.type?0:1,storageType:sessionStorage.getItem("plcCode"),storageDoor:sessionStorage.getItem("door")}),Object(o["l"])({plcCode:sessionStorage.getItem("plcCode"),e_OpenOrCloseDoor:1}).then(e=>{0===e.code&&(0==this.type?this.$router.replace({name:"store-in"}):1==this.type?this.$router.replace({name:"store-out-list"}):2==this.type&&this.$router.replace({name:"store-change"}))})},stopMediaStreamTrack(){"object"===typeof window.stream&&(this.video.srcObject=null,window.stream.stop())},openCamera(){let e=this,t=this.video=document.getElementById("video"),s=document.getElementById("canvas"),a=s.getContext("2d");a.lineWidth=2,a.strokeStyle="blue";let i=new tracking.ObjectTracker("face");i.setInitialScale(4),i.setStepSize(1),i.setEdgesDensity(.1),this.trackerTask=tracking.track("#video",i,{camera:!0}),i.on("track",(function(i){if(a.clearRect(0,0,s.width,s.height),e.tracking&&1===i.data.length){let s=i.data[0];a.strokeRect(s.x,s.y,s.width,s.height),e.tracking=!1;let o=document.createElement("canvas");o.width=t.width,o.height=t.height,e.isUpdateFace?o.getContext("2d").drawImage(t,s.x-100,s.y-100,s.width+500,s.height+500,0,0,800,800):o.getContext("2d").drawImage(t,s.x-100,s.y-100,s.width+500,s.height+500,0,0,400,400);let n=o.toDataURL("image/png");e.isUpdateFace?Object(r["e"])({base64Img:n,fileName:"_face"}).then(t=>{0===t.code?e.toNext():e.saveFaceTimer=setTimeout(()=>{e.tracking=!0},2e3)}):Object(r["c"])({isHiddenSpin:!0,base64Str:n,token:"_token"}).then(t=>{0===t.code?(e.$Message.success("登录成功!"),e.$store.commit("setToken",t.result.token),e.toNext()):e.loginTimer=setTimeout(()=>{e.tracking=!0},2e3)})}}))}},mounted(){this.type=this.$route.query.type},beforeDestroy(){this.stopMediaStreamTrack()}},u=p,h=(s("588c"),s("0b56")),m=Object(h["a"])(u,a,i,!1,null,"6bc5986a",null);t["default"]=m.exports},c275:function(e,t,s){}}]);
|