292 lines
11 KiB
HTML
292 lines
11 KiB
HTML
|
|
<!doctype html>
|
|||
|
|
<html>
|
|||
|
|
|
|||
|
|
<head>
|
|||
|
|
<title></title>
|
|||
|
|
|
|||
|
|
<vt:include file="inc/meta_api.inc" />
|
|||
|
|
<script src="/Utility/ElementUi/index.js"></script>
|
|||
|
|
<style>
|
|||
|
|
.box-card {
|
|||
|
|
width: 500px;
|
|||
|
|
margin-bottom: 20px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.item {
|
|||
|
|
height: 50px;
|
|||
|
|
line-height: 50px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.item>span {
|
|||
|
|
display: block;
|
|||
|
|
width: 60px;
|
|||
|
|
text-align: right;
|
|||
|
|
float: left;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.item .el-input {
|
|||
|
|
width: auto;
|
|||
|
|
width: calc(100% - 100px);
|
|||
|
|
float: left;
|
|||
|
|
margin-left: 5px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#log-box {
|
|||
|
|
width: calc(100% - 540px);
|
|||
|
|
position: absolute;
|
|||
|
|
right: 8px;
|
|||
|
|
top: 8px;
|
|||
|
|
}
|
|||
|
|
</style>
|
|||
|
|
</head>
|
|||
|
|
|
|||
|
|
<body>
|
|||
|
|
<div id="vue-app">
|
|||
|
|
<!-- 查询框-->
|
|||
|
|
<el-card class="box-card">
|
|||
|
|
<div slot="header" class="clearfix">
|
|||
|
|
<span>按名称或账号查询</span>
|
|||
|
|
<el-button style="float: right; padding: 8px 20px;margin-top: -5px;" type="primary"
|
|||
|
|
@click="getAccountLogs">
|
|||
|
|
查询
|
|||
|
|
</el-button>
|
|||
|
|
</div>
|
|||
|
|
<div class="item">
|
|||
|
|
<span>姓名:</span>
|
|||
|
|
<el-input placeholder="请输入内容" v-model="name" class="textbox"></el-input>
|
|||
|
|
</div>
|
|||
|
|
<div class="item">
|
|||
|
|
<span>账号:</span>
|
|||
|
|
<el-input placeholder="请输入内容" v-model="acc" class="textbox"></el-input>
|
|||
|
|
</div>
|
|||
|
|
</el-card>
|
|||
|
|
<!--学习记录的查询结果-->
|
|||
|
|
<el-card class="box-card" v-show="result.showBox">
|
|||
|
|
<div slot="header" class="clearfix">
|
|||
|
|
<span>来自学习记录(LogForStudentStudy)的查询结果</span>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
<el-table :data="result.logs" v-loading="loading" stripe style="width: 100%">
|
|||
|
|
<el-table-column prop="Ac_ID" label="ID" width="100">
|
|||
|
|
</el-table-column>
|
|||
|
|
<el-table-column prop="Ac_Name" label="姓名" width="100">
|
|||
|
|
</el-table-column>
|
|||
|
|
<el-table-column prop="Ac_AccName" label="账号" width="120">
|
|||
|
|
</el-table-column>
|
|||
|
|
<el-table-column label="学习记录" width="80" fixed="right">
|
|||
|
|
<template slot-scope="scope">
|
|||
|
|
<el-button @click="getStudyLog(scope.row)" type="text" size="small">查看</el-button>
|
|||
|
|
</template>
|
|||
|
|
</el-table-column>
|
|||
|
|
</el-table>
|
|||
|
|
</el-card>
|
|||
|
|
<!--账户表的学员信息-->
|
|||
|
|
<el-card class="box-card" v-show="result.showBox">
|
|||
|
|
<div slot="header" class="clearfix">
|
|||
|
|
<span>通过学习记录,反查账户(Accounts)</span>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
<el-table :data="result.accounts" v-loading="loading" stripe style="width: 100%">
|
|||
|
|
<el-table-column prop="Ac_ID" label="ID" width="100">
|
|||
|
|
</el-table-column>
|
|||
|
|
<el-table-column prop="Ac_Name" label="姓名" width="100">
|
|||
|
|
</el-table-column>
|
|||
|
|
<el-table-column prop="Ac_AccName" label="账号" width="120">
|
|||
|
|
</el-table-column>
|
|||
|
|
<el-table-column prop="Ac_LastTime" label="最后登录">
|
|||
|
|
</el-table-column>
|
|||
|
|
|
|||
|
|
</el-table>
|
|||
|
|
</el-card>
|
|||
|
|
<el-card class="box-card" v-show="result.showBox">
|
|||
|
|
<div slot="header" class="clearfix">
|
|||
|
|
<span>通过学员姓名,反查账户(Accounts)</span>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
<el-table :data="result.acc4name" v-loading="loading" stripe style="width: 100%">
|
|||
|
|
<el-table-column prop="Ac_ID" label="ID" width="100">
|
|||
|
|
</el-table-column>
|
|||
|
|
<el-table-column prop="Ac_Name" label="姓名" width="100">
|
|||
|
|
</el-table-column>
|
|||
|
|
<el-table-column prop="Ac_AccName" label="账号" width="120">
|
|||
|
|
</el-table-column>
|
|||
|
|
<el-table-column prop="Ac_LastTime" label="最后登录">
|
|||
|
|
</el-table-column>
|
|||
|
|
|
|||
|
|
</el-table>
|
|||
|
|
</el-card>
|
|||
|
|
<!-- 学习记录-->
|
|||
|
|
<el-card class="box-card" id="log-box" v-show="log.showBox">
|
|||
|
|
<div slot="header" class="clearfix">
|
|||
|
|
<span><b>{{log.name}}</b> 的学习记录</span>
|
|||
|
|
<template>
|
|||
|
|
<el-select style="display: none" v-model="log.curr_Course" style="float: right" placeholder="课程"
|
|||
|
|
@change="getCourse">
|
|||
|
|
<el-option v-for="item in courses" :key="item.Cou_ID" :label="item.Cou_Name"
|
|||
|
|
:value="item.Cou_ID">
|
|||
|
|
</el-option>
|
|||
|
|
</el-select>
|
|||
|
|
</template>
|
|||
|
|
</div>
|
|||
|
|
<el-table :data="log.logs" stripe style="width: 100%">
|
|||
|
|
<el-table-column prop="Ac_ID" label="ID" width="100">
|
|||
|
|
</el-table-column>
|
|||
|
|
<el-table-column prop="Ac_Name" label="姓名" width="100">
|
|||
|
|
</el-table-column>
|
|||
|
|
<el-table-column prop="Ac_AccName" label="账号" width="120">
|
|||
|
|
</el-table-column>
|
|||
|
|
<el-table-column prop="Cou_ID" label="课程" :filters="coursesFilter" :filter-method="filterHandler">
|
|||
|
|
<template slot-scope="scope">
|
|||
|
|
{{scope.row.Org_ID}}
|
|||
|
|
</template>
|
|||
|
|
</el-table-column>
|
|||
|
|
<el-table-column prop="Ol_ID" label="章节" width="60">
|
|||
|
|
</el-table-column>
|
|||
|
|
<el-table-column prop="Lss_IP" label="IP">
|
|||
|
|
</el-table-column>
|
|||
|
|
<el-table-column prop="Lss_LastTime" label="时间">
|
|||
|
|
</el-table-column>
|
|||
|
|
</el-table>
|
|||
|
|
</el-card>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</body>
|
|||
|
|
|
|||
|
|
<script>
|
|||
|
|
var vm = new Vue({
|
|||
|
|
data: {
|
|||
|
|
name: '', //学员姓名
|
|||
|
|
acc: '', //学员账号
|
|||
|
|
loading: true,
|
|||
|
|
result: {
|
|||
|
|
accounts: new Array(), //查询到学员信息
|
|||
|
|
logs: new Array(), //查询到学员信息
|
|||
|
|
acc4name: new Array(), //通过姓名查询来的账号
|
|||
|
|
success: false,
|
|||
|
|
showBox: false,
|
|||
|
|
showError: false
|
|||
|
|
},
|
|||
|
|
//学习记录
|
|||
|
|
log: {
|
|||
|
|
showBox: false,
|
|||
|
|
name: '', //当学员名称
|
|||
|
|
acid: 0, //当前学员id
|
|||
|
|
logs: new Array(),
|
|||
|
|
course: [],
|
|||
|
|
curr_Course: ''
|
|||
|
|
},
|
|||
|
|
courses: new Array(),
|
|||
|
|
//课程筛选
|
|||
|
|
coursesFilter: new Array()
|
|||
|
|
},
|
|||
|
|
methods: {
|
|||
|
|
//获取学员账户信息
|
|||
|
|
getAccountLogs: function () {
|
|||
|
|
$api.get('Account/ForLogs', { acc: this.acc, name: this.name }, function () {
|
|||
|
|
vm.result.accounts = [];
|
|||
|
|
vm.result.showBox = true;
|
|||
|
|
vm.loading = true;
|
|||
|
|
}, function () {
|
|||
|
|
vm.loading = false;
|
|||
|
|
}).then(function (response) {
|
|||
|
|
var data = response.data;
|
|||
|
|
if (data.Success) {
|
|||
|
|
vm.result.logs = data.Data;
|
|||
|
|
}
|
|||
|
|
vm.result.acc4name = [];
|
|||
|
|
for (var i = 0; i < vm.result.logs.length; i++) {
|
|||
|
|
var acid = vm.result.logs[i].Ac_ID;
|
|||
|
|
$api.get('Account/ForID', { id: acid }).then(function (d) {
|
|||
|
|
var data = d.data;
|
|||
|
|
if (data.Success) {
|
|||
|
|
vm.result.accounts.push(data.Data);
|
|||
|
|
var acname = data.Data.Ac_Name;
|
|||
|
|
$api.get('Account/ForName', { name: acname }).then(function (d) {
|
|||
|
|
var data = d.data;
|
|||
|
|
if (data.Success) {
|
|||
|
|
for (var j = 0; j < data.Data.length; j++) {
|
|||
|
|
vm.result.acc4name.push(data.Data[j]);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}).catch(function (error) {
|
|||
|
|
console.log(error);
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
//获取学员学习记录
|
|||
|
|
getStudyLog: function (acc) {
|
|||
|
|
vm.log.name = acc.Ac_Name;
|
|||
|
|
vm.log.acid = acc.Ac_ID;
|
|||
|
|
vm.log.showBox = true;
|
|||
|
|
$api.get('Account/StudyLog', { acid: acc.Ac_ID, couid: -1 }).then(function (response) {
|
|||
|
|
var data = response.data;
|
|||
|
|
if (data.Success) {
|
|||
|
|
var courses = new Array();
|
|||
|
|
for (var i = 0; i < data.Data.length; i++) {
|
|||
|
|
if (courses.indexOf(data.Data[i].Cou_ID) > -1)
|
|||
|
|
continue;
|
|||
|
|
courses.push(data.Data[i].Cou_ID);
|
|||
|
|
}
|
|||
|
|
vm.courses = [];
|
|||
|
|
vm.coursesFilter = [];
|
|||
|
|
for (var j = 0; j < courses.length; j++) {
|
|||
|
|
$api.get('Course/ForID', { id: courses[j] }).then(function (response) {
|
|||
|
|
var data = response.data;
|
|||
|
|
if (data.Success) {
|
|||
|
|
vm.courses.push(data.Data);
|
|||
|
|
vm.coursesFilter.push({ text: data.Data.Cou_Name, value: data.Data.Cou_ID });
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
vm.log.logs = data.Data;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}).catch(function (error) {
|
|||
|
|
console.log(error);
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
getCourse: function (couid) {
|
|||
|
|
$api.get('Account/StudyLog', { acid: vm.log.acid, couid: couid }).then(function (response) {
|
|||
|
|
var data = response.data;
|
|||
|
|
if (data.Success) {
|
|||
|
|
vm.log.logs = data.Data;
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
//获取课程名称
|
|||
|
|
getCourName: function (log) {
|
|||
|
|
var couname = '';
|
|||
|
|
for (var j = 0; j < vm.courses.length; j++) {
|
|||
|
|
if (vm.courses[j].Cou_ID == log.Cou_ID) {
|
|||
|
|
couname = vm.Cou_Name;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
return couname;
|
|||
|
|
},
|
|||
|
|
filterHandler(value, row, column) {
|
|||
|
|
const property = column['property'];
|
|||
|
|
var rowid = row[property];
|
|||
|
|
return row[property] === value;
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
watch: {
|
|||
|
|
courses: function () {
|
|||
|
|
for (var i = 0; i < vm.courses.length; i++) {
|
|||
|
|
for (var j = 0; j < vm.log.logs.length; j++) {
|
|||
|
|
if (vm.courses[i].Cou_ID == vm.log.logs[j].Cou_ID) {
|
|||
|
|
vm.log.logs[j].Org_ID = vm.courses[i].Cou_Name;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
vm.$mount('#vue-app');
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
</html>
|