|
@@ -4,7 +4,9 @@ import request from "~/utils/request";
|
|
|
import {REQUEST} from "~/utils/request";
|
|
|
import {user} from "~/store";
|
|
|
import {useRouter} from "vue-router";
|
|
|
+
|
|
|
const router = useRouter();
|
|
|
+console.log(router,7)
|
|
|
const route = useRoute();
|
|
|
const linkTo = (obj) => {
|
|
|
router.push(obj);
|
|
@@ -16,21 +18,22 @@ let subject_id = $ref('')
|
|
|
let school_list = $ref([])
|
|
|
let subject_list = $ref([])
|
|
|
let tableData = $ref([])
|
|
|
-let barSubject = $ref([]);
|
|
|
+let barSchool = $ref([]);
|
|
|
let barPercent = $ref([]);
|
|
|
-let barUnusual = $ref(['缺考','学号异常','页码异常','缺考异常','客观题异常','选择题异常','判断题异常','填空题异常']);
|
|
|
-let barUnData = $ref([40,70,100,70,70,70,80,90])
|
|
|
+let barUnusual = $ref(['缺考', '学号异常', '页码异常', '缺考异常', '客观题异常', '选择题异常', '判断题异常', '填空题异常']);
|
|
|
+let barUnData = $ref([])
|
|
|
let sub_nav = [{
|
|
|
- id:'1',
|
|
|
- name:'考场进度监控'
|
|
|
-},{
|
|
|
- id:'2',
|
|
|
- name:'异常分类监控'
|
|
|
+ id: '1',
|
|
|
+ name: '考场进度监控'
|
|
|
+}, {
|
|
|
+ id: '2',
|
|
|
+ name: '异常分类监控'
|
|
|
}]
|
|
|
let cur_sub = $ref({
|
|
|
- id:'1',
|
|
|
- name:'考场进度监控'
|
|
|
+ id: '1',
|
|
|
+ name: '考场进度监控'
|
|
|
})
|
|
|
+
|
|
|
function getFilterData() {
|
|
|
let data = {
|
|
|
ykj_id: ykj_id
|
|
@@ -45,6 +48,7 @@ function getFilterData() {
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
+
|
|
|
function getData() {
|
|
|
let data = {
|
|
|
ykj_id: ykj_id,
|
|
@@ -52,25 +56,27 @@ function getData() {
|
|
|
subject_id: subject_id,
|
|
|
};
|
|
|
request({
|
|
|
- url: "/yzy/scan/km",
|
|
|
+ url: "/yzy/scan/kd",
|
|
|
data: data,
|
|
|
}).then((res) => {
|
|
|
if (res.code === '1') {
|
|
|
- ykj_name = res.data.ksjh.ykj_ksrwmc;
|
|
|
- tableData = res.data.list;
|
|
|
- barSubject = [];
|
|
|
- barPercent = [];
|
|
|
- tableData.forEach(item =>{
|
|
|
- barSubject.push(item.ze_xueke_name);
|
|
|
- barPercent.push(item.scan_percent);
|
|
|
- })
|
|
|
- nextTick(()=>{
|
|
|
+ ykj_name = res.data.ksjh.ykj_ksrwmc;
|
|
|
+ tableData = res.data.list;
|
|
|
+ barSchool = [];
|
|
|
+ barPercent = [];
|
|
|
+ res.data.kdjd.forEach(item => {
|
|
|
+ barSchool.push(item.sm_name);
|
|
|
+ barPercent.push(item.scan_percent);
|
|
|
+ })
|
|
|
+ barUnData = [res.data.kcjk.qks,res.data.kcjk.xhycs,res.data.kcjk.ymycs,res.data.kcjk.qkycs,res.data.kcjk.kgtycs,res.data.kcjk.xztycs,res.data.kcjk.pdtycs,res.data.kcjk.tktycs];
|
|
|
+ nextTick(() => {
|
|
|
initChart();
|
|
|
})
|
|
|
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
+
|
|
|
function initChart() {
|
|
|
// 基于准备好的dom,初始化echarts实例
|
|
|
let myChart = echarts.init(document.getElementById('barBox'));
|
|
@@ -91,7 +97,7 @@ function initChart() {
|
|
|
{
|
|
|
type: 'category',
|
|
|
name: '学校',
|
|
|
- data: barSubject,
|
|
|
+ data: barSchool,
|
|
|
axisTick: {
|
|
|
alignWithLabel: true
|
|
|
},
|
|
@@ -116,8 +122,8 @@ function initChart() {
|
|
|
color: '#000',
|
|
|
fontSize: 14
|
|
|
},
|
|
|
- itemStyle:{
|
|
|
- color:'#6897FF',
|
|
|
+ itemStyle: {
|
|
|
+ color: '#6897FF',
|
|
|
borderRadius: [16, 16, 0, 0]
|
|
|
},
|
|
|
data: barPercent
|
|
@@ -125,6 +131,7 @@ function initChart() {
|
|
|
]
|
|
|
});
|
|
|
}
|
|
|
+
|
|
|
function initUnChart() {
|
|
|
// 绘制图表
|
|
|
let myChart_u = echarts.init(document.getElementById('unBox'));
|
|
@@ -144,7 +151,7 @@ function initUnChart() {
|
|
|
xAxis: [
|
|
|
{
|
|
|
type: 'category',
|
|
|
- name: '考点',
|
|
|
+ name: '异常',
|
|
|
data: barUnusual,
|
|
|
axisTick: {
|
|
|
alignWithLabel: true
|
|
@@ -154,7 +161,7 @@ function initUnChart() {
|
|
|
yAxis: [
|
|
|
{
|
|
|
type: 'value',
|
|
|
- name: '人数(%)',
|
|
|
+ name: '人数',
|
|
|
nameTextStyle: {
|
|
|
fontSize: 14
|
|
|
}
|
|
@@ -170,8 +177,8 @@ function initUnChart() {
|
|
|
color: '#000',
|
|
|
fontSize: 14
|
|
|
},
|
|
|
- itemStyle:{
|
|
|
- color:'#6897FF',
|
|
|
+ itemStyle: {
|
|
|
+ color: '#6897FF',
|
|
|
borderRadius: [16, 16, 0, 0]
|
|
|
},
|
|
|
data: barUnData
|
|
@@ -179,21 +186,23 @@ function initUnChart() {
|
|
|
]
|
|
|
});
|
|
|
}
|
|
|
+
|
|
|
function switchSub(item) {
|
|
|
cur_sub = item;
|
|
|
- if(item.id === '1') {
|
|
|
- nextTick(()=>{
|
|
|
+ if (item.id === '1') {
|
|
|
+ nextTick(() => {
|
|
|
initChart();
|
|
|
})
|
|
|
|
|
|
} else {
|
|
|
- nextTick(()=>{
|
|
|
+ nextTick(() => {
|
|
|
initUnChart();
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+
|
|
|
onMounted(() => {
|
|
|
if (route.params.ykj_id) {
|
|
|
ykj_id = route.params.ykj_id;
|
|
@@ -219,7 +228,7 @@ onMounted(() => {
|
|
|
<button type="button" class="back-btn" @click="linkTo({name:'process'})">返回</button>
|
|
|
</div>
|
|
|
<div class="mt-10px w-full bg-hex-fff py-20px px-15px">
|
|
|
- <h3 class="mb-20px text-16px text-center">{{ykj_name}}</h3>
|
|
|
+ <h3 class="mb-20px text-16px text-center">{{ ykj_name }}</h3>
|
|
|
<ul class="tab-nav m-auto">
|
|
|
<li @click="linkTo({name:'process-smpyjd-ykj_id',params:{ykj_id:ykj_id}})">科目扫描进度</li>
|
|
|
<li class="selected">考点扫描进度</li>
|
|
@@ -249,7 +258,9 @@ onMounted(() => {
|
|
|
</el-select>
|
|
|
</div>
|
|
|
<ul class="sub-nav">
|
|
|
- <li v-for="item in sub_nav" :class="item.id === cur_sub.id?'selected':''" @click="switchSub(item)">{{item.name}}</li>
|
|
|
+ <li v-for="item in sub_nav" :class="item.id === cur_sub.id?'selected':''" @click="switchSub(item)">
|
|
|
+ {{ item.name }}
|
|
|
+ </li>
|
|
|
</ul>
|
|
|
</div>
|
|
|
<div v-if="cur_sub.id === '1'">
|
|
@@ -271,20 +282,20 @@ onMounted(() => {
|
|
|
<th>操作</th>
|
|
|
</tr>
|
|
|
<tr v-for="item in tableData">
|
|
|
- <td>{{item.ze_xueke_name}}</td>
|
|
|
- <td>{{item.scan_percent}}</td>
|
|
|
- <td>{{item.student_num}}</td>
|
|
|
- <td>{{item.scan_num}}</td>
|
|
|
- <td>{{item.qks}}</td>
|
|
|
- <td>{{item.xhycs}}</td>
|
|
|
- <td>{{item.ymycs}}</td>
|
|
|
- <td>{{item.qkycs}}</td>
|
|
|
- <td>{{item.kgtycs}}</td>
|
|
|
- <td>{{item.xztycs}}</td>
|
|
|
- <td>{{item.pdtycs}}</td>
|
|
|
- <td>{{item.tktycs}}</td>
|
|
|
+ <td>{{ item.ykg_name }}</td>
|
|
|
+ <td>{{ item.scan_percent }}%</td>
|
|
|
+ <td>{{ item.student_num }}</td>
|
|
|
+ <td>{{ item.scan_num }}</td>
|
|
|
+ <td>{{ item.qks }}</td>
|
|
|
+ <td>{{ item.xhycs }}</td>
|
|
|
+ <td>{{ item.ymycs }}</td>
|
|
|
+ <td>{{ item.qkycs }}</td>
|
|
|
+ <td>{{ item.kgtycs }}</td>
|
|
|
+ <td>{{ item.xztycs }}</td>
|
|
|
+ <td>{{ item.pdtycs }}</td>
|
|
|
+ <td>{{ item.tktycs }}</td>
|
|
|
<td>
|
|
|
- <button type="button" class="op-btn">查看详情</button>
|
|
|
+ <button type="button" class="op-btn" @click="linkTo({name:'process-kdsmjd-detail-ykj_id-ykg_id',params:{ykj_id:ykj_id,ykg_id:item.ykg_id}})">查看详情</button>
|
|
|
</td>
|
|
|
</tr>
|
|
|
</table>
|
|
@@ -300,7 +311,7 @@ onMounted(() => {
|
|
|
|
|
|
<style scoped lang="scss">
|
|
|
$color: #0048e5;
|
|
|
-.tab-nav{
|
|
|
+.tab-nav {
|
|
|
width: 457px;
|
|
|
background: #ffffff;
|
|
|
border: 1px solid #dbe7ec;
|
|
@@ -308,7 +319,8 @@ $color: #0048e5;
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
padding: 6px 9px;
|
|
|
- li{
|
|
|
+
|
|
|
+ li {
|
|
|
width: 140px;
|
|
|
height: 28px;
|
|
|
border-radius: 4px;
|
|
@@ -317,15 +329,18 @@ $color: #0048e5;
|
|
|
text-align: center;
|
|
|
line-height: 28px;
|
|
|
cursor: pointer;
|
|
|
- &+li{
|
|
|
+
|
|
|
+ & + li {
|
|
|
margin-left: 10px;
|
|
|
}
|
|
|
- &.selected{
|
|
|
+
|
|
|
+ &.selected {
|
|
|
background: #e2eaf9;
|
|
|
color: #000;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.data-table {
|
|
|
width: 100%;
|
|
|
table-layout: fixed;
|
|
@@ -341,10 +356,12 @@ $color: #0048e5;
|
|
|
text-align: center;
|
|
|
font-size: 16px;
|
|
|
color: #fff;
|
|
|
- &:first-child{
|
|
|
+
|
|
|
+ &:first-child {
|
|
|
border-radius: 6px 0 0 0;
|
|
|
}
|
|
|
- &:last-child{
|
|
|
+
|
|
|
+ &:last-child {
|
|
|
border-radius: 0 6px 0 0;
|
|
|
}
|
|
|
}
|
|
@@ -370,6 +387,7 @@ $color: #0048e5;
|
|
|
background: url("/images/no-data.png") center no-repeat;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.op-btn {
|
|
|
width: 82px;
|
|
|
height: 30px;
|
|
@@ -379,18 +397,21 @@ $color: #0048e5;
|
|
|
font-size: 14px;
|
|
|
color: #003eee;
|
|
|
text-align: center;
|
|
|
- &:disabled{
|
|
|
+
|
|
|
+ &:disabled {
|
|
|
background: #ccc;
|
|
|
border-color: #ccc;
|
|
|
color: #fff;
|
|
|
pointer-events: none;
|
|
|
}
|
|
|
}
|
|
|
-.sub-nav{
|
|
|
+
|
|
|
+.sub-nav {
|
|
|
width: 280px;
|
|
|
height: 30px;
|
|
|
display: flex;
|
|
|
- li{
|
|
|
+
|
|
|
+ li {
|
|
|
width: 50%;
|
|
|
background: #ffffff;
|
|
|
font-size: 16px;
|
|
@@ -399,17 +420,20 @@ $color: #0048e5;
|
|
|
line-height: 28px;
|
|
|
text-align: center;
|
|
|
cursor: pointer;
|
|
|
- &.selected{
|
|
|
- border-radius: 4px!important;
|
|
|
- background:#003eee;
|
|
|
+
|
|
|
+ &.selected {
|
|
|
+ border-radius: 4px !important;
|
|
|
+ background: #003eee;
|
|
|
border-color: #003eee;
|
|
|
color: #fff;
|
|
|
}
|
|
|
- &:first-child{
|
|
|
+
|
|
|
+ &:first-child {
|
|
|
border-right: 0;
|
|
|
border-radius: 4px 0 0 4px;
|
|
|
}
|
|
|
- &:last-child{
|
|
|
+
|
|
|
+ &:last-child {
|
|
|
border-left: 0;
|
|
|
border-radius: 0 4px 4px 0;
|
|
|
}
|