chore: 更新.gitignore文件并清理dist目录中的旧文件

更新.gitignore文件,添加dist、.idea和.vscode目录到忽略列表
删除dist目录中不再需要的静态文件
This commit is contained in:
yindongqi 2025-07-09 15:07:54 +08:00
parent 48361571f2
commit 14b0afc1df
34 changed files with 215 additions and 282 deletions

3
.gitignore vendored
View File

@ -1 +1,4 @@
node_modules node_modules
dist
.idea
.vscode

2
dist/index.html vendored
View File

@ -1 +1 @@
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=msapplication-tap-highlight content=no><meta name=viewport content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"><meta http-equiv=X-UA-Compatible content="IE=edge,chrome=1"><title>讲堂360</title><script src=/static//ckplayer/ckplayer.js type=text/javascript charset=utf-8></script><link href=/static/css/app.76203ad69124903fdcae58a8094d40d9.css rel=stylesheet></head><body style="background: white;"><div id=app></div><script type=text/javascript src=/static/js/manifest.f9fea14ed394812134a9.js></script><script type=text/javascript src=/static/js/vendor.dba3e8b9308baa84679c.js></script><script type=text/javascript src=/static/js/app.09510218fa0e70e1ceb9.js></script></body></html> <!DOCTYPE html><html><head><meta charset=utf-8><meta name=msapplication-tap-highlight content=no><meta name=viewport content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"><meta http-equiv=X-UA-Compatible content="IE=edge,chrome=1"><title>讲堂360</title><script src=/static//ckplayer/ckplayer.js type=text/javascript charset=utf-8></script><link href=/static/css/app.8a7adb4b71a3ca61fbbaa9e4af5db6a9.css rel=stylesheet></head><body style="background: white;"><div id=app></div><script type=text/javascript src=/static/js/manifest.f089392a35aff907d886.js></script><script type=text/javascript src=/static/js/vendor.dba3e8b9308baa84679c.js></script><script type=text/javascript src=/static/js/app.d0d47ff98ff183ef4c33.js></script></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,2 +0,0 @@
webpackJsonp([10],{JAgc:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});a("OgVB");var n=a("/Lyv"),i=a.n(n),s=(a("34+y"),a("X+yh")),o=a.n(s),r=a("mtWM"),d=a.n(r),c=a("Lw6n"),l=(new(a.n(c).a),{name:"signin",data:function(){return{alertMessage:"请重新扫描二维码进入",alertShow:!0,userName:"",department:"",phone:"",openid:""}},created:function(){},mounted:function(){var e=this;this.$nextTick(function(){var t=navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i),a=window.navigator.userAgent.toLowerCase();t&&"micromessenger"==a.match(/MicroMessenger/i)?e.checkQRCodeExpiration():e.alertMessage="请使用手机微信扫码进入!"})},methods:{checkQRCodeExpiration:function(){var e=this,t=this,a=window.location.search,n=new URLSearchParams(a),i=n.get("nowTime");d.a.get("http://admin.jiangtang360.com/api/Card/getTime").then(function(a){Number(i)+3e5>a.data&&null!=Number(i)?(t.alertShow=!1,e.getOpenid(n.get("code"))):e.alertMessage="二维码已过期,请重新扫描二维码进入!"},function(e){o()("获取当前时间失败,请重新扫码签到")})},getOpenid:function(e){var t=this,a=new FormData;a.append("code",e),d.a.post("http://admin.jiangtang360.com/api/Signin/getOpenId",a).then(function(e){200==e.data.code?(t.openid=e.data.data,""!=t.openid&&null!=t.openid&&t.isTodaySignedIn(t.openid)):(t.alertShow=!0,t.alertMessage=e.data.msg)},function(e){})},isTodaySignedIn:function(e){var t=this,a=new FormData;a.append("openid",e),d.a.post("http://admin.jiangtang360.com/api/Signin/isTodaySignedIn",a).then(function(e){200==e.status&&("今日未签到"==e.data.msg?t.getUserInfo():(t.alertShow=!0,t.alertMessage=e.data.msg))},function(e){})},getUserInfo:function(){var e=this,t=new FormData;t.append("openid",this.openid),d.a.post("http://admin.jiangtang360.com/api/Signin/getLastSubmissionByOpenid",t).then(function(t){null!=t.data.data&&(e.userName=t.data.data.name,e.department=t.data.data.department,e.phone=t.data.data.phone)},function(e){})},submit:function(){var e=this;if(""!=this.userName)if(""!=this.department)if(this.checkPhone(this.phone)){this.$refs.submit.disabled=!0;var t=new FormData;t.append("name",this.userName),t.append("department",this.department),t.append("phone",this.phone),t.append("openid",this.openid),d.a.post("http://admin.jiangtang360.com/api/Signin/saveUserCheckinInfo",t).then(function(e){200==e.status&&i()({title:"提示",message:"签到成功",showConfirmButton:!1,closeOnClickModal:!1})},function(t){e.$refs.submit.disabled=!1})}else o()("手机号格式不正确");else o()("请输入单位");else o()("请输入姓名")}}}),p={render:function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[e.alertShow?a("div",{staticClass:"overlay"},[a("div",{staticClass:"alert-box"},[e._v(e._s(e.alertMessage))])]):e._e(),e._v(" "),e.alertShow?e._e():a("div",{staticClass:"content"},[a("div",{staticClass:"title"},[e._v("上海建科签到填写表")]),e._v(" "),a("div",{staticClass:"form"},[a("mt-field",{staticClass:"userName",attrs:{label:"姓名",placeholder:"请输入姓名"},model:{value:e.userName,callback:function(t){e.userName=t},expression:"userName"}}),e._v(" "),a("mt-field",{staticClass:"department",attrs:{label:"单位",placeholder:"请输入单位"},model:{value:e.department,callback:function(t){e.department=t},expression:"department"}}),e._v(" "),a("mt-field",{staticClass:"phone",attrs:{label:"手机号",placeholder:"请输入手机号",type:"tel"},model:{value:e.phone,callback:function(t){e.phone=t},expression:"phone"}}),e._v(" "),a("button",{ref:"submit",staticClass:"submit",on:{click:e.submit}},[e._v("提交")])],1)])])},staticRenderFns:[]};var m=a("VU/8")(l,p,!1,function(e){a("nQDr")},"data-v-d63f6176",null);t.default=m.exports},nQDr:function(e,t){}});
//# sourceMappingURL=10.7e67cfaf9cdb6274260b.js.map

File diff suppressed because one or more lines are too long

View File

@ -1,2 +0,0 @@
webpackJsonp([15],{"9ieb":function(t,e){},C1St:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i={render:function(){this.$createElement;this._self._c;return this._m(0)},staticRenderFns:[function(){var t=this.$createElement,e=this._self._c||t;return e("div",[e("div",{staticStyle:{"font-size":"23px","padding-top":"30px"}},[this._v("\n 请在微信客户端打开链接\n ")])])}]};var s=n("VU/8")({},i,!1,function(t){n("9ieb")},"data-v-5d70388a",null);e.default=s.exports}});
//# sourceMappingURL=15.72a9ddc1d7f5a70eaa2e.js.map

View File

@ -1 +0,0 @@
{"version":3,"sources":["webpack:///src/components/login/wxError.vue","webpack:///./src/components/login/wxError.vue?5d31","webpack:///./src/components/login/wxError.vue"],"names":["login_wxError","render","this","$createElement","_self","_c","_m","staticRenderFns","_h","staticStyle","font-size","padding-top","_v","Component","__webpack_require__","normalizeComponent","ssrContext","__webpack_exports__"],"mappings":"6HASA,ICNeA,GADEC,OAFjB,WAA0BC,KAAaC,eAAbD,KAAuCE,MAAAC,GAAwB,OAA/DH,KAA+DI,GAAA,IAExEC,iBADjB,WAAoC,IAAaC,EAAbN,KAAaC,eAA0BE,EAAvCH,KAAuCE,MAAAC,IAAAG,EAAwB,OAAAH,EAAA,OAAAA,EAAA,OAA2BI,aAAaC,YAAA,OAAAC,cAAA,UAAvGT,KAAgJU,GAAA,sCCEpL,IAcAC,EAdyBC,EAAQ,OAcjCC,IAEEf,GATF,EAVA,SAAAgB,GACEF,EAAQ,SAaV,kBAEA,MAUeG,EAAA,QAAAJ,EAAiB","file":"static/js/15.72a9ddc1d7f5a70eaa2e.js","sourcesContent":["<template lang=\"\">\r\n <div>\r\n <!-- <img src=\"../../../static/logo.png\" alt=\"\"> -->\r\n <div style=\"font-size:23px;padding-top:30px\">\r\n 请在微信客户端打开链接\r\n </div>\r\n </div>\r\n</template>\r\n<script>\r\nexport default {\r\n \r\n}\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n \r\n</style>\n\n\n// WEBPACK FOOTER //\n// src/components/login/wxError.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticStyle:{\"font-size\":\"23px\",\"padding-top\":\"30px\"}},[_vm._v(\"\\n 请在微信客户端打开链接\\n \")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-5d70388a\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/login/wxError.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-5d70388a\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./wxError.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./wxError.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./wxError.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-5d70388a\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./wxError.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-5d70388a\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/login/wxError.vue\n// module id = null\n// module chunks = "],"sourceRoot":""}

View File

@ -1,2 +0,0 @@
webpackJsonp([16],{CMp1:function(t,e){},w0ZA:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});n("34+y");var a=n("X+yh"),s=n.n(a),i=n("Vr0m"),c=n("Xvyv"),o=n("VKKs"),r={name:"courseAll",components:{Back:i.a,CommonFooter:c.a},data:function(){return{course:[]}},created:function(){},mounted:function(){this.getPageData()},methods:{goCourseDetail:function(t){this.$router.push({path:"/courseDetail?id="+t})},getPageData:function(){var t=this;this.getData("/Home/getCourseList",{token:Object(o.a)("token"),type:1}).then(function(e){1==e.code?t.course=e.data:s()(e.msg)},function(t){})}}},u={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"all"},[a("back",{attrs:{title:"所有课程"}}),t._v(" "),a("div",{staticClass:"kecheng"},t._l(t.course,function(e,s){return a("div",{key:s,staticClass:"kechenginfo",on:{click:function(n){return t.goCourseDetail(e.id)}}},[a("img",{attrs:{src:e.thumbnail,alt:""}}),t._v(" "),a("div",{staticClass:"kechenginfoR"},[a("p",{staticClass:"kechenginfoR_bt"},[t._v(t._s(e.name))]),t._v(" "),a("p",{staticClass:"kechenginfoR_xbt"},[t._v(t._s(e.description))]),t._v(" "),a("div",{staticClass:"kechenginfoR_bot"},[a("div",{staticClass:"kechenginfoR_botL"},[a("img",{staticClass:"yanjing",attrs:{src:n("acdE"),alt:""}}),t._v(t._s(e.page_view)+"人")]),t._v(" "),a("div",{staticClass:"kechenginfoR_botR"},[t._v("进入课程")])])])])}),0),t._v(" "),a("common-footer")],1)},staticRenderFns:[]};var l=n("VU/8")(r,u,!1,function(t){n("CMp1")},"data-v-5a7c65ec",null);e.default=l.exports}});
//# sourceMappingURL=16.4958962b01555222f850.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,2 +0,0 @@
webpackJsonp([4],{"5yn8":function(e,t){},cObq:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=a("Vr0m"),s=(a("VKKs"),a("NYxO")),i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},r={name:"certificate",components:{Back:n.a},data:function(){return{cert:{},is_cert:1,startTime:"",endTime:"",companyName:"",certificateshowdate:"",courseName:[]}},mounted:function(){this.d()},methods:{d:function(){var e=new Date(1e3*this.loginInfo.start_time),t=new Date(1e3*this.loginInfo.end_time);this.startTime=e.getFullYear()+"-"+(e.getMonth()+1<10?"0"+(e.getMonth()+1):e.getMonth()+1)+"-"+(e.getDate()<10?"0"+e.getDate():e.getDate()),this.endTime=t.getFullYear()+"-"+(t.getMonth()+1<10?"0"+(t.getMonth()+1):t.getMonth()+1)+"-"+(t.getDate()<10?"0"+t.getDate():t.getDate());var a=this.loginInfo.company_name;this.companyName=-1!=a.indexOf("建科")?"上海建科检验有限公司":"上海市化工职业病防治院";var n=new Date,s=n.getFullYear(),i=String(n.getMonth()+1).padStart(2,"0"),r=String(n.getDate()).padStart(2,"0");this.certificateshowdate=s+"年"+i+"月"+r,this.courseName=JSON.parse(localStorage.getItem("courseName"))}},computed:i({},Object(s.c)(["loginInfo"]))},c={render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"cert"},[n("back",{attrs:{title:"证书"}}),e._v(" "),1==e.is_cert?n("div",{directives:[{name:"show",rawName:"v-show",value:"演示账号1"==e.loginInfo.member_realname,expression:"loginInfo.member_realname == ('演示账号1' || '李琳') ? true : false"}]},[n("div",{staticClass:"cert-box"},[n("img",{attrs:{src:a("eGH8")}}),e._v(" "),e._m(0),e._v(" "),n("div",{staticClass:"c2"},[e._v(e._s(e.loginInfo.member_realname)+" 同志")]),e._v(" "),n("div",{staticClass:"c3"},[e._v("\n 您于"+e._s(e.startTime)+"到\n "+e._s(e.endTime)+"\n 参加了"+e._s(e.companyName)+"组织的职业安全健康培训,达到规定学时数\n "),n("div",{},e._l(e.courseName,function(t){return n("p",{key:t},[e._v("课时证明:"+e._s(t))])}),0),e._v(" "),n("div",{staticClass:"c9"},[e._v("考核成绩合格,特发此证。")])]),e._v(" "),n("div",{staticClass:"c4"},[e._v(e._s(e.certificateshowdate))]),e._v(" "),n("div",{staticClass:"c5"},[e._v(e._s(e.companyName))])])]):e._e()],1)},staticRenderFns:[function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"c1"},[t("h2",[t("br"),this._v("职业安全健康管理知识培训")])])}]};var o=a("VU/8")(r,c,!1,function(e){a("5yn8")},"data-v-d02efa3e",null);t.default=o.exports},eGH8:function(e,t,a){e.exports=a.p+"static/img/zhengshu.592a81b.jpg"}});
//# sourceMappingURL=4.df16c6abb8404839ab09.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,2 +0,0 @@
webpackJsonp([6],{"2sHx":function(t,e,a){t.exports=a.p+"static/img/tip.039dde0.png"},C0fP:function(t,e,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0});a("34+y");var i=a("X+yh"),n=a.n(i),o=(a("OgVB"),a("/Lyv")),r=a.n(o),l=a("NYxO"),s=a("Vr0m"),p=a("mtWM"),c=a.n(p),u=a("VKKs"),d=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var a=arguments[e];for(var i in a)Object.prototype.hasOwnProperty.call(a,i)&&(t[i]=a[i])}return t},m={data:function(){return{imageUrl:"",file:null,filename:"",photopath:"",ImgObj:new Image}},components:{Back:s.a},methods:{change:function(t){this.filename=t.target.files[0].name,this.file=t.target.files[0],console.log("file文件"+this.file.type);var e=new FileReader,a=this;e.readAsDataURL(this.file),e.onload=function(t){console.log("读取成功"),a.imageUrl=t.target.result}},upload:function(){var t=this;console.log("证件号为:"+this.$refs.getValue.value);var e=["image/jpeg","image/JPEG","image/jpg","image/JPG","image/png","image/PNG"],a=this.filename;if(console.log("filepath:=="+a),a){for(var i=!1,o=0;o<e.length;o++)if(e[o]==this.file.type){i=!0;break}if(!i)return r.a.alert('证件照的后缀名必须为".jpg", ".png", ".jpeg",格式'),this.file="",this.filename="",!1;r.a.confirm("确定上传该证件照吗?").then(function(e){var a=new FormData;a.append("file",t.file),a.append("filename",t.$refs.getValue.value+".jpg"),a.append("apitoken",Object(u.a)("token"));c.a.post("http://admin.jiangtang360.com/api/card/uploadcardimage",a,{headers:{}}).then(function(t){console.log(t),n()("上传成功"),location.reload()},function(t){n()("上传失败,请刷新后再次尝试上传")})},function(){})}else r.a.alert("请重新选择符合要求的证件照")},photoPreview:function(){this.$router.push({path:"/photoPreview"})}},created:function(){},mounted:function(){this.photopath="http://admin.jiangtang360.com/static/admin/cards/"+this.$refs.getValue.value+".jpg?ran="+Math.random(),this.ImgObj.src="http://admin.jiangtang360.com/static/admin/cards/"+this.$refs.getValue.value+".jpg?ran="+Math.random()},computed:d({},Object(l.c)(["loginInfo","apitoken"]))},f={render:function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{staticClass:"file"},[i("back",{attrs:{title:"证件照上传"}}),t._v(" "),1==t.loginInfo.need_upload_photo?i("div",[i("img",{attrs:{src:a("2sHx"),width:"100%",height:"30%"}}),t._v(" "),i("div",{staticClass:"imgreplace"},[i("label",{staticClass:"input-file-button",attrs:{for:"upload"}},[t._v("选择证件照")]),t._v(" "),i("input",{ref:"updata",staticClass:"updata",attrs:{type:"file",accept:"image/*",id:"upload"},on:{change:function(e){return t.change(e)}}}),t._v(" "),i("mt-button",{staticStyle:{"margin-top":"10px"},attrs:{type:"primary",size:"small"},on:{click:function(e){return t.upload()}}},[t._v("上传证件照")])],1),t._v(" "),""!=t.filename?i("p",{attrs:{"padding-top":"33px"}},[t._v("您上传的证件照名:"+t._s(t.filename))]):t._e(),t._v(" "),i("img",{staticClass:"img",attrs:{src:t.imageUrl,alt:"",title:"预览"}}),i("br"),t._v(" "),i("input",{ref:"getValue",attrs:{type:"hidden"},domProps:{value:t.loginInfo.member_passport}}),t._v(" "),i("input",{directives:[{name:"model",rawName:"v-model",value:t.filename,expression:"filename"}],attrs:{type:"hidden"},domProps:{value:t.filename},on:{input:function(e){e.target.composing||(t.filename=e.target.value)}}}),t._v(" "),i("input",{directives:[{name:"model",rawName:"v-model",value:t.photopath,expression:"photopath"}],attrs:{type:"hidden",id:""},domProps:{value:t.photopath},on:{input:function(e){e.target.composing||(t.photopath=e.target.value)}}}),t._v(" "),i("h2",{staticStyle:{"padding-top":"1em","font-size":"2.3em"}},[t._v("已上传的证件照")]),t._v(" "),i("h2",[t._v("(点击证件照预览)")]),t._v(" "),i("img",{staticStyle:{width:"36%",border:"1px solid","box-shadow":"10px 10px 10px rgba(0, 0, 0, 0.5)"},attrs:{src:t.photopath,alt:""},on:{click:function(e){return t.photoPreview()}}})]):1!=t.loginInfo.need_upload_photo?i("div",[i("h1",[t._v("暂未规定上传证件照")])]):t._e()],1)},staticRenderFns:[]};var g=a("VU/8")(m,f,!1,function(t){a("ta32")},"data-v-7876e678",null);e.default=g.exports},ta32:function(t,e){}});
//# sourceMappingURL=6.3a8dced414d8fad7b918.js.map

File diff suppressed because one or more lines are too long

View File

@ -1,2 +0,0 @@
webpackJsonp([7],{Txz9:function(t,e,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var s={data:function(){return{codes:[],ctx:"",colors:["red","yellow","blue","green","pink","black"],code_Len:4}},mounted:function(){this.draw()},computed:{codeString:function(){for(var t="",e=0;e<this.codes.length;e++)t+=this.codes[e];return t.toUpperCase()}},watch:{codeString:function(t){this.$emit("change",t)}},methods:{generateRandom:function(){this.codes=[];for(var t="abcdefghijkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ23456789".split(""),e=0;e<this.code_Len;e++){var a=Math.floor(Math.random()*t.length);this.codes.push(t[a])}},draw:function(){this.generateRandom(),this.drawText()},drawLine:function(){for(var t=0;t<3;t++)this.ctx.strokeStyle=this.colors[Math.floor(5*Math.random())],this.ctx.beginPath(),this.ctx.moveTo(Math.floor(140*Math.random()),Math.floor(30*Math.random())),this.ctx.lineTo(Math.floor(140*Math.random()),Math.floor(30*Math.random())),this.ctx.stroke()},drawText:function(){var t=this.$refs.canvas;this.ctx=t.getContext("2d"),this.ctx.fillStyle="#BFEFFF",this.ctx.fillRect(0,0,140,40),this.ctx.font="20px Verdana";for(var e=15,a=0;a<this.code_Len;a++)this.ctx.fillStyle=this.colors[Math.floor(5*Math.random())],this.ctx.fillText(this.codes[a],e,25),e+=30;this.drawLine()}}},i={render:function(){var t=this.$createElement;return(this._self._c||t)("canvas",{ref:"canvas",staticStyle:{cursor:"pointer"},attrs:{width:"140",height:"40"},on:{click:this.draw}})},staticRenderFns:[]},n={components:{ValidateCode:a("VU/8")(s,i,!1,null,null,null).exports},data:function(){return{inputVal:"",checkCode:"",result:""}},methods:{changeCode:function(t){this.checkCode=t},compare:function(){this.inputVal.toUpperCase()===this.checkCode?(console.log(this.inputVal),this.result="比对成功"):(console.log(this.inputVal),this.result="比对失败,请重新输入",this.inputVal="",this.$refs.ref_validateCode.draw())}}},r={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"queryall"},[t._m(0),t._v(" "),a("div",{staticClass:"querymain"},[a("div",{staticClass:"querytitlename"},[t._v("证书查询")]),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),a("div",{staticClass:"queryfill"},[a("span",{staticClass:"querykey"},[t._v("验证码")]),t._v(" "),a("input",{directives:[{name:"model",rawName:"v-model",value:t.inputVal,expression:"inputVal"}],staticClass:"queryvalue",attrs:{type:"text",placeholder:"",clearable:""},domProps:{value:t.inputVal},on:{input:function(e){e.target.composing||(t.inputVal=e.target.value)}}}),a("br")]),t._v(" "),a("validate-code",{ref:"ref_validateCode",staticStyle:{padding:"10px","border-radius":"15px"},attrs:{id:"canvas"},on:{change:t.changeCode}}),t._v(" "),t._m(3)],1)])},staticRenderFns:[function(){var t=this.$createElement,e=this._self._c||t;return e("header",[e("img",{staticClass:"querylogo",attrs:{src:a("X3zq"),alt:"上海建科检验有限公司"}})])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"queryfill"},[e("span",{staticClass:"querykey"},[this._v("姓名")]),this._v(" "),e("input",{staticClass:"queryvalue",attrs:{type:"text"}})])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"queryfill"},[e("span",{staticClass:"querykey"},[this._v("证书编号")]),this._v(" "),e("input",{staticClass:"queryvalue",attrs:{type:"text"}})])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",[e("button",{attrs:{type:"button",id:"bt"}},[this._v("点击查询")])])}]};var o=a("VU/8")(n,r,!1,function(t){a("Wqe+")},null,null);e.default=o.exports},"Wqe+":function(t,e){},X3zq:function(t,e,a){t.exports=a.p+"static/img/jianke_logo.a6cb8a7.png"}});
//# sourceMappingURL=7.9e96e5077b81687afbaa.js.map

File diff suppressed because one or more lines are too long

View File

@ -1,2 +0,0 @@
webpackJsonp([8],{GpSx:function(t,a,e){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var r=e("NYxO"),o=e("Vr0m"),n=Object.assign||function(t){for(var a=1;a<arguments.length;a++){var e=arguments[a];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])}return t},i={data:function(){return{cardphotopath:""}},components:{Back:o.a},mounted:function(){this.cardphotopath="http://admin.jiangtang360.com/static/admin/cards/"+this.$refs.getValue.value+".jpg?ran="+Math.random()},computed:n({},Object(r.c)(["loginInfo","apitoken"]))},p={render:function(){var t=this,a=t.$createElement,r=t._self._c||a;return r("div",{staticClass:"file"},[r("back",{attrs:{title:"预览"}}),t._v(" "),r("img",{staticClass:"prephoto",attrs:{src:e("Prvl"),width:"95%",alt:""}}),t._v(" "),r("img",{staticClass:"cardphoto",attrs:{src:t.cardphotopath}}),t._v(" "),r("input",{ref:"getValue",attrs:{type:"hidden"},domProps:{value:t.loginInfo.member_passport}}),t._v(" "),r("input",{directives:[{name:"model",rawName:"v-model",value:t.cardphotopath,expression:"cardphotopath"}],attrs:{type:"hidden",id:""},domProps:{value:t.cardphotopath},on:{input:function(a){a.target.composing||(t.cardphotopath=a.target.value)}}})],1)},staticRenderFns:[]};var s=e("VU/8")(i,p,!1,function(t){e("SZgG")},null,null);a.default=s.exports},Prvl:function(t,a,e){t.exports=e.p+"static/img/review.8150d70.jpg"},SZgG:function(t,a){}});
//# sourceMappingURL=8.739b4fc8370c5413f2fa.js.map

File diff suppressed because one or more lines are too long

View File

@ -1,2 +0,0 @@
webpackJsonp([9],{"3vMC":function(t,s,a){"use strict";Object.defineProperty(s,"__esModule",{value:!0});a("34+y");var e=a("X+yh"),i=a.n(e),o=a("Vr0m"),c=a("VKKs"),r={name:"ChangePwd",components:{Back:o.a},data:function(){return{password:"",Repassword:""}},mounted:function(){},methods:{goback:function(){this.$router.go(-1)},save:function(){var t=this;""!=this.password?this.checkPwd(this.password)?""!=this.Repassword?this.Repassword==this.password?this.getData("/Member/createPWD",{token:Object(c.a)("token"),member_pwd:this.Repassword}).then(function(s){s.code&&(i()(s.msg),t.$router.push("/user"))},function(t){return console.log("err")}):i()("两次输入的密码不一致"):i()("请输入确认密码"):i()("密码格式错误"):i()("请输入密码")}}},n={render:function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"changePwd"},[e("back",{attrs:{title:"修改密码"}}),t._v(" "),e("div",{staticClass:"input"},[e("img",{attrs:{src:"",alt:""}}),e("img",{attrs:{src:a("gYA/"),alt:""}}),t._v(" "),e("label",{attrs:{for:"input_pwd"}},[t._v("请输入密码:")]),t._v(" "),e("input",{directives:[{name:"model",rawName:"v-model",value:t.password,expression:"password"}],attrs:{type:"password",id:"input_pwd"},domProps:{value:t.password},on:{input:function(s){s.target.composing||(t.password=s.target.value)}}})]),t._v(" "),e("div",{staticClass:"input_new"},[e("img",{attrs:{src:"",alt:""}}),e("img",{attrs:{src:a("gYA/"),alt:""}}),t._v(" "),e("label",{attrs:{for:"input_newpwd"}},[t._v("再次输入密码:")]),t._v(" "),e("input",{directives:[{name:"model",rawName:"v-model",value:t.Repassword,expression:"Repassword"}],attrs:{type:"password",id:"input_newpwd"},domProps:{value:t.Repassword},on:{input:function(s){s.target.composing||(t.Repassword=s.target.value)}}})]),t._v(" "),e("ul",{staticClass:"clearfix"},[e("li",{staticClass:"active fl",on:{click:t.save}},[t._v("确定")]),t._v(" "),e("li",{staticClass:"fr",on:{click:t.goback}},[t._v("取消")])])],1)},staticRenderFns:[]};var I=a("VU/8")(r,n,!1,function(t){a("oMvt")},"data-v-0b14aff9",null);s.default=I.exports},"gYA/":function(t,s){t.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTNweCIgaGVpZ2h0PSIxM3B4IiB2aWV3Qm94PSIwIDAgMTMgMTMiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQ3LjEgKDQ1NDIyKSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT4qIGNvcHkgOTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSLotKbmiLforr7nva4o55m75b2V5a+G56CBKSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTM2LjAwMDAwMCwgLTI2Ny4wMDAwMDApIiBmaWxsPSIjRkYwMDFGIj4KICAgICAgICAgICAgPHBvbHlnb24gaWQ9IiotY29weS05IiBwb2ludHM9IjQxLjQ4IDI2Ny4zNDQgNDMuNzg0IDI2Ny4zNDQgNDMuMjQ0IDI3Mi41NjQgNDcuNiAyNjkuNDY4IDQ4Ljc1MiAyNzEuNDEyIDQzLjg5MiAyNzMuNjA4IDQ4Ljc1MiAyNzUuODA0IDQ3LjYgMjc3Ljc4NCA0My4yNDQgMjc0LjcyNCA0My43ODQgMjc5Ljk0NCA0MS40OCAyNzkuOTQ0IDQyLjAyIDI3NC43MjQgMzcuNyAyNzcuNzg0IDM2LjU0OCAyNzUuODA0IDQxLjQ4IDI3My42MDggMzYuNTQ4IDI3MS40MTIgMzcuNyAyNjkuNDY4IDQyLjAyIDI3Mi41NjQiPjwvcG9seWdvbj4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg=="},oMvt:function(t,s){}});
//# sourceMappingURL=9.0cdf0e3b1d6f0f261f82.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,2 +0,0 @@
!function(e){var n=window.webpackJsonp;window.webpackJsonp=function(r,c,o){for(var f,d,b,i=0,u=[];i<r.length;i++)d=r[i],a[d]&&u.push(a[d][0]),a[d]=0;for(f in c)Object.prototype.hasOwnProperty.call(c,f)&&(e[f]=c[f]);for(n&&n(r,c,o);u.length;)u.shift()();if(o)for(i=0;i<o.length;i++)b=t(t.s=o[i]);return b};var r={},a={27:0};function t(n){if(r[n])return r[n].exports;var a=r[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,t),a.l=!0,a.exports}t.e=function(e){var n=a[e];if(0===n)return new Promise(function(e){e()});if(n)return n[2];var r=new Promise(function(r,t){n=a[e]=[r,t]});n[2]=r;var c=document.getElementsByTagName("head")[0],o=document.createElement("script");o.type="text/javascript",o.charset="utf-8",o.async=!0,o.timeout=12e4,t.nc&&o.setAttribute("nonce",t.nc),o.src=t.p+"static/js/"+e+"."+{0:"68732939363ecb70ea63",1:"29d0744c90d6f931e1ee",2:"55271d892bab97670605",3:"831d21f4c95367b74f4a",4:"df16c6abb8404839ab09",5:"39f30970ba8cdfa047f7",6:"3a8dced414d8fad7b918",7:"9e96e5077b81687afbaa",8:"739b4fc8370c5413f2fa",9:"0cdf0e3b1d6f0f261f82",10:"7e67cfaf9cdb6274260b",11:"8a12ac26006945a866ed",12:"a410792c336a5cbce4de",13:"5b5286f1cfcb6d2d8a2d",14:"76cfb2f328ddae184b4d",15:"72a9ddc1d7f5a70eaa2e",16:"4958962b01555222f850",17:"04b826de7b1e5311f081",18:"aa5937bd917ba36d406b",19:"7f8da8e6d207a0311758",20:"8dc1bb9d43ed9d39521f",21:"769b238d5eff17ce5245",22:"dbf7c6d7f3885639b656",23:"f995e765208cd6427b34",24:"b3729256a3420442a9ba"}[e]+".js";var f=setTimeout(d,12e4);function d(){o.onerror=o.onload=null,clearTimeout(f);var n=a[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),a[e]=void 0)}return o.onerror=o.onload=d,c.appendChild(o),r},t.m=e,t.c=r,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="/",t.oe=function(e){throw console.error(e),e}}([]);
//# sourceMappingURL=manifest.f9fea14ed394812134a9.js.map

File diff suppressed because one or more lines are too long

View File

@ -29,36 +29,16 @@
}} }}
</p> </p>
</div> </div>
<mt-button <mt-button class="tijiao" type="primary" size="large" @click="btn_course(2)"
class="tijiao" v-if="config.exam_type == 1">正式考试</mt-button>
type="primary" <mt-button class="tijiao" type="primary" size="large" @click="btn_course(2)"
size="large" v-if="config.exam_type == 2">开始补考</mt-button>
@click="btn_course(2)" <mt-button class="sub-button" type="primary" size="large" @click="btn_course(1)"
v-if="config.exam_type == 1" v-show="monishow">模拟考试</mt-button>
>正式考试</mt-button
>
<mt-button
class="tijiao"
type="primary"
size="large"
@click="btn_course(2)"
v-if="config.exam_type == 2"
>开始补考</mt-button
>
<mt-button
class="sub-button"
type="primary"
size="large"
@click="btn_course(1)"
v-show="monishow"
>模拟考试</mt-button
>
</div> </div>
<div v-if="is_start == 0 && config.exam_type == 3" class="pass-exam"> <div v-if="is_start == 0 && config.exam_type == 3" class="pass-exam">
恭喜您<br />您已通过考核 恭喜您<br />您已通过考核
<mt-button class="tijiao" type="primary" size="large" @click="goCert" <mt-button class="tijiao" type="primary" size="large" @click="goCert">查看证书</mt-button>
>查看证书</mt-button
>
</div> </div>
<div v-if="is_start == 1" class="lx"> <div v-if="is_start == 1" class="lx">
<div class="times">剩余时间{{ time_str }}</div> <div class="times">剩余时间{{ time_str }}</div>
@ -67,17 +47,10 @@
<span class="lianxiTiMu1">判断题</span> <span class="lianxiTiMu1">判断题</span>
<span>{{ current_question_data.name }}</span> <span>{{ current_question_data.name }}</span>
</div> </div>
<div <div class="lianxiTiMu" v-for="(item, index) in current_question_data.content" :key="index"
class="lianxiTiMu" @click="responseQ(item)">
v-for="(item, index) in current_question_data.content" <span class="lianxiXueZe" v-bind:class="{ active: current_question_data.response == item }">{{ xuhao[index]
:key="index" }}</span>
@click="responseQ(item)"
>
<span
class="lianxiXueZe"
v-bind:class="{ active: current_question_data.response == item }"
>{{ xuhao[index] }}</span
>
<span class="lianxiXueZe1">{{ item }}</span> <span class="lianxiXueZe1">{{ item }}</span>
</div> </div>
</div> </div>
@ -86,17 +59,10 @@
<span class="lianxiTiMu1">单选题</span> <span class="lianxiTiMu1">单选题</span>
<span>{{ current_question_data.name }}</span> <span>{{ current_question_data.name }}</span>
</div> </div>
<div <div class="lianxiTiMu" v-for="(item, index) in current_question_data.content" :key="index"
class="lianxiTiMu" @click="responseQ(item)">
v-for="(item, index) in current_question_data.content" <span class="lianxiXueZe" v-bind:class="{ active: current_question_data.response == item }">{{ xuhao[index]
:key="index" }}</span>
@click="responseQ(item)"
>
<span
class="lianxiXueZe"
v-bind:class="{ active: current_question_data.response == item }"
>{{ xuhao[index] }}</span
>
<span class="lianxiXueZe1">{{ item }}</span> <span class="lianxiXueZe1">{{ item }}</span>
</div> </div>
</div> </div>
@ -105,19 +71,11 @@
<span class="lianxiTiMu1">多选题</span> <span class="lianxiTiMu1">多选题</span>
<span>{{ current_question_data.name }}</span> <span>{{ current_question_data.name }}</span>
</div> </div>
<div <div class="lianxiTiMu" v-for="(item, index) in current_question_data.content" :key="index"
class="lianxiTiMu" @click="responseS(index)">
v-for="(item, index) in current_question_data.content" <span class="lianxiXueZe" v-bind:class="{
:key="index"
@click="responseS(index)"
>
<span
class="lianxiXueZe"
v-bind:class="{
active: current_question_data.response.indexOf(index) != -1, active: current_question_data.response.indexOf(index) != -1,
}" }">{{ xuhao[index] }}</span>
>{{ xuhao[index] }}</span
>
<span class="lianxiXueZe1">{{ item }}</span> <span class="lianxiXueZe1">{{ item }}</span>
</div> </div>
</div> </div>
@ -127,14 +85,8 @@
<span>{{ current_question_data.name }}</span> <span>{{ current_question_data.name }}</span>
<div class="tiankong" v-for="(i, key) in tiankongdata" :key="key"> <div class="tiankong" v-for="(i, key) in tiankongdata" :key="key">
<div v-for="(item, index) in i.label.length" :key="index"> <div v-for="(item, index) in i.label.length" :key="index">
<input <input type="text" class="tiank" maxlength="1" v-model="i.num[index]" :id="'tk' + index"
type="text" @blur="responseC(i.num[index])" />
class="tiank"
maxlength="1"
v-model="i.num[index]"
:id="'tk' + index"
@blur="responseC(i.num[index])"
/>
</div> </div>
</div> </div>
</div> </div>
@ -149,48 +101,26 @@
<div class="lianxiBottomR" @click="popupVisible = true"> <div class="lianxiBottomR" @click="popupVisible = true">
<img src="../../../static/img/gengduo.png" alt="" /><span>{{ <img src="../../../static/img/gengduo.png" alt="" /><span>{{
current_question + 1 current_question + 1
}}</span }}</span>/{{ questions.length }}
>/{{ questions.length }}
</div> </div>
</div> </div>
</div> </div>
<mt-popup v-model="popupVisible" position="bottom"> <mt-popup v-model="popupVisible" position="bottom">
<div class="order_number"> <div class="order_number">
<div <div v-for="(item, index) in questions" :key="index" @click="goQ(index)" v-bind:class="{
v-for="(item, index) in questions"
:key="index"
@click="goQ(index)"
v-bind:class="{
done: item.response != '' && current_question != index, done: item.response != '' && current_question != index,
error: !item.response && current_question != index, error: !item.response && current_question != index,
active: current_question == index, active: current_question == index,
}" }">
>
{{ index + 1 }} {{ index + 1 }}
</div> </div>
</div> </div>
</mt-popup> </mt-popup>
<mt-popup <mt-popup v-model="popupVisible2" popup-transition="popup-fade" style="background-color: #5e5e5e; border-radius: 20px;">
v-model="popupVisible2" <div style=" top: 5px; font-size: 20px; font-weight: bold; margin: 20px 0; color: white;">请选择要考试的课程</div>
popup-transition="popup-fade" <div style=" margin: 30px; width: 250px;" v-for="(item, index) in courseData" :key="index">
style="width: 100%; height: 100%" <mt-button @click="btn_courseID(item.id)" type="default" class=""
> style="width: 100%; height: 100%; padding: 10px 0;">{{ item.name }}</mt-button>
<div
style="width: 100%"
:style="{
height:
courseData.length != null ? (1 / courseData.length) * 100 + '%' : '100%',
}"
v-for="(item, index) in courseData"
:key="index"
>
<mt-button
@click="btn_courseID(item.id)"
type="default"
class=""
style="width: 100%; height: 100%"
>{{ item.name }}</mt-button
>
</div> </div>
</mt-popup> </mt-popup>
<input type="hidden" ref="isphoto" :value="loginInfo.isphoto" /> <input type="hidden" ref="isphoto" :value="loginInfo.isphoto" />
@ -242,12 +172,19 @@ export default {
// //
btn_course(num) { btn_course(num) {
this.num = num; this.num = num;
this.popupVisible2 = true;
// //
this.getData("/Question/getCourse", { this.getData("/Question/getCourse", {
token: getStore("token"), token: getStore("token"),
}).then((data) => { }).then((data) => {
this.courseData = data.data; this.courseData = data.data;
if(this.courseData.length === 1){
this.btn_courseID(this.courseData[0].id);
}else if(this.courseData.length > 1){
this.popupVisible2 = true;
}else {
Toast("暂无考试");
}
}); });
}, },
// //
@ -362,6 +299,7 @@ export default {
var timePassed = _this.config.exam_time - _this.exam_data.remain_time; var timePassed = _this.config.exam_time - _this.exam_data.remain_time;
timePassed = Math.trunc(timePassed); timePassed = Math.trunc(timePassed);
// console.log(timePassed);
_this.currenttime = timePassed; _this.currenttime = timePassed;
// //
if ( if (
@ -369,7 +307,7 @@ export default {
timePassed == 2695 || timePassed == 2695 ||
timePassed == 4495 || timePassed == 4495 ||
timePassed == 6295) && timePassed == 6295) &&
this.loginInfo.need_check_face == 1 _this.loginInfo.need_check_face == 1
) { ) {
Toast("稍后开启相机,进行人脸检测,请做好准备"); Toast("稍后开启相机,进行人脸检测,请做好准备");
} }
@ -379,7 +317,7 @@ export default {
timePassed == 2700 || timePassed == 2700 ||
timePassed == 4500 || timePassed == 4500 ||
timePassed == 6300) && timePassed == 6300) &&
this.loginInfo.need_check_face == 1 _this.loginInfo.need_check_face == 1
) { ) {
if (_this.canTakePhoto) { if (_this.canTakePhoto) {
_this.canTakePhoto = false; _this.canTakePhoto = false;
@ -924,29 +862,36 @@ export default {
font-weight: 400; font-weight: 400;
background: #fff; background: #fff;
} }
.sub-button { .sub-button {
font-family: MicrosoftYaHei; font-family: MicrosoftYaHei;
font-weight: 400; font-weight: 400;
top: 3rem; top: 3rem;
} }
.liuyan { .liuyan {
padding-top: 5rem; padding-top: 5rem;
.exam-info { .exam-info {
width: 80%; width: 80%;
margin: 0 auto; margin: 0 auto;
text-align: left; text-align: left;
font-size: 1.35rem; font-size: 1.35rem;
line-height: 2rem; line-height: 2rem;
>div { >div {
margin-bottom: 2rem; margin-bottom: 2rem;
p { p {
font-size: 1.5rem; font-size: 1.5rem;
&.active { &.active {
color: #e60012; color: #e60012;
} }
} }
} }
} }
.pass-exam { .pass-exam {
width: 80%; width: 80%;
margin: 10rem auto; margin: 10rem auto;
@ -957,8 +902,10 @@ export default {
font-weight: bold; font-weight: bold;
} }
} }
.lx { .lx {
padding-bottom: 5rem; padding-bottom: 5rem;
.lianxiTiMu { .lianxiTiMu {
width: 90%; width: 90%;
margin: 2rem auto; margin: 2rem auto;
@ -968,6 +915,7 @@ export default {
text-align: left; text-align: left;
line-height: 2.5rem; line-height: 2.5rem;
color: #333333; color: #333333;
.lianxiTiMu1 { .lianxiTiMu1 {
width: 4.9rem; width: 4.9rem;
line-height: 1.7rem; line-height: 1.7rem;
@ -980,6 +928,7 @@ export default {
font-family: MicrosoftYaHei; font-family: MicrosoftYaHei;
font-weight: 400; font-weight: 400;
} }
.lianxiXueZe { .lianxiXueZe {
color: #5e5e5e; color: #5e5e5e;
width: 2.5rem; width: 2.5rem;
@ -992,21 +941,26 @@ export default {
font-weight: 400; font-weight: 400;
text-align: center; text-align: center;
margin-right: 1rem; margin-right: 1rem;
&.active { &.active {
background: #0083ff; background: #0083ff;
color: #fff; color: #fff;
border-color: #0083ff; border-color: #0083ff;
} }
} }
.lianxiXueZe1 { .lianxiXueZe1 {
color: #5e5e5e; color: #5e5e5e;
} }
&.cuoti { &.cuoti {
color: red; color: red;
} }
.tiankong { .tiankong {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
.tiank { .tiank {
width: 3rem; width: 3rem;
height: 3rem; height: 3rem;
@ -1016,6 +970,7 @@ export default {
} }
} }
} }
.lianxiBottom { .lianxiBottom {
width: 100%; width: 100%;
height: 5rem; height: 5rem;
@ -1030,38 +985,46 @@ export default {
font-family: MicrosoftYaHei; font-family: MicrosoftYaHei;
font-weight: 400; font-weight: 400;
background: white; background: white;
img { img {
width: 1.5rem; width: 1.5rem;
height: 1.5rem; height: 1.5rem;
margin-right: 0.5rem; margin-right: 0.5rem;
} }
.lianxiBottomL { .lianxiBottomL {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
width: 69%; width: 69%;
div { div {
padding: 0 0.4rem; padding: 0 0.4rem;
background: #0083ff; background: #0083ff;
color: white; color: white;
line-height: 2rem; line-height: 2rem;
&.disable { &.disable {
background: grey; background: grey;
} }
} }
} }
.lianxiBottomR { .lianxiBottomR {
color: #a5a5a5; color: #a5a5a5;
span { span {
color: #333333; color: #333333;
} }
} }
} }
} }
.order_number { .order_number {
width: 100vw; width: 100vw;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
>div { >div {
width: 10vw; width: 10vw;
font-size: 1.5rem; font-size: 1.5rem;
@ -1069,12 +1032,15 @@ export default {
line-height: 10vw; line-height: 10vw;
border: 1px solid black; border: 1px solid black;
box-sizing: border-box; box-sizing: border-box;
&.active { &.active {
background: #31a6ff; background: #31a6ff;
} }
&.error { &.error {
background: red; background: red;
} }
&.done { &.done {
background: greenyellow; background: greenyellow;
} }

View File

@ -25,17 +25,8 @@
<!--@ended="onPlayerEnded($event)"--> <!--@ended="onPlayerEnded($event)"-->
<!--@ready="playerReadied">--> <!--@ready="playerReadied">-->
<!--</video-player>--> <!--</video-player>-->
<video <video id="video" class="video" :src="playerOptions.src" controls="controls" x5-playsinline="" playsinline=""
id="video" webkit-playsinline="true" :poster="playerOptions.poster" controlsList="nodownload"></video>
class="video"
:src="playerOptions.src"
controls="controls"
x5-playsinline=""
playsinline=""
webkit-playsinline="true"
:poster="playerOptions.poster"
controlsList="nodownload"
></video>
<!-- <video <!-- <video
id="video" id="video"
class="video" class="video"
@ -53,28 +44,15 @@
<div class="mulu"> <div class="mulu">
<h2>课程目录 {{ section.length }}</h2> <h2>课程目录 {{ section.length }}</h2>
</div> </div>
<div <div class="mulu" v-for="(item, index) in section" :key="index" @click="changeSection(item.id)">
class="mulu" <img src="../../../static/img/bofang1.png" alt="" v-if="index == choose_section_index" />
v-for="(item, index) in section" <img src="../../../static/img/play.png" alt="" v-if="index != choose_section_index" />
:key="index"
@click="changeSection(item.id)"
>
<img
src="../../../static/img/bofang1.png"
alt=""
v-if="index == choose_section_index"
/>
<img
src="../../../static/img/play.png"
alt=""
v-if="index != choose_section_index"
/>
<div class="muluR"> <div class="muluR">
<p>{{ index + 1 }} {{ item.name }}</p> <p>{{ index + 1 }} {{ item.name }}</p>
<p> <p>
讲师{{ item.teacher_name }} | {{ item.play_num }}人已学 | 讲师{{ item.teacher_name }} | {{ item.play_num }}人已学 |
<span v-if="item.is_end == 0">学习中</span <span v-if="item.is_end == 0" style="color:chocolate">学习中</span><span v-if="item.is_end == 1"
><span v-if="item.is_end == 1">已学完</span><span></span> style="color: #000;">已学完</span><span></span>
</p> </p>
</div> </div>
</div> </div>
@ -99,17 +77,10 @@
<span class="lianxiTiMu1">是非题</span> <span class="lianxiTiMu1">是非题</span>
<span>{{ current_question_data.name }}</span> <span>{{ current_question_data.name }}</span>
</div> </div>
<div <div class="lianxiTiMu" v-for="(item, index) in current_question_data.content" :key="index"
class="lianxiTiMu" @click="responseQ(item)">
v-for="(item, index) in current_question_data.content" <span class="lianxiXueZe" v-bind:class="{ active: current_question_data.response == item }">{{ xuhao[index]
:key="index" }}</span>
@click="responseQ(item)"
>
<span
class="lianxiXueZe"
v-bind:class="{ active: current_question_data.response == item }"
>{{ xuhao[index] }}</span
>
<span class="lianxiXueZe1">{{ item }}</span> <span class="lianxiXueZe1">{{ item }}</span>
</div> </div>
<div class="lianxiTiMu cuoti" v-if="current_question_data.is_wrong == 1"> <div class="lianxiTiMu cuoti" v-if="current_question_data.is_wrong == 1">
@ -123,17 +94,10 @@
<span class="lianxiTiMu1">单选题</span> <span class="lianxiTiMu1">单选题</span>
<span>{{ current_question_data.name }}</span> <span>{{ current_question_data.name }}</span>
</div> </div>
<div <div class="lianxiTiMu" v-for="(item, index) in current_question_data.content" :key="index"
class="lianxiTiMu" @click="responseQ(item)">
v-for="(item, index) in current_question_data.content" <span class="lianxiXueZe" v-bind:class="{ active: current_question_data.response == item }">{{ xuhao[index]
:key="index" }}</span>
@click="responseQ(item)"
>
<span
class="lianxiXueZe"
v-bind:class="{ active: current_question_data.response == item }"
>{{ xuhao[index] }}</span
>
<span class="lianxiXueZe1">{{ item }}</span> <span class="lianxiXueZe1">{{ item }}</span>
</div> </div>
<div class="lianxiTiMu cuoti" v-if="current_question_data.is_wrong == 1"> <div class="lianxiTiMu cuoti" v-if="current_question_data.is_wrong == 1">
@ -147,19 +111,11 @@
<span class="lianxiTiMu1">多选题</span> <span class="lianxiTiMu1">多选题</span>
<span>{{ current_question_data.name }}</span> <span>{{ current_question_data.name }}</span>
</div> </div>
<div <div class="lianxiTiMu" v-for="(item, index) in current_question_data.content" :key="index"
class="lianxiTiMu" @click="responseS(index)">
v-for="(item, index) in current_question_data.content" <span class="lianxiXueZe" v-bind:class="{
:key="index"
@click="responseS(index)"
>
<span
class="lianxiXueZe"
v-bind:class="{
active: current_question_data.response.indexOf(index) != -1, active: current_question_data.response.indexOf(index) != -1,
}" }">{{ xuhao[index] }}</span>
>{{ xuhao[index] }}</span
>
<span class="lianxiXueZe1">{{ item }}</span> <span class="lianxiXueZe1">{{ item }}</span>
</div> </div>
<div class="lianxiTiMu cuoti" v-if="current_question_data.is_wrong == 1"> <div class="lianxiTiMu cuoti" v-if="current_question_data.is_wrong == 1">
@ -174,14 +130,8 @@
<span>{{ current_question_data.name }}</span> <span>{{ current_question_data.name }}</span>
<div class="tiankong" v-for="(i, key) in tiankongdata" :key="key"> <div class="tiankong" v-for="(i, key) in tiankongdata" :key="key">
<div v-for="(item, index) in i.label.length" :key="index"> <div v-for="(item, index) in i.label.length" :key="index">
<input <input type="text" class="tiank" maxlength="1" v-model="i.num[index]" :id="'tk' + index"
type="text" @change="responseC()" />
class="tiank"
maxlength="1"
v-model="i.num[index]"
:id="'tk' + index"
@change="responseC()"
/>
</div> </div>
</div> </div>
</div> </div>
@ -201,35 +151,26 @@
<div class="lianxiBottomR" @click="popupVisible = true"> <div class="lianxiBottomR" @click="popupVisible = true">
<img src="../../../static/img/gengduo.png" alt="" /><span>{{ <img src="../../../static/img/gengduo.png" alt="" /><span>{{
current_question + 1 current_question + 1
}}</span }}</span>/{{ questions.length }}
>/{{ questions.length }}
</div> </div>
</div> </div>
</div> </div>
<!-- 练习题 --> <!-- 练习题 -->
<mt-popup v-model="popupVisible" position="bottom"> <mt-popup v-model="popupVisible" position="bottom">
<div class="order_number"> <div class="order_number">
<div <div v-for="(item, index) in questions" :key="index" @click="goQ(index)" v-bind:class="{
v-for="(item, index) in questions"
:key="index"
@click="goQ(index)"
v-bind:class="{
error: item.is_wrong == 1 && current_question != index, error: item.is_wrong == 1 && current_question != index,
active: current_question == index, active: current_question == index,
}" }">
>
{{ index + 1 }} {{ index + 1 }}
</div> </div>
</div> </div>
</mt-popup> </mt-popup>
<WXTake ref="wxchild" @result="printResult"></WXTake> <WXTake ref="wxchild" @result="printResult"></WXTake>
<input <input type="file" ref="fileInput" @change="onFileSelected" accept="image/*" style="display: none" />
type="file"
ref="fileInput" <div class="window-popup" v-show="popupVisible3"></div>
@change="onFileSelected" <div @click="computerTakePhoto" class="computer-take-photo" v-show="popupVisible3">点击上传照片</div>
accept="image/*"
style="display: none"
/>
</div> </div>
</template> </template>
@ -274,6 +215,7 @@ export default {
current_question: 0, current_question: 0,
current_question_data: 0, current_question_data: 0,
popupVisible: false, popupVisible: false,
popupVisible3: false,
is_end: false, is_end: false,
tiankongdata: [], tiankongdata: [],
submitCount: 0, // submitCount: 0, //
@ -427,6 +369,7 @@ export default {
} }
}, 1000); }, 1000);
} }
// console.log(curTime.toFixed(0))
// //
if ( if (
@ -510,7 +453,7 @@ export default {
this.getData("/Home/saveRecord", { this.getData("/Home/saveRecord", {
token: getStore("token"), token: getStore("token"),
id: this.choose_section_id, id: this.choose_section_id,
record: 0, record: '',
is_end: 1, is_end: 1,
}).then( }).then(
(data) => { (data) => {
@ -781,18 +724,25 @@ export default {
// //
partakePhoto() { partakePhoto() {
document.getElementById("video").pause(); document.getElementById("video").pause();
this.$refs.wxchild.takePhoto();
// if (
// window.navigator.userAgent.match(
// /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i
// )
// ) {
// console.log("");
// this.$refs.wxchild.takePhoto(); // this.$refs.wxchild.takePhoto();
// } else { if (
// console.log(""); window.navigator.userAgent.match(
/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i
)
) {
console.log("手机端拍照");
this.$refs.wxchild.takePhoto();
} else {
console.log("电脑端拍照");
this.popupVisible3 = true;
// this.windowTakePhoto(); // this.windowTakePhoto();
// } }
},
computerTakePhoto() {
this.popupVisible3 = false;
document.getElementById("video").pause();
this.$refs.wxchild.takePhoto();
}, },
// //
printResult(e1, e2) { printResult(e1, e2) {
@ -891,8 +841,10 @@ export default {
width: 100%; width: 100%;
height: 17.7rem; height: 17.7rem;
} }
.courseDetail { .courseDetail {
padding-top: 5rem; padding-top: 5rem;
.kind { .kind {
display: flex; display: flex;
align-items: center; align-items: center;
@ -907,19 +859,23 @@ export default {
font-weight: 400; font-weight: 400;
color: #0083ff; color: #0083ff;
overflow: hidden; overflow: hidden;
p { p {
width: 33.3%; width: 33.3%;
line-height: 3rem; line-height: 3rem;
border-right: 1px solid #0083ff; border-right: 1px solid #0083ff;
} }
p:last-child { p:last-child {
border-right: none; border-right: none;
} }
p.active { p.active {
color: #fff; color: #fff;
background: #0083ff; background: #0083ff;
} }
} }
.sp { .sp {
.shipin { .shipin {
width: 90%; width: 90%;
@ -927,6 +883,7 @@ export default {
border-bottom: 0.5rem solid #f4f4f4; border-bottom: 0.5rem solid #f4f4f4;
padding: 2rem 0; padding: 2rem 0;
position: relative; position: relative;
canvas { canvas {
position: absolute; position: absolute;
top: 0; top: 0;
@ -935,26 +892,32 @@ export default {
height: 30rem; height: 30rem;
z-index: 999; z-index: 999;
} }
// .show { // .show {
// } // }
} }
.mulu { .mulu {
border-bottom: 0.05rem solid #f4f4f4; border-bottom: 0.05rem solid #f4f4f4;
display: flex; display: flex;
align-items: center; align-items: center;
padding: 0.5rem 2rem; padding: 0.5rem 2rem;
img { img {
width: 3rem; width: 3rem;
height: 3rem; height: 3rem;
} }
.muluR { .muluR {
text-align: left; text-align: left;
margin-left: 1rem; margin-left: 1rem;
p:nth-child(1) { p:nth-child(1) {
font-size: 1.67rem; font-size: 1.67rem;
font-family: Adobe Heiti Std R; font-family: Adobe Heiti Std R;
font-weight: normal; font-weight: normal;
} }
p:nth-child(2) { p:nth-child(2) {
font-size: 1.35rem; font-size: 1.35rem;
font-family: SourceHanSansCN-Regular; font-family: SourceHanSansCN-Regular;
@ -965,6 +928,7 @@ export default {
} }
} }
} }
.jy { .jy {
.biaoti { .biaoti {
font-size: 2.5rem; font-size: 2.5rem;
@ -975,8 +939,10 @@ export default {
margin: 1.5rem; margin: 1.5rem;
} }
} }
.lx { .lx {
padding-bottom: 5rem; padding-bottom: 5rem;
.lianxiTiMu { .lianxiTiMu {
width: 90%; width: 90%;
margin: 2rem auto; margin: 2rem auto;
@ -986,6 +952,7 @@ export default {
text-align: left; text-align: left;
line-height: 2.5rem; line-height: 2.5rem;
color: #333333; color: #333333;
.lianxiTiMu1 { .lianxiTiMu1 {
width: 4.9rem; width: 4.9rem;
line-height: 1.7rem; line-height: 1.7rem;
@ -998,6 +965,7 @@ export default {
font-family: MicrosoftYaHei; font-family: MicrosoftYaHei;
font-weight: 400; font-weight: 400;
} }
.lianxiXueZe { .lianxiXueZe {
color: #5e5e5e; color: #5e5e5e;
width: 2.5rem; width: 2.5rem;
@ -1010,19 +978,24 @@ export default {
font-weight: 400; font-weight: 400;
text-align: center; text-align: center;
margin-right: 1rem; margin-right: 1rem;
&.active { &.active {
background: #0f93ff; background: #0f93ff;
} }
} }
.lianxiXueZe1 { .lianxiXueZe1 {
color: #5e5e5e; color: #5e5e5e;
} }
&.cuoti { &.cuoti {
color: red; color: red;
} }
.tiankong { .tiankong {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
.tiank { .tiank {
width: 3rem; width: 3rem;
height: 3rem; height: 3rem;
@ -1032,6 +1005,7 @@ export default {
} }
} }
} }
.lianxiBottom { .lianxiBottom {
width: 100%; width: 100%;
height: 5rem; height: 5rem;
@ -1046,28 +1020,34 @@ export default {
font-family: MicrosoftYaHei; font-family: MicrosoftYaHei;
font-weight: 400; font-weight: 400;
background: white; background: white;
img { img {
width: 1.5rem; width: 1.5rem;
height: 1.5rem; height: 1.5rem;
margin-right: 0.5rem; margin-right: 0.5rem;
} }
.lianxiBottomL { .lianxiBottomL {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
width: 60%; width: 60%;
div { div {
padding: 0 0.5rem; padding: 0 0.5rem;
background: #0083ff; background: #0083ff;
color: white; color: white;
line-height: 2rem; line-height: 2rem;
&.disable { &.disable {
background: grey; background: grey;
} }
} }
} }
.lianxiBottomR { .lianxiBottomR {
color: #a5a5a5; color: #a5a5a5;
span { span {
color: #333333; color: #333333;
} }
@ -1075,10 +1055,12 @@ export default {
} }
} }
} }
.order_number { .order_number {
width: 100vw; width: 100vw;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
>div { >div {
width: 10vw; width: 10vw;
font-size: 1.5rem; font-size: 1.5rem;
@ -1086,12 +1068,43 @@ export default {
line-height: 10vw; line-height: 10vw;
border: 1px solid black; border: 1px solid black;
box-sizing: border-box; box-sizing: border-box;
&.active { &.active {
background: #31a6ff; background: #31a6ff;
} }
&.error { &.error {
background: red; background: red;
} }
} }
} }
.window-popup {
z-index: 2000;
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
opacity: 0.5;
background: #000;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.computer-take-photo {
padding: 10px;
border-radius: 10px;
background-color: white;
color: black;
font-size: 20px;
z-index: 2999;
position: fixed;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
cursor: pointer;
opacity: 1 !important;
}
</style> </style>