(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-0b89f896"],{"0384":function(e,t,a){"use strict";a("1463")},"0fa1":function(e,t,a){"use strict";a.r(t);a("e9f5"),a("910d");var s=function(){var e=this,t=e._self._c;return t("div",{staticClass:"page-container"},[t("div",{staticClass:"filter-container clearFix"},[t("list-search-filter",{attrs:{"search-filter":e.lists.searchFilter},on:{clickSearchFilterBtn:t=>e.ListMethods().clickSearchFilterBtn(t)}},[t("div",{attrs:{slot:"right-container"},slot:"right-container"},[t("el-button",{staticClass:"el-button",attrs:{type:"primary",size:"small"},on:{click:function(t){e.LearnLogMethods().clickOpenExportLearnLogDialogBtn()}}},[e._v("学习记录导出和分析 ")]),t("el-button",{staticClass:"el-button",attrs:{type:"success",size:"small"},on:{click:function(t){e.ListMethods().clickOpenExportDialogBtn()}}},[e._v("批量导出最终成绩 ")])],1)])],1),t("div",{staticClass:"table-container"},[t("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.lists.loading,expression:"lists.loading"}],staticStyle:{width:"100%"},attrs:{"header-cell-style":{background:"#fafafa",color:"#555"},data:e.lists.list,"element-loading-text":"加载中",fit:""},on:{"sort-change":t=>e.ListMethods().sortChange(t)}},[t("el-table-column",{attrs:{align:"center",label:"操作",width:"100","class-name":"small-padding fixed-width"},scopedSlots:e._u([{key:"default",fn:function(a){return[t("el-button",{attrs:{type:"text",size:"mini",round:""},on:{click:function(t){e.ListMethods().clickViewBtn(a.row,a.$index)}}},[e._v("成绩详情 ")])]}}])}),t("el-table-column",{attrs:{label:"学期"},scopedSlots:e._u([{key:"default",fn:function(a){return[t("span",[e._v(e._s(a.row.semestername))])]}}])}),t("el-table-column",{attrs:{label:"班级",align:"center"},scopedSlots:e._u([{key:"default",fn:function(a){return[t("span",[e._v(e._s(a.row.clazzname))])]}}])}),t("el-table-column",{attrs:{label:"实验课程",align:"center"},scopedSlots:e._u([{key:"default",fn:function(a){return[t("span",[e._v(e._s(a.row.experimentname))])]}}])}),t("el-table-column",{attrs:{label:"实验开放时间",align:"center",width:"280",prop:"openstarttime",sortable:"custom"},scopedSlots:e._u([{key:"default",fn:function(a){return[t("span",[e._v(e._s(e._f("dateFormat")(a.row.openstarttime))+"-"+e._s(e._f("dateFormat")(a.row.openendtime)))])]}}])}),t("el-table-column",{attrs:{label:"实验状态",align:"center"},scopedSlots:e._u([{key:"default",fn:function(a){return[0===a.row.experimentstatus?t("span",{staticClass:"status0"},[t("i",{staticClass:"statusDot"}),e._v("未开始")]):e._e(),1===a.row.experimentstatus?t("span",{staticClass:"status1"},[t("i",{staticClass:"statusDot"}),e._v("进行中")]):e._e(),2===a.row.experimentstatus?t("span",{staticClass:"status2"},[t("i",{staticClass:"statusDot"}),e._v("已结束")]):e._e()]}}])}),t("el-table-column",{attrs:{label:"班级最高分",width:"120",align:"center",prop:"max",sortable:!0},scopedSlots:e._u([{key:"default",fn:function(a){return[2===a.row.experimentstatus?t("span",[null!==a.row.max?t("span",[e._v(e._s(e._f("numberFormat")(a.row.max)))]):t("span",[e._v("0")])]):t("span",[null!==a.row.max?t("span",[e._v(e._s(e._f("numberFormat")(a.row.max)))]):t("span",[e._v("--")])])]}}])}),t("el-table-column",{attrs:{label:"班级最低分",width:"120",align:"center",prop:"min",sortable:!0},scopedSlots:e._u([{key:"default",fn:function(a){return[2===a.row.experimentstatus?t("span",[null!==a.row.min?t("span",[e._v(e._s(e._f("numberFormat")(a.row.min)))]):t("span",[e._v("0")])]):t("span",[null!==a.row.min?t("span",[e._v(e._s(e._f("numberFormat")(a.row.min)))]):t("span",[e._v("--")])])]}}])}),t("el-table-column",{attrs:{label:"班级平均分",width:"120",align:"center",prop:"average",sortable:!0},scopedSlots:e._u([{key:"default",fn:function(a){return[2===a.row.experimentstatus?t("span",[null!==a.row.average?t("span",[e._v(e._s(e._f("numberFormat")(a.row.average)))]):t("span",[e._v("0")])]):t("span",[null!==a.row.average?t("span",[e._v(e._s(e._f("numberFormat")(a.row.average)))]):t("span",[e._v("--")])])]}}])}),t("el-table-column",{attrs:{label:"完成实验情况",align:"center"},scopedSlots:e._u([{key:"default",fn:function(a){return[t("span",[e._v(e._s(a.row.finishedUserNumber)+"/"+e._s(a.row.totalUserNumber)+" ("+e._s((a.row.finishedUserNumber/a.row.totalUserNumber*100).toFixed(0))+"%)")])]}}])}),t("el-table-column",{attrs:{label:"填写报告情况",align:"center"},scopedSlots:e._u([{key:"default",fn:function(a){return[t("span",[e._v(e._s(a.row.reportedUserNumber)+"/"+e._s(a.row.totalUserNumber)+" ("+e._s((a.row.reportedUserNumber/a.row.totalUserNumber*100).toFixed(0))+"%)")])]}}])})],1)],1),t("div",{staticClass:"pagination-container"},[t("el-pagination",{attrs:{background:"","current-page":e.lists.pages.number,"page-size":e.lists.pages.size,layout:"total,prev, pager, next,sizes,jumper",total:e.lists.pages.totalElements,"page-count":e.lists.pages.totalPages},on:{"current-change":t=>e.ListMethods().pageChange(t),"update:currentPage":function(t){return e.$set(e.lists.pages,"number",t)},"update:current-page":function(t){return e.$set(e.lists.pages,"number",t)},"update:pageSize":function(t){return e.$set(e.lists.pages,"size",t)},"update:page-size":function(t){return e.$set(e.lists.pages,"size",t)},"size-change":t=>e.ListMethods().pageLimitChange(t)}})],1),t("el-dialog",{directives:[{name:"el-drag-dialog",rawName:"v-el-drag-dialog"}],attrs:{"close-on-click-modal":!1,title:"批量导出实验成绩",visible:e.exportDialog.dialog,width:"660px",center:""},on:{"update:visible":function(t){return e.$set(e.exportDialog,"dialog",t)}}},[t("div",{staticClass:"dialog-container"},[t("div",{staticClass:"flex flex-around flex-wrap dialog-filter"},[t("div",{staticClass:"li"},[t("span",[e._v("学期：")]),t("el-select",{staticClass:"select",attrs:{size:"small"},model:{value:e.exportDialog.semesterId,callback:function(t){e.$set(e.exportDialog,"semesterId",t)},expression:"exportDialog.semesterId"}},e._l(e.lists.searchFilter.filter[0].data,(function(e,a){return t("el-option",{key:a,attrs:{value:e.value,label:e.label}})})),1)],1),t("div",{staticClass:"li"},[t("span",[e._v("教学班：")]),t("el-select",{staticClass:"select",attrs:{size:"small"},model:{value:e.exportDialog.clazzId,callback:function(t){e.$set(e.exportDialog,"clazzId",t)},expression:"exportDialog.clazzId"}},e._l(e.lists.searchFilter.filter[2].data,(function(e,a){return t("el-option",{key:a,attrs:{value:e.value,label:e.label}})})),1)],1),t("div",{staticClass:"li"},[t("span",[e._v("实验课程：")]),t("el-select",{staticClass:"select",attrs:{size:"small"},model:{value:e.exportDialog.experimentId,callback:function(t){e.$set(e.exportDialog,"experimentId",t)},expression:"exportDialog.experimentId"}},e._l(e.lists.searchFilter.filter[3].data,(function(e,a){return t("el-option",{key:a,attrs:{value:e.value,label:e.label}})})),1)],1)]),t("div",{staticClass:"dialog-footer",staticStyle:{"text-align":"center"},attrs:{slot:"footer"},slot:"footer"},[t("el-button",{attrs:{type:"default",size:"small"},on:{click:function(t){e.exportDialog.dialog=!1}}},[e._v("取消")]),t("el-button",{attrs:{type:"primary",size:"small",loading:e.exportDialog.loading},on:{click:function(t){e.ListMethods().clickExportBtn()}}},[e._v("导出该老师成绩")]),t("el-button",{attrs:{type:"default",size:"small",loading:e.exportDialog.loading},on:{click:function(t){e.ListMethods().clickExportAllBtn()}}},[e._v("导出所有老师成绩")])],1)])]),t("el-dialog",{directives:[{name:"el-drag-dialog",rawName:"v-el-drag-dialog"}],attrs:{"close-on-click-modal":!1,title:"批量导出学习记录",visible:e.exportLearnLogDialog.dialog,width:"1000px",center:""},on:{"update:visible":function(t){return e.$set(e.exportLearnLogDialog,"dialog",t)}}},[t("div",{staticClass:"dialog-container"},[t("div",{staticClass:"dialog-filter"},[t("div",{staticClass:"filter-item"},[t("span",{staticClass:"label"},[e._v("时间范围：")]),t("el-date-picker",{staticStyle:{width:"180px"},attrs:{type:"datetime",placeholder:"开始时间",size:"small","picker-options":e.exportLearnLogDialog.startTimeOptions},model:{value:e.exportLearnLogDialog.query.startTime,callback:function(t){e.$set(e.exportLearnLogDialog.query,"startTime",t)},expression:"exportLearnLogDialog.query.startTime"}}),t("span",{staticClass:"separator"},[e._v("至")]),t("el-date-picker",{staticStyle:{width:"180px"},attrs:{disabled:""===e.exportLearnLogDialog.query.startTime,type:"datetime",placeholder:"结束时间",size:"small","picker-options":e.exportLearnLogDialog.endTimeOptions,"default-time":"23:59:59"},model:{value:e.exportLearnLogDialog.query.endTime,callback:function(t){e.$set(e.exportLearnLogDialog.query,"endTime",t)},expression:"exportLearnLogDialog.query.endTime"}})],1),t("div",{staticClass:"filter-item"},[t("span",{staticClass:"label"},[e._v("实验：")]),t("el-radio-group",{attrs:{size:"small"},model:{value:e.exportLearnLogDialog.selectMode.experiment,callback:function(t){e.$set(e.exportLearnLogDialog.selectMode,"experiment",t)},expression:"exportLearnLogDialog.selectMode.experiment"}},[t("el-radio",{attrs:{label:"all"}},[e._v("全部")]),t("el-radio",{attrs:{label:"custom"}},[e._v("选择部分")])],1),t("el-select",{directives:[{name:"show",rawName:"v-show",value:"custom"===e.exportLearnLogDialog.selectMode.experiment,expression:"exportLearnLogDialog.selectMode.experiment === 'custom'"}],staticStyle:{width:"100%","margin-left":"10px"},attrs:{multiple:"",placeholder:"请选择实验",size:"small"},model:{value:e.exportLearnLogDialog.query.experimentId,callback:function(t){e.$set(e.exportLearnLogDialog.query,"experimentId",t)},expression:"exportLearnLogDialog.query.experimentId"}},e._l(e.filteredExperimentOptions,(function(e){return t("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)],1),e.userInfo.asSecretary?t("div",{staticClass:"filter-item"},[t("span",{staticClass:"label"},[e._v("教师：")]),t("el-radio-group",{attrs:{size:"small"},model:{value:e.exportLearnLogDialog.selectMode.teacher,callback:function(t){e.$set(e.exportLearnLogDialog.selectMode,"teacher",t)},expression:"exportLearnLogDialog.selectMode.teacher"}},[t("el-radio",{attrs:{label:"all"}},[e._v("全部")]),t("el-radio",{attrs:{label:"custom"}},[e._v("选择部分")])],1),t("el-select",{directives:[{name:"show",rawName:"v-show",value:"custom"===e.exportLearnLogDialog.selectMode.teacher,expression:"exportLearnLogDialog.selectMode.teacher === 'custom'"}],staticStyle:{width:"100%","margin-left":"10px"},attrs:{multiple:"",placeholder:"请选择教师",size:"small"},model:{value:e.exportLearnLogDialog.query.teacherId,callback:function(t){e.$set(e.exportLearnLogDialog.query,"teacherId",t)},expression:"exportLearnLogDialog.query.teacherId"}},e._l(e.exportLearnLogDialog.teacherOptions,(function(e){return t("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)],1):e._e(),t("div",{staticClass:"filter-item"},[t("span",{staticClass:"label"},[e._v("教学班：")]),t("el-radio-group",{attrs:{size:"small"},model:{value:e.exportLearnLogDialog.selectMode.clazz,callback:function(t){e.$set(e.exportLearnLogDialog.selectMode,"clazz",t)},expression:"exportLearnLogDialog.selectMode.clazz"}},[t("el-radio",{attrs:{label:"all"}},[e._v("全部")]),t("el-radio",{attrs:{label:"custom"}},[e._v("选择部分")])],1),t("el-select",{directives:[{name:"show",rawName:"v-show",value:"custom"===e.exportLearnLogDialog.selectMode.clazz,expression:"exportLearnLogDialog.selectMode.clazz === 'custom'"}],staticStyle:{width:"100%","margin-left":"10px"},attrs:{multiple:"",placeholder:"请选择教学班",size:"small"},model:{value:e.exportLearnLogDialog.query.clazzId,callback:function(t){e.$set(e.exportLearnLogDialog.query,"clazzId",t)},expression:"exportLearnLogDialog.query.clazzId"}},e._l(e.exportLearnLogDialog.clazzOptions,(function(e){return t("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)],1),t("div",{staticClass:"filter-item"},[t("span",{staticClass:"label"},[e._v("行政班：")]),t("el-radio-group",{attrs:{size:"small"},model:{value:e.exportLearnLogDialog.selectMode.adminClazz,callback:function(t){e.$set(e.exportLearnLogDialog.selectMode,"adminClazz",t)},expression:"exportLearnLogDialog.selectMode.adminClazz"}},[t("el-radio",{attrs:{label:"all"}},[e._v("全部")]),t("el-radio",{attrs:{label:"custom"}},[e._v("选择部分")])],1),t("el-select",{directives:[{name:"show",rawName:"v-show",value:"custom"===e.exportLearnLogDialog.selectMode.adminClazz,expression:"exportLearnLogDialog.selectMode.adminClazz === 'custom'"}],staticStyle:{width:"100%","margin-left":"10px"},attrs:{multiple:"",filterable:"",remote:"","reserve-keyword":"",placeholder:"请输入行政班名称进行搜索","remote-method":t=>e.LearnLogMethods().getAdministrationClazzList(t),loading:e.exportLearnLogDialog.adminClazzLoading,size:"small"},on:{focus:function(t){e.LearnLogMethods().getAdministrationClazzList("")}},model:{value:e.exportLearnLogDialog.query.administrationClazzId,callback:function(t){e.$set(e.exportLearnLogDialog.query,"administrationClazzId",t)},expression:"exportLearnLogDialog.query.administrationClazzId"}},e._l(e.exportLearnLogDialog.adminClazzOptions,(function(e){return t("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)],1)]),t("div",{staticClass:"search-btn-container"},[t("el-button",{attrs:{type:"primary",size:"small",loading:e.exportLearnLogDialog.loading},on:{click:function(t){e.LearnLogMethods().searchLearnLog()}}},[e._v(" "+e._s(e.exportLearnLogDialog.loading?"查询中...":"查询学习记录")+" ")])],1),e.exportLearnLogDialog.total>-1?t("div",{staticClass:"statistics-container"},[t("div",{staticClass:"statistics-info"},[e._v(" 共查询到 "),t("span",{staticClass:"highlight"},[e._v(e._s(e.exportLearnLogDialog.total))]),e._v(" 条学习记录 ")])]):e._e(),e.exportLearnLogDialog.total>0?t("div",{staticClass:"dialog-footer"},[t("el-button",{attrs:{type:"primary",size:"small",loading:e.exportLearnLogDialog.exportLoading,disabled:!e.allListsLoaded},on:{click:function(t){e.LearnLogMethods().exportExcel()}}},[e._v(" "+e._s(e.exportLearnLogDialog.exportLoading?"导出中...":e.allListsLoaded?"导出表格":"正在加载必要数据...")+" ")]),t("el-button",{attrs:{type:"success",size:"small"},on:{click:function(t){e.LearnLogMethods().analyzeData()}}},[e._v("数据分析")])],1):e._e()])]),t("el-dialog",{directives:[{name:"el-drag-dialog",rawName:"v-el-drag-dialog"}],attrs:{"close-on-click-modal":!1,title:"学习记录数据分析",visible:e.analysisDialog.visible,width:"1200px",center:""},on:{"update:visible":function(t){return e.$set(e.analysisDialog,"visible",t)}}},[t("div",{staticClass:"analysis-container"},[t("div",{staticClass:"filter-summary"},[t("div",{staticClass:"summary-title"},[e._v("筛选条件")]),t("div",{staticClass:"summary-content"},[t("div",{staticClass:"summary-item"},[t("span",{staticClass:"label"},[e._v("时间范围：")]),t("span",{staticClass:"value"},[e._v(" "+e._s(e.exportLearnLogDialog.query.startTime?e.date_format(e.exportLearnLogDialog.query.startTime,"yyyy-MM-dd HH:mm:ss"):"不限")+" 至 "+e._s(e.exportLearnLogDialog.query.endTime?e.date_format(e.exportLearnLogDialog.query.endTime,"yyyy-MM-dd HH:mm:ss"):"不限")+" ")])]),t("div",{staticClass:"summary-item"},[t("span",{staticClass:"label"},[e._v("实验：")]),t("span",{staticClass:"value"},[e._v(e._s(e.filterSummary.experimentText))])]),e.userInfo.asSecretary?t("div",{staticClass:"summary-item"},[t("span",{staticClass:"label"},[e._v("教师：")]),t("span",{staticClass:"value"},[e._v(e._s(e.filterSummary.teacherText))])]):e._e(),t("div",{staticClass:"summary-item"},[t("span",{staticClass:"label"},[e._v("教学班：")]),t("span",{staticClass:"value"},[e._v(e._s(e.filterSummary.clazzText))])]),t("div",{staticClass:"summary-item"},[t("span",{staticClass:"label"},[e._v("行政班：")]),t("span",{staticClass:"value"},[e._v(e._s(e.filterSummary.adminClazzText))])])])]),t("div",{staticClass:"statistics-cards"},[t("el-row",{attrs:{gutter:20}},[t("el-col",{attrs:{span:e.userInfo.asSecretary?6:8}},[t("el-card",{attrs:{shadow:"hover"}},[t("div",{staticClass:"stat-item"},[t("div",{staticClass:"stat-title"},[e._v("学生数量")]),t("div",{staticClass:"stat-value"},[e._v(e._s(e.analysisDialog.stats.studentCount))])])])],1),e.userInfo.asSecretary?t("el-col",{attrs:{span:6}},[t("el-card",{attrs:{shadow:"hover"}},[t("div",{staticClass:"stat-item"},[t("div",{staticClass:"stat-title"},[e._v("教师数量")]),t("div",{staticClass:"stat-value"},[e._v(e._s(e.analysisDialog.stats.teacherCount))])])])],1):e._e(),t("el-col",{attrs:{span:e.userInfo.asSecretary?6:8}},[t("el-card",{attrs:{shadow:"hover"}},[t("div",{staticClass:"stat-item"},[t("div",{staticClass:"stat-title"},[e._v("教学班数量")]),t("div",{staticClass:"stat-value"},[e._v(e._s(e.analysisDialog.stats.clazzCount))])])])],1),t("el-col",{attrs:{span:e.userInfo.asSecretary?6:8}},[t("el-card",{attrs:{shadow:"hover"}},[t("div",{staticClass:"stat-item"},[t("div",{staticClass:"stat-title"},[e._v("行政班数量")]),t("div",{staticClass:"stat-value"},[e._v(e._s(e.analysisDialog.stats.adminClazzCount))])])])],1)],1),t("el-row",{staticStyle:{"margin-top":"20px"},attrs:{gutter:20}},[t("el-col",{attrs:{span:8}},[t("el-card",{attrs:{shadow:"hover"}},[t("div",{staticClass:"stat-item"},[t("div",{staticClass:"stat-title"},[e._v("实验数量")]),t("div",{staticClass:"stat-value"},[e._v(e._s(e.analysisDialog.stats.experimentCount))])])])],1),t("el-col",{attrs:{span:8}},[t("el-card",{attrs:{shadow:"hover"}},[t("div",{staticClass:"stat-item"},[t("div",{staticClass:"stat-title"},[e._v("完成学习数 / 总记录数")]),t("div",{staticClass:"stat-value"},[e._v(e._s(e.analysisDialog.stats.finishedCount)+" / "+e._s(e.analysisDialog.stats.totalCount)+" ")]),t("div",{staticClass:"stat-sub"},[e._v("完成率: "+e._s(e.analysisDialog.stats.finishRate)+"%")])])])],1)],1),t("el-row",{staticStyle:{"margin-top":"20px"},attrs:{gutter:20}},[t("el-col",{attrs:{span:12}},[t("el-card",{attrs:{shadow:"hover"}},[t("div",{staticClass:"stat-item"},[t("div",{staticClass:"stat-title"},[e._v("得分统计")]),t("div",{staticClass:"stat-value"},[e._v("平均 "+e._s(e.analysisDialog.stats.avgScore)+" 分")]),t("div",{staticClass:"stat-sub"},[e._v("最高: "+e._s(e.analysisDialog.stats.maxScore)+"分 / 最低: "+e._s(e.analysisDialog.stats.minScore)+"分 ")])])])],1),t("el-col",{attrs:{span:12}},[t("el-card",{attrs:{shadow:"hover"}},[t("div",{staticClass:"stat-item"},[t("div",{staticClass:"stat-title"},[e._v("用时统计")]),t("div",{staticClass:"stat-value"},[e._v("平均: "+e._s(e.analysisDialog.stats.avgTime))]),t("div",{staticClass:"stat-sub"},[e._v("最长: "+e._s(e.analysisDialog.stats.maxTime))]),t("div",{staticClass:"stat-sub"},[e._v("最短: "+e._s(e.analysisDialog.stats.minTime))]),t("div",{staticClass:"stat-sub"},[e._v("总计: "+e._s(e.analysisDialog.stats.totalTime))])])])],1)],1)],1),t("div",{staticClass:"chart-container",staticStyle:{"margin-top":"30px"}},[t("div",{ref:"learningChart",staticStyle:{width:"100%",height:"400px"}})])])])],1)},i=[],l=(a("13d5"),a("f665"),a("7d54"),a("ab43"),a("9485"),a("1e70"),a("79a4"),a("c1a1"),a("8b00"),a("a4e7"),a("1e5a"),a("72c3"),a("e2f9")),r=a("d808"),o=a("a888"),n=a("5c8a"),c=a("cf45"),d=a("2f62"),g=a("d6a9"),u=a("2ca2"),p=a("7b75"),m=a("a32b"),L=(a("cab8"),a("1fcd")),h=a("9204"),x=a("a5cf"),z=a("f44b"),f=a("ed33"),v=a("acd7"),y=a("cd77"),b=a("22b4"),D=a("1be7"),C=a("4cb5"),_=a("3620"),w=a("9394"),O=a("2da7"),I=a("4b2a"),S=a("ff32"),k=a("ee29"),M=a("f95e");b["a"]([C["a"],_["a"],w["a"],O["a"],I["a"],S["a"],k["a"],M["a"]]);var T={name:"teacherScore",components:{ListSearchFilter:l["a"]},directives:{elDragDialog:o["a"]},filters:{dateFormat:h["a"],numberFormat:h["d"],minuteSecondFilter:h["c"]},computed:{...Object(d["b"])({userInfo:e=>e.user}),filteredExperimentOptions(){return this.lists.searchFilter.filter[3].data.filter(e=>""!==e.value)},filterSummary(){return{experimentText:"all"===this.exportLearnLogDialog.selectMode.experiment?"全部":this.exportLearnLogDialog.query.experimentId.length?this.exportLearnLogDialog.query.experimentId.map(e=>{var t;return(null===(t=this.filteredExperimentOptions.find(t=>t.value===e))||void 0===t?void 0:t.label)||"-"}).join("、"):"未选择",teacherText:this.userInfo.asSecretary?"all"===this.exportLearnLogDialog.selectMode.teacher?"全部":this.exportLearnLogDialog.query.teacherId.length?this.exportLearnLogDialog.query.teacherId.map(e=>{var t;return(null===(t=this.exportLearnLogDialog.teacherOptions.find(t=>t.value===e))||void 0===t?void 0:t.label)||"-"}).join("、"):"未选择":this.userInfo.name,clazzText:"all"===this.exportLearnLogDialog.selectMode.clazz?"全部":this.exportLearnLogDialog.query.clazzId.length?this.exportLearnLogDialog.query.clazzId.map(e=>{var t;return(null===(t=this.exportLearnLogDialog.clazzOptions.find(t=>t.value===e))||void 0===t?void 0:t.label)||"-"}).join("、"):"未选择",adminClazzText:"all"===this.exportLearnLogDialog.selectMode.adminClazz?"全部":this.exportLearnLogDialog.query.administrationClazzId.length?this.exportLearnLogDialog.query.administrationClazzId.map(e=>{var t;return(null===(t=this.exportLearnLogDialog.adminClazzOptions.find(t=>t.value===e))||void 0===t?void 0:t.label)||"-"}).join("、"):"未选择"}},allListsLoaded(){const e=this.exportLearnLogDialog.listLoadingStatus;return e.teacher&&e.clazz&&e.adminClazz}},data(){return{date_format:c["f"],enums:r["a"],lists:{list:[],loading:!1,query:{},queryBase:{},pages:{size:10},searchFilter:{search:[],filter:[{type:"select",label:"学期",key:"semesterid",value:"",data:[],dataObject:{},dataOrigin:[],change:function(e){}},{type:"select",label:"年级",key:"gradeid",hidden:!0,value:"",data:[],dataObject:{},dataOrigin:[],change:function(e){}},{type:"select",label:"教学班",key:"clazzid",value:"",data:[],dataObject:{},dataOrigin:[],change:function(e){}},{type:"select",label:"实验课程",key:"experimentid",value:"",data:[],dataObject:{},dataOrigin:[],change:function(e){}},{type:"select",label:"实验状态",key:"experimentalstatus",value:"",data:Object(c["o"])(r["a"].experimentStatus,!0),dataObject:{},hidden:!0,dataOrigin:[],change:function(e){}}]}},entityInfo:{title:"新班级",type:"add",dialog:!1,filter:[{data:[],dataObject:{},dataOrigin:[]},{data:[],dataObject:{},dataOrigin:[]},{data:[],dataObject:{},dataOrigin:[]}],edit:{},formRules:{departmentid:{required:!0,message:"请选择院",trigger:"blur"},majorid:{required:!0,message:"请输入专业",trigger:"blur"},gradeid:{required:!0,message:"请选择年级",trigger:"blur"},name:{required:!0,message:"请输入班级名称",trigger:"blur"}}},exportDialog:{dialog:!1,loading:!1,semesterId:"",clazzId:"",experimentId:"",experimentStatus:""},exportLearnLogDialog:{dialog:!1,total:-1,query:{type:2,status:0,startTime:"",endTime:"",schoolId:"",experimentId:[],teacherId:[],clazzId:[],administrationClazzId:[]},startTimeOptions:{disabledDate(e){return e.getTime()>Date.now()}},endTimeOptions:{disabledDate(e){var t;return null===(t=this.exportLearnLogDialog)||void 0===t||null===(t=t.query)||void 0===t||!t.startTime||(e.getTime()<this.exportLearnLogDialog.query.startTime.getTime()||e.getTime()>Date.now())}},teacherOptions:[],adminClazzOptions:[],adminClazzAllOptions:[],adminClazzLoading:!1,adminClazzOptionsCache:{},isFirstFocus:!0,selectMode:{experiment:"all",teacher:"all",clazz:"all",adminClazz:"all"},clazzOptions:[],loading:!1,result:[],exportLoading:!1,listLoadingStatus:{teacher:!1,clazz:!1,adminClazz:!1}},analysisDialog:{visible:!1,stats:{studentCount:0,teacherCount:0,clazzCount:0,adminClazzCount:0,experimentCount:0,totalCount:0,finishedCount:0,finishRate:"0.0",maxScore:0,minScore:0,avgScore:0,maxTime:"-",minTime:"-",avgTime:"-",totalTime:"-"},chart:null}}},async mounted(){await this.ListMethods().initFilter(),this.ListMethods().getList(1,this.lists.pages.size,this.lists.query),window.addEventListener("resize",this.resizeChart)},beforeDestroy(){window.removeEventListener("resize",this.resizeChart),this.analysisDialog.chart&&(this.analysisDialog.chart.dispose(),this.analysisDialog.chart=null)},created(){this.exportLearnLogDialog.endTimeOptions.disabledDate=this.exportLearnLogDialog.endTimeOptions.disabledDate.bind(this)},methods:{resizeChart(){this.analysisDialog.chart&&this.analysisDialog.chart.resize()},ListMethods(){let e=this;return{clickOpenExportDialogBtn(){e.exportDialog.semesterId=e.lists.searchFilter.filter[0].value,e.exportDialog.clazzId=e.lists.searchFilter.filter[2].value,e.exportDialog.experimentId=e.lists.searchFilter.filter[3].value,e.exportDialog.experimentStatus=e.lists.searchFilter.filter[4].value,e.exportDialog.dialog=!0},async clickExportBtn(){Object(n["f"])("导出时间较长，请耐心等待，不要关闭窗口！"),e.exportDialog.loading=!0;try{let t=e.lists.searchFilter.filter[0].dataObject[e.exportDialog.semesterId]||"",a=e.lists.searchFilter.filter[2].dataObject[e.exportDialog.clazzId]||"",s=e.lists.searchFilter.filter[3].dataObject[e.exportDialog.experimentId]||"",i=[t,a,s].filter(e=>e),l="学生成绩信息列表"+(i.length?"-"+i.join("-"):"");await L["a"].exportMultiple(e.userInfo.userid,e.exportDialog.semesterId,e.exportDialog.clazzId,e.exportDialog.experimentId,e.exportDialog.experimentStatus,l)}finally{e.exportDialog.loading=!1}},async getList(t,a,s){s=Object.assign(s,e.lists.queryBase),e.lists.loading=!0,[e.lists.list,e.lists.pages]=await L["a"].getList(t,a,s),e.lists.loading=!1},async pageChange(t){this.getList(t,e.lists.pages.size,e.lists.query)},async pageLimitChange(t){this.getList(e.lists.pages.number,t,e.lists.query)},async sortChange(t){if("custom"===t.column.sortable){let a=e.lists.query.sort;a=u["a"].elementTableSort(t),a=a.replace("opentime,desc","openendtime,desc"),a=a.replace("opentime,asc","openstarttime,asc"),e.$set(e.lists.query,"sort",a),this.getList(1,e.lists.pages.size,e.lists.query)}},async initFilter(t){if(!t||0===t){let t=await m["a"].getList(0,0,{teacherid:e.userInfo.userid}),a=u["a"].generateListFilterOptions("name","id",t,!0);e.$set(e.lists.searchFilter.filter[0],"data",a[0]),e.$set(e.lists.searchFilter.filter[0],"dataObject",a[1]),e.$set(e.lists.searchFilter.filter[0],"dataOrigin",t)}if(!t||1===t){let t=(await g["a"].getList(1,-1,{}))[0],a=u["a"].generateListFilterOptions("clazzName","clazzid",t,!0);e.$set(e.lists.searchFilter.filter[2],"data",a[0]),e.$set(e.lists.searchFilter.filter[2],"dataObject",a[1]),e.$set(e.lists.searchFilter.filter[2],"dataOrigin",t)}if(!t||2===t){let t=await p["a"].getTeacherExperimentList(e.userInfo),a=u["a"].generateListFilterOptions("name","id",t,!0);e.$set(e.lists.searchFilter.filter[3],"data",a[0]),e.$set(e.lists.searchFilter.filter[3],"dataObject",a[1]),e.$set(e.lists.searchFilter.filter[3],"dataOrigin",t)}e.$forceUpdate()},clickSearchFilterBtn(t){this.getList(1,e.lists.pages.size,t),e.lists.query=t},clickViewBtn(t){let a=t.semestername+" "+t.clazzname+" "+t.experimentname+" 实验成绩详情";x["a"].routerPush(e,`/teacher/scoreInfo?title=${a}&scheduleId=${t.id}&clazzid=${t.clazzid}&experimentid=${t.experimentid}&semesterid=${t.semesterid}&experimentname=${encodeURI(t.experimentname)}&clazzname=${encodeURI(t.clazzname)}`,"成绩管理 / 成绩详情",{},"4",[{name:"成绩管理",path:"/teacher/score",index:"4"},{name:"成绩详情"}])},async clickExportAllBtn(){let t=e.exportDialog.experimentId,a=e.exportDialog.semesterId;if(t&&a){Object(n["f"])("导出时间较长，请耐心等待，不要关闭窗口！"),e.exportDialog.loading=!0;try{let s=e.lists.searchFilter.filter[0].dataObject[a]||"",i=e.lists.searchFilter.filter[3].dataObject[t]||"",l=[s,i].filter(e=>e),r="全校学生成绩信息列表"+(l.length?"-"+l.join("-"):"");await L["a"].exportOneSchoolAllStudentScore(e.userInfo.schoolId,t,a,r)}finally{e.exportDialog.loading=!1}}else Object(n["d"])("请先在上方筛选栏中选择要导出的实验课程和学期!")}}},LearnLogMethods(){let e=this;return{clickOpenExportLearnLogDialogBtn(){e.exportLearnLogDialog.dialog=!0},async searchLearnLog(){const t={type:2,status:0,schoolId:e.userInfo.schoolId,startTime:e.exportLearnLogDialog.query.startTime,endTime:e.exportLearnLogDialog.query.endTime,experimentId:"all"===e.exportLearnLogDialog.selectMode.experiment?[]:e.exportLearnLogDialog.query.experimentId,teacherId:e.userInfo.asSecretary?"all"===e.exportLearnLogDialog.selectMode.teacher?[]:e.exportLearnLogDialog.query.teacherId:[e.userInfo.userid],clazzId:"all"===e.exportLearnLogDialog.selectMode.clazz?[]:e.exportLearnLogDialog.query.clazzId,administrationClazzId:"all"===e.exportLearnLogDialog.selectMode.adminClazz?[]:e.exportLearnLogDialog.query.administrationClazzId};e.exportLearnLogDialog.loading=!0;try{const a=await f["a"].getExportList(t);e.exportLearnLogDialog.result=a,e.exportLearnLogDialog.total=a.length}catch(a){console.error("查询学习记录失败:",a),Object(n["d"])(a.message||"查询学习录失败"),e.exportLearnLogDialog.result=[],e.exportLearnLogDialog.total=0}finally{e.exportLearnLogDialog.loading=!1}},async exportExcel(){if(e.exportLearnLogDialog.result.length){e.exportLearnLogDialog.exportLoading=!0,Object(n["c"])("正在导出学习记录，请稍等...");try{let a=e.exportLearnLogDialog.result;const s={};e.filteredExperimentOptions.forEach(e=>{s[e.value]=e.label});const i={};e.exportLearnLogDialog.teacherOptions.forEach(e=>{i[e.value]=e.label});const l={};e.exportLearnLogDialog.clazzOptions.forEach(e=>{l[e.value]=e.label});const r={};e.exportLearnLogDialog.adminClazzOptions.forEach(e=>{r[e.value]=e.label}),a=a.map(e=>({...e,experimentName:s[e.experimentId]||"-",teacherName:i[e.teacherId]||"-",clazzName:l[e.clazzId]||"-",administrationClazzName:r[e.administrationClazzId]||"-"}));const o=["学生账号","学生姓名","所属教师","教学班级","行政班级","实验项目","登录时间","是否完成学习","传分时间","本次得分","学习用时"],n=["account","name","teacherName","clazzName","administrationClazzName","experimentName","createTime","hasScore","scoreTime","score","usedTime"];function t(e,t){return t.map(t=>e.map(e=>{let a="";switch(e){case"createTime":case"scoreTime":a=t[e]?Object(c["f"])(t[e],"yyyy-MM-dd HH:mm:ss"):"-";break;case"hasScore":a=t.scoreTime?"是":"否";break;case"score":a=t.scoreTime?t[e]:"-";break;case"usedTime":a=t.scoreTime?Object(h["c"])(1e3*t[e]):"-";break;default:a=t[e]||"-"}return a}))}Object(y["a"])(a,o,n,t,"学习记录-"+Object(c["f"])(new Date,"yyyy-MM-dd HH:mm:ss"))}catch(a){console.error("导出失败:",a),Object(n["d"])(a.message||"导出失败")}finally{e.exportLearnLogDialog.exportLoading=!1}}else Object(n["d"])("没有可导出的数据")},analyzeData(){const t=e.exportLearnLogDialog.result;if(!t||0===t.length)return void Object(n["d"])("没有可分析的数据");const a={studentCount:new Set(t.map(e=>e.account)).size,teacherCount:new Set(t.map(e=>e.teacherId)).size,clazzCount:new Set(t.map(e=>e.clazzId)).size,adminClazzCount:new Set(t.map(e=>e.administrationClazzId)).size,experimentCount:new Set(t.map(e=>e.experimentId)).size,totalCount:t.length,finishedCount:t.filter(e=>e.scoreTime).length};a.finishRate=(a.finishedCount/a.totalCount*100).toFixed(1);const s=t.filter(e=>e.scoreTime);if(s.length>0){a.maxScore=Math.max(...s.map(e=>e.score)),a.minScore=Math.min(...s.map(e=>e.score)),a.avgScore=(s.reduce((e,t)=>e+t.score,0)/s.length).toFixed(1);const e=e=>{const t=Math.floor(e/3600),a=Math.floor(e%3600/60),s=e%60;return`${t}小时${a}分${s}秒`},t=s.map(e=>e.usedTime);a.maxTime=e(Math.max(...t)),a.minTime=e(Math.min(...t)),a.avgTime=e(Math.floor(t.reduce((e,t)=>e+t,0)/t.length)),a.totalTime=e(t.reduce((e,t)=>e+t,0))}const i=new Map;t.forEach(e=>{const t=Object(c["f"])(e.createTime,"yyyyMMdd");i.has(t)||i.set(t,{total:0,finished:0}),i.get(t).total++,e.scoreTime&&i.get(t).finished++});const l=Array.from(i.keys()).sort(),r={dates:l,total:l.map(e=>i.get(e).total),finished:l.map(e=>i.get(e).finished)};e.analysisDialog.stats=a,e.analysisDialog.visible=!0,e.$nextTick(()=>{e.analysisDialog.chart&&e.analysisDialog.chart.dispose(),e.analysisDialog.chart=D["b"](e.$refs.learningChart);const t={title:{text:"每日学习情况统计",left:"center"},tooltip:{trigger:"axis",axisPointer:{type:"cross",crossStyle:{color:"#999"}}},legend:{data:["学习人数","完成人数"],bottom:10},xAxis:{type:"category",data:r.dates.map(e=>e.replace(/(\d{4})(\d{2})(\d{2})/,"$1-$2-$3")),axisPointer:{type:"shadow"}},yAxis:{type:"value",name:"人数",minInterval:1},series:[{name:"学习人数",type:"bar",data:r.total,barMaxWidth:50},{name:"完成人数",type:"line",data:r.finished}]};e.analysisDialog.chart.setOption(t)})},async getAdministrationClazzList(t=""){if(!t&&e.exportLearnLogDialog.isFirstFocus){if(e.exportLearnLogDialog.isFirstFocus=!1,e.exportLearnLogDialog.adminClazzAllOptions.length>0)return e.$set(e.exportLearnLogDialog,"adminClazzOptions",e.exportLearnLogDialog.adminClazzAllOptions),void(e.exportLearnLogDialog.listLoadingStatus.adminClazz=!0)}else{if(t&&e.exportLearnLogDialog.adminClazzOptionsCache[t])return e.$set(e.exportLearnLogDialog,"adminClazzOptions",e.exportLearnLogDialog.adminClazzOptionsCache[t]),void(e.exportLearnLogDialog.listLoadingStatus.adminClazz=!0);if(!t&&!e.exportLearnLogDialog.isFirstFocus)return}e.exportLearnLogDialog.listLoadingStatus.adminClazz=!1,e.exportLearnLogDialog.adminClazzLoading=!0;try{let a={schoolId:e.userInfo.schoolId,name:t},[s]=await v["a"].getList(1,-1,a),i=s.map(e=>({label:e["gradeName"]+" - "+e["name"],value:e["id"]}));t?e.exportLearnLogDialog.adminClazzOptionsCache[t]=i:e.$set(e.exportLearnLogDialog,"adminClazzAllOptions",i),e.$set(e.exportLearnLogDialog,"adminClazzOptions",i),e.exportLearnLogDialog.listLoadingStatus.adminClazz=!0}catch(a){console.error("获取行政班列表失败:",a),Object(n["d"])("获取行政班列表失败")}finally{e.exportLearnLogDialog.adminClazzLoading=!1}}}}},watch:{"exportLearnLogDialog.dialog":{async handler(e){if(e){if(this.exportLearnLogDialog.listLoadingStatus={teacher:!1,clazz:!1,adminClazz:!1},this.userInfo.asSecretary)if(0===this.exportLearnLogDialog.teacherOptions.length)try{const e=await z["a"].getOneSchoolAllTeacherList(this.userInfo.schoolid),t=e.map(e=>({value:e.id,label:e.name}));this.$set(this.exportLearnLogDialog,"teacherOptions",t),this.exportLearnLogDialog.listLoadingStatus.teacher=!0}catch(t){console.error("获取教师列表失败:",t),Object(n["d"])("获取教师列表失败")}else this.exportLearnLogDialog.listLoadingStatus.teacher=!0;else this.$set(this.exportLearnLogDialog.query,"teacherId",[this.userInfo.userid]),this.$set(this.exportLearnLogDialog,"teacherOptions",[{label:this.userInfo.username,value:this.userInfo.userid}]),this.exportLearnLogDialog.listLoadingStatus.teacher=!0;try{let e=[];this.userInfo.asSecretary||(e=[{id:this.userInfo.userid,name:this.userInfo.username}]);const t=await f["a"].getAllClazzListByTeachers(this.userInfo.schoolid,e);this.$set(this.exportLearnLogDialog,"clazzOptions",t),this.exportLearnLogDialog.listLoadingStatus.clazz=!0}catch(t){console.error("获取教学班列表失败:",t),Object(n["d"])("获取教学班列表失败")}await this.LearnLogMethods().getAdministrationClazzList(),this.exportLearnLogDialog.isFirstFocus=!0}}},"exportLearnLogDialog.selectMode":{handler(e){"all"===e.experiment&&(this.exportLearnLogDialog.query.experimentId=[]),"all"===e.teacher&&this.userInfo.asSecretary&&(this.exportLearnLogDialog.query.teacherId=[]),"all"===e.clazz&&(this.exportLearnLogDialog.query.clazzId=[]),"all"===e.adminClazz&&(this.exportLearnLogDialog.query.administrationClazzId=[])},deep:!0},"exportLearnLogDialog.selectMode.teacher":{async handler(e){if(this.exportLearnLogDialog.dialog)try{this.exportLearnLogDialog.listLoadingStatus.clazz=!1,this.exportLearnLogDialog.query.clazzId=[];let t=[];"custom"===e&&this.exportLearnLogDialog.query.teacherId.length>0&&(t=this.exportLearnLogDialog.query.teacherId.map(e=>{const t=this.exportLearnLogDialog.teacherOptions.find(t=>t.value===e);return{id:e,name:t?t.label:""}}));const a=await f["a"].getAllClazzListByTeachers(this.userInfo.schoolid,t);this.$set(this.exportLearnLogDialog,"clazzOptions",a),this.exportLearnLogDialog.listLoadingStatus.clazz=!0}catch(t){console.error("获取教学班列表失败:",t),Object(n["d"])("获取教学班列表失败")}}},"exportLearnLogDialog.query.teacherId":{async handler(e){if(this.exportLearnLogDialog.dialog&&"custom"===this.exportLearnLogDialog.selectMode.teacher)try{this.exportLearnLogDialog.listLoadingStatus.clazz=!1,this.exportLearnLogDialog.query.clazzId=[];const t=e.map(e=>{const t=this.exportLearnLogDialog.teacherOptions.find(t=>t.value===e);return{id:e,name:t?t.label:""}}),a=await f["a"].getAllClazzListByTeachers(this.userInfo.schoolid,t);this.$set(this.exportLearnLogDialog,"clazzOptions",a),this.exportLearnLogDialog.listLoadingStatus.clazz=!0}catch(t){console.error("获取教学班列表失败:",t),Object(n["d"])("获取教学班列表失败")}}},"analysisDialog.visible"(e){!e&&this.analysisDialog.chart&&(this.analysisDialog.chart.dispose(),this.analysisDialog.chart=null)}}},j=T,q=(a("0384"),a("2877")),F=Object(q["a"])(j,s,i,!1,null,"f01b1b76",null);t["default"]=F.exports},1463:function(e,t,a){},a32b:function(e,t,a){"use strict";a.d(t,"a",(function(){return o}));var s=a("8ce4"),i=a("7b67");async function l(e){return Object(s["a"])(i["b"]+"admin/semester/list","get",e)}var r=a("2ca2");class o{static async getList(e,t,a){let s={page:e,size:t};s=Object.assign(s,a);let[i]=await l(s);if(0===t)return i.data;{let e=r["a"].generateListMybatisPlus(i.data),t=e[0];return[t,e[1]]}}}},acd7:function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var s=a("8ce4"),i=a("7b67");async function l(e){return Object(s["a"])(i["b"]+"admin/administrationClazz/list","get",e)}async function r(e){return Object(s["a"])(i["b"]+"admin/administrationClazz/conditionQueryList","get",e)}async function o(e){return Object(s["a"])(i["b"]+"admin/administrationClazz/info/"+e,"get",{})}var n=a("2ca2");class c{static async getList(e,t,a){let s={page:e,size:t};s=Object.assign(s,a);let[i]=await l(s);if(0===t)return i.data;{let e=n["a"].generateListMybatisPlus(i.data),t=e[0];return[t,e[1]]}}static async conditionQueryList(e,t){let a={name:e,schoolId:t},[s]=await r(a);return s.data}static async getOne(e){let[t]=await o(e);return 2e4===t.code&&t.data}}},d6a9:function(e,t,a){"use strict";a.d(t,"a",(function(){return u}));var s=a("8ce4"),i=a("7b67");async function l(e){return Object(s["a"])(i["c"]+"consumer/clazz/list","get",e)}async function r(e){return Object(s["a"])(i["c"]+"consumer/clazz/save","post_json",e)}async function o(e){return Object(s["a"])(i["c"]+"consumer/clazz/update","post_json",e)}async function n(e){return Object(s["a"])(i["c"]+"consumer/clazz/delete","post_json",e)}async function c(e){return Object(s["a"])(i["c"]+"consumer/clazz/info/"+e,"get",{})}async function d(e){return Object(s["a"])(i["c"]+"consumer/clazz/addSelectStudent","post_json",e)}var g=a("2ca2");a("bc3a"),a("5c8a");class u{static async getList(e,t,a){let s={page:e,size:t};s=Object.assign(s,a);let[i]=await l(s);if(0===t)return i.data;{let e=g["a"].generateListMybatisPlus(i.data),t=e[0];return[t,e[1]]}}static async save(e){let[t]=await r(e);return 2e4===t.code}static async update(e){let[t]=await o(e);return 2e4===t.code}static async remove(e){let[t]=await n(e);return 2e4===t.code}static async getOne(e){let[t]=await c(e);return 2e4===t.code&&t.data}static async addSelectStudent(e){let[t]=await d(e);return 2e4===t.code}}},f44b:function(e,t,a){"use strict";a.d(t,"a",(function(){return o}));var s=a("8ce4"),i=a("7b67");async function l(e){return Object(s["a"])(i["b"]+"admin/teacher/oneSchoolAllTeacherList/"+e,"get",{})}async function r(){return Object(s["a"])(i["b"]+"admin/teacher/oneSchoolDefaultPasswordInfo","get",{})}class o{static async getOneSchoolAllTeacherList(e){let[t]=await l(e);return 2e4==t.code?t.data:[]}static async getOneSchoolDefaultPasswordInfo(){let[e]=await r();return 2e4==e.code?e.data:""}}}}]);