|
@@ -32,76 +32,106 @@
|
|
|
</el-form>
|
|
</el-form>
|
|
|
<el-table v-loading="loading" :data="list" style="width: 100%; margin-top: 10px" height="50vh">
|
|
<el-table v-loading="loading" :data="list" style="width: 100%; margin-top: 10px" height="50vh">
|
|
|
<el-table-column prop="name" label="作业名称"> </el-table-column>
|
|
<el-table-column prop="name" label="作业名称"> </el-table-column>
|
|
|
- <el-table-column prop="full_score" label="满分">
|
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
|
- <div class="bold">{{ scope.row.full_score }}</div>
|
|
|
|
|
- </template>
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
- <el-table-column prop="max_score" label="最高分">
|
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
|
- <div class="bold">{{ scope.row.max_score }}</div>
|
|
|
|
|
- </template>
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
- <el-table-column prop="avg_score" label="平均分">
|
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
|
- <div class="bold">{{ scope.row.avg_score }}</div>
|
|
|
|
|
- </template>
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
- <el-table-column prop="pass_rate" label="及格率">
|
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
|
- <div class="bold" style="color: #0a9dff">
|
|
|
|
|
- {{ scope.row.pass_rate }}
|
|
|
|
|
- </div>
|
|
|
|
|
- </template>
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
- <el-table-column prop="phone" label="批阅进度" width="180">
|
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
|
- <div class="d-f prosss_box">
|
|
|
|
|
- <el-progress
|
|
|
|
|
- :percentage="scope.row.ww"
|
|
|
|
|
- :stroke-width="8"
|
|
|
|
|
- :color="
|
|
|
|
|
|
|
+ <el-table-column prop="full_score" label="满分">
|
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
|
+ <div class="bold">{{ scope.row.full_score }}</div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column prop="max_score" label="最高分">
|
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
|
+ <div class="bold">{{ scope.row.max_score }}</div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column prop="avg_score" label="平均分">
|
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
|
+ <div class="bold">{{ scope.row.avg_score }}</div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column prop="pass_rate" label="及格率">
|
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
|
+ <div class="bold" style="color: #0a9dff">
|
|
|
|
|
+ {{ scope.row.pass_rate }}
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column prop="phone" label="批阅进度" width="180">
|
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
|
+ <div class="d-f prosss_box">
|
|
|
|
|
+ <el-progress :percentage="scope.row.ww" :stroke-width="8" :color="
|
|
|
scope.row.total_students == scope.row.marked_students
|
|
scope.row.total_students == scope.row.marked_students
|
|
|
? '#0A9DFF'
|
|
? '#0A9DFF'
|
|
|
: '#FA0A2F'
|
|
: '#FA0A2F'
|
|
|
- "
|
|
|
|
|
- ></el-progress>
|
|
|
|
|
- <div class="contrasts">
|
|
|
|
|
- <span>{{ scope.row.marked_students }}/</span>
|
|
|
|
|
- <span>{{ scope.row.total_students }}</span>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
- </template>
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
|
|
+ "></el-progress>
|
|
|
|
|
+ <div class="contrasts">
|
|
|
|
|
+ <span>{{ scope.row.marked_students }}/</span>
|
|
|
|
|
+ <span>{{ scope.row.total_students }}</span>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
<el-table-column align="center" prop="ctime" label="创建时间" />
|
|
<el-table-column align="center" prop="ctime" label="创建时间" />
|
|
|
<el-table-column align="center" prop="date" label="操作" width="360">
|
|
<el-table-column align="center" prop="date" label="操作" width="360">
|
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
<el-button @click="jump(
|
|
<el-button @click="jump(
|
|
|
'/task/markpaper?title=' +
|
|
'/task/markpaper?title=' +
|
|
|
scope.row.name +
|
|
scope.row.name +
|
|
|
'&id=' +
|
|
'&id=' +
|
|
|
- scope.row.id
|
|
|
|
|
- )" size="mini" type="success">开始阅卷</el-button>
|
|
|
|
|
- <el-button @click="edit(scope.row.id)" size="mini" type="warning">编辑</el-button>
|
|
|
|
|
- <el-button @click="openUploadPaper(scope.row.id)" size="mini" type="primary">上传试卷</el-button>
|
|
|
|
|
- <el-button @click="del(scope.row.id)" size="mini" type="danger">删除</el-button>
|
|
|
|
|
|
|
+ scope.row.task_id
|
|
|
|
|
+ )" size="mini" type="success">开始阅卷</el-button>
|
|
|
|
|
+ <el-button @click="edit(scope.row.id)" size="mini" type="warning">阅卷设置</el-button>
|
|
|
|
|
+ <el-button @click="edit(scope.row.id)" size="mini" type="warning">编辑</el-button>
|
|
|
|
|
+ <el-button @click="openUploadPaper(scope.row.task_id)" size="mini" type="primary">上传试卷</el-button>
|
|
|
|
|
+ <el-button @click="del(scope.row.task_id)" size="mini" type="danger">删除</el-button>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
</el-table>
|
|
</el-table>
|
|
|
<Page ref="pageButton" :current="form.page" :page_size="form.page_size" :total="total" @pageChange="gopage" />
|
|
<Page ref="pageButton" :current="form.page" :page_size="form.page_size" :total="total" @pageChange="gopage" />
|
|
|
<!-- 新增/编辑阅卷任务 -->
|
|
<!-- 新增/编辑阅卷任务 -->
|
|
|
- <el-dialog title="新增/编辑阅卷任务" :visible.sync="open" width="500px" append-to-body>
|
|
|
|
|
|
|
+ <el-dialog title="新增/编辑阅卷任务" :visible.sync="open" width="80%" append-to-body>
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
|
|
- <el-form-item label="名称" prop="name">
|
|
|
|
|
- <el-input clearable v-model="form.name" placeholder="请输入名称"></el-input>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="试卷模板" prop="role">
|
|
|
|
|
- <el-select v-model="form.paper_id" placeholder="请选择试卷模板" filterable>
|
|
|
|
|
- <el-option v-for="item in papersList" :key="item.id" :label="item.name" :value="item.id">
|
|
|
|
|
- </el-option>
|
|
|
|
|
- </el-select>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
|
|
+ <el-row>
|
|
|
|
|
+ <el-col :span="12">
|
|
|
|
|
+ <el-form-item label="考试名称" prop="name">
|
|
|
|
|
+ <el-input clearable v-model="form.name" placeholder="请输入名称"></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="参考班级" prop="role">
|
|
|
|
|
+ <el-row>
|
|
|
|
|
+ <el-col :span="12">
|
|
|
|
|
+ <el-select @change="getClassList" v-model="form.school_id" placeholder="请选择学校" filterable clearable>
|
|
|
|
|
+ <el-option v-for="item in schoolList" :key="item.id" :label="item.name" :value="item.school_id">
|
|
|
|
|
+ </el-option>
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="12">
|
|
|
|
|
+ <el-select @change="getClassList" v-model="form.grade_name" placeholder="请选择年级" filterable clearable>
|
|
|
|
|
+ <el-option v-for="item in gradeList" :key="item" :label="item" :value="item">
|
|
|
|
|
+ </el-option>
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="24" v-if="form.grade_name">
|
|
|
|
|
+ <el-checkbox-group v-model="checkClassList">
|
|
|
|
|
+ <el-checkbox v-for="item in classList" :key="item.class_id" :label="item.class_id">{{item.name}}
|
|
|
|
|
+ </el-checkbox>
|
|
|
|
|
+ </el-checkbox-group>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="备注" prop="name">
|
|
|
|
|
+ <el-input clearable v-model="form.remark" placeholder="请输入备注"></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="12">
|
|
|
|
|
+ <el-form-item label="试卷模板" prop="role">
|
|
|
|
|
+ <el-select v-model="form.paper_id" placeholder="请选择试卷模板" filterable>
|
|
|
|
|
+ <el-option v-for="item in papersList" :key="item.id" :label="item.name" :value="item.id">
|
|
|
|
|
+ </el-option>
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
</el-form>
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
<div slot="footer" class="dialog-footer">
|
|
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
|
@@ -124,7 +154,7 @@
|
|
|
<!-- 上传试卷 -->
|
|
<!-- 上传试卷 -->
|
|
|
<el-dialog title="试卷上传" :visible.sync="uploadDialogVisible" width="90%" @close="closeUploadDialog">
|
|
<el-dialog title="试卷上传" :visible.sync="uploadDialogVisible" width="90%" @close="closeUploadDialog">
|
|
|
<el-row :gutter="20">
|
|
<el-row :gutter="20">
|
|
|
- <el-col :span="16">
|
|
|
|
|
|
|
+ <el-col :span="24">
|
|
|
<!-- <el-row>
|
|
<!-- <el-row>
|
|
|
<el-col :span="6">参考人数:{{studentsList.length}}</el-col>
|
|
<el-col :span="6">参考人数:{{studentsList.length}}</el-col>
|
|
|
<el-col :span="6">已上传:{{studentsList.length}}</el-col>
|
|
<el-col :span="6">已上传:{{studentsList.length}}</el-col>
|
|
@@ -147,6 +177,21 @@
|
|
|
导出</el-button>
|
|
导出</el-button>
|
|
|
<el-button @click="reTryMark" size="mini" type="success" icon="el-icon-printer">重新识别</el-button>
|
|
<el-button @click="reTryMark" size="mini" type="success" icon="el-icon-printer">重新识别</el-button>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
+ <el-form-item>
|
|
|
|
|
+ <el-button size="mini" type="warning" icon="el-icon-printer">
|
|
|
|
|
+ 试卷扫描</el-button>
|
|
|
|
|
+
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item>
|
|
|
|
|
+ <el-upload class="upload-demo" action="http://test.scxjc.club/api/admin/papers/uploadpaper"
|
|
|
|
|
+ :on-success="handleUploadSuccess"
|
|
|
|
|
+ :data="{taskid:taskid}"
|
|
|
|
|
+ :on-change="handleChange"
|
|
|
|
|
+ list-type="picture"
|
|
|
|
|
+ multiple>
|
|
|
|
|
+ <el-button size="mini" type="primary" @click="openTaskImgList">点击上传</el-button>
|
|
|
|
|
+ </el-upload>
|
|
|
|
|
+ </el-form-item>
|
|
|
</el-form>
|
|
</el-form>
|
|
|
<el-row>
|
|
<el-row>
|
|
|
<el-col :span="24">
|
|
<el-col :span="24">
|
|
@@ -156,13 +201,10 @@
|
|
|
</el-tabs>
|
|
</el-tabs>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
</el-row>
|
|
</el-row>
|
|
|
- <el-table v-loading="loading"
|
|
|
|
|
- :data="studentsList"
|
|
|
|
|
- style="width: 100%; margin-top: 10px"
|
|
|
|
|
- @selection-change="handleSelectionChange"
|
|
|
|
|
- height="60vh">
|
|
|
|
|
|
|
+ <el-table v-loading="loading" :data="studentsList" style="width: 100%; margin-top: 10px"
|
|
|
|
|
+ @selection-change="handleSelectionChange" height="60vh">
|
|
|
<el-table-column type="selection" width="45" v-if="activeName==100"></el-table-column>
|
|
<el-table-column type="selection" width="45" v-if="activeName==100"></el-table-column>
|
|
|
- <el-table-column align="center" prop="student_no" label="姓名" width="80" />
|
|
|
|
|
|
|
+ <el-table-column align="center" prop="student_name" label="姓名" width="80" />
|
|
|
<el-table-column align="center" prop="student_no" label="考号" width="150">
|
|
<el-table-column align="center" prop="student_no" label="考号" width="150">
|
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
|
<el-button type="text" @click="showStudentImgs(scope.row)" size="mini">{{scope.row.student_no}}
|
|
<el-button type="text" @click="showStudentImgs(scope.row)" size="mini">{{scope.row.student_no}}
|
|
@@ -189,34 +231,32 @@
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
<el-table-column align="center" prop="date" label="操作" fixed="right" width="120px">
|
|
<el-table-column align="center" prop="date" label="操作" fixed="right" width="120px">
|
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
|
- <el-button @click="showCurRecImg(scope.row)" size="mini" type="text">查看</el-button>
|
|
|
|
|
- <el-button @click="showCurRecKhImg(scope.row)" size="mini" type="text">考号</el-button>
|
|
|
|
|
- <el-button @click="delStudents(scope.row.id,scope.$index)" size="mini" type="text">删除</el-button>
|
|
|
|
|
|
|
+ <el-button v-if="scope.row.mark_status!=0" @click="showCurRecImg(scope.row)" size="mini" type="text">查看
|
|
|
|
|
+ </el-button>
|
|
|
|
|
+ <el-button v-if="scope.row.mark_status!=0" @click="showCurRecKhImg(scope.row)" size="mini" type="text">
|
|
|
|
|
+ 考号</el-button>
|
|
|
|
|
+ <el-button @click="delStudents(scope.row.student_id,scope.$index)" size="mini" type="text">删除
|
|
|
|
|
+ </el-button>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
</el-table>
|
|
</el-table>
|
|
|
<Page ref="pageButton" :current="recPage" :page_size="recPageSize" :total="recTotal"
|
|
<Page ref="pageButton" :current="recPage" :page_size="recPageSize" :total="recTotal"
|
|
|
@pageChange="goRecPage" />
|
|
@pageChange="goRecPage" />
|
|
|
</el-col>
|
|
</el-col>
|
|
|
- <el-col :span="8">
|
|
|
|
|
- <div style="height:85vh;overflow-y:scroll;position: relative;">
|
|
|
|
|
- <el-button style="position:absolute;top:0px;left:100px;" size="small" type="warning" icon="el-icon-printer">
|
|
|
|
|
- 试卷扫描</el-button>
|
|
|
|
|
- <span style="position:absolute;top:0px;right:40px;color:green;">成功上传:{{fileList.length}}</span>
|
|
|
|
|
- <el-upload class="upload-demo" action="http://test.scxjc.club/api/admin/papers/uploadpaper"
|
|
|
|
|
- :on-success="handleUploadSuccess" :file-list="fileList" list-type="picture" :data="{taskid:taskid}"
|
|
|
|
|
- multiple>
|
|
|
|
|
- <el-button size="small" type="primary">点击上传</el-button>
|
|
|
|
|
- <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
|
|
|
|
|
- </el-upload>
|
|
|
|
|
- <img v-if="fileList.length<1" src="../../assets/scanner.png" alt=""
|
|
|
|
|
- style="position:absolute;left: 50%;transform: translate(-50%,120px)">
|
|
|
|
|
- </div>
|
|
|
|
|
- </el-col>
|
|
|
|
|
</el-row>
|
|
</el-row>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
<div slot="footer" class="dialog-footer">
|
|
|
<el-button type="primary" @click="closeUploadDialog">关 闭</el-button>
|
|
<el-button type="primary" @click="closeUploadDialog">关 闭</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+ <!-- 试卷上传 -->
|
|
|
|
|
+ <el-dialog title="试卷预览" :visible.sync="imgListVisible" width="750px" @close="closeTaskImgDialog" append-to-body>
|
|
|
|
|
+ <div style="text-align:right;">
|
|
|
|
|
+ <font>成功上传:{{taskImgTotal}}</font>
|
|
|
|
|
+ <el-button type="primary" size="mini" @click="startRecPaper">开始识别</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div style="width:156px;display: inline-block;margin:10px;border:1px solid #ccc;" v-for="(item,index) in fileList" >
|
|
|
|
|
+ <el-image width="100px" alt="" :src="item.url" :preview-src-list="[item.url]"></el-image>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </el-dialog>
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
<!-- 重新识别 -->
|
|
<!-- 重新识别 -->
|
|
|
<el-dialog title="重新识别" :visible.sync="remarkDialogVisible" width="60%" @close="closeRemarkDialog">
|
|
<el-dialog title="重新识别" :visible.sync="remarkDialogVisible" width="60%" @close="closeRemarkDialog">
|
|
@@ -251,13 +291,15 @@
|
|
|
loading: false,
|
|
loading: false,
|
|
|
queryParams: {
|
|
queryParams: {
|
|
|
page: 1,
|
|
page: 1,
|
|
|
- page_size:20
|
|
|
|
|
|
|
+ page_size: 20
|
|
|
},
|
|
},
|
|
|
form: {
|
|
form: {
|
|
|
- khVoiceNum:5,
|
|
|
|
|
- khFillRate:3.0,
|
|
|
|
|
- tmVoiceNum:3,
|
|
|
|
|
- tmFillRate:1.8
|
|
|
|
|
|
|
+ khVoiceNum: 5,
|
|
|
|
|
+ khFillRate: 3.0,
|
|
|
|
|
+ tmVoiceNum: 3,
|
|
|
|
|
+ tmFillRate: 1.8,
|
|
|
|
|
+ class_list: ["高三一班", "高三二班"],
|
|
|
|
|
+ checkList: []
|
|
|
},
|
|
},
|
|
|
form1: {},
|
|
form1: {},
|
|
|
form2: {},
|
|
form2: {},
|
|
@@ -268,11 +310,12 @@
|
|
|
doctorList: [],
|
|
doctorList: [],
|
|
|
rules: {},
|
|
rules: {},
|
|
|
uploadDialogVisible: false,
|
|
uploadDialogVisible: false,
|
|
|
- remarkDialogVisible:false,
|
|
|
|
|
|
|
+ remarkDialogVisible: false,
|
|
|
fileList: [],
|
|
fileList: [],
|
|
|
papersList: [],
|
|
papersList: [],
|
|
|
taskid: null,
|
|
taskid: null,
|
|
|
timer: null,
|
|
timer: null,
|
|
|
|
|
+ timer2:null,
|
|
|
studentsList: [],
|
|
studentsList: [],
|
|
|
showAnsVisible: false,
|
|
showAnsVisible: false,
|
|
|
curStudentRecImg: "",
|
|
curStudentRecImg: "",
|
|
@@ -286,16 +329,22 @@
|
|
|
recErrTotal: 0,
|
|
recErrTotal: 0,
|
|
|
queryName: "",
|
|
queryName: "",
|
|
|
queryMarkStatus: null,
|
|
queryMarkStatus: null,
|
|
|
- selectException:[]
|
|
|
|
|
|
|
+ selectException: [],
|
|
|
|
|
+ checkClassList: [],
|
|
|
|
|
+ schoolList: [],
|
|
|
|
|
+ gradeList: [],
|
|
|
|
|
+ classList: [],
|
|
|
|
|
+ imgListVisible:false,
|
|
|
|
|
+ taskImgTotal:0
|
|
|
};
|
|
};
|
|
|
},
|
|
},
|
|
|
methods: {
|
|
methods: {
|
|
|
- jump(url,id) {
|
|
|
|
|
- id==2?localStorage.setItem("sonNav",2):'';
|
|
|
|
|
- if (url) {
|
|
|
|
|
- this.$router.push(url);
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ jump(url, id) {
|
|
|
|
|
+ id == 2 ? localStorage.setItem("sonNav", 2) : '';
|
|
|
|
|
+ if (url) {
|
|
|
|
|
+ this.$router.push(url);
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
submitUpload() {
|
|
submitUpload() {
|
|
|
this.$refs.upload.submit();
|
|
this.$refs.upload.submit();
|
|
|
},
|
|
},
|
|
@@ -342,17 +391,49 @@
|
|
|
},
|
|
},
|
|
|
getData() {
|
|
getData() {
|
|
|
this.loading = true;
|
|
this.loading = true;
|
|
|
|
|
+ // 试卷列表
|
|
|
this.$api
|
|
this.$api
|
|
|
.getPapersSearch({})
|
|
.getPapersSearch({})
|
|
|
.then((res) => {
|
|
.then((res) => {
|
|
|
this.papersList = res.data.data;
|
|
this.papersList = res.data.data;
|
|
|
this.loading = false
|
|
this.loading = false
|
|
|
});
|
|
});
|
|
|
|
|
+ // 阅卷任务列表
|
|
|
this.$api.getMarkTaskList(this.queryParams).then(res => {
|
|
this.$api.getMarkTaskList(this.queryParams).then(res => {
|
|
|
this.total = res.data.data.total;
|
|
this.total = res.data.data.total;
|
|
|
this.list = res.data.data.list;
|
|
this.list = res.data.data.list;
|
|
|
})
|
|
})
|
|
|
},
|
|
},
|
|
|
|
|
+ getSchoolList() {
|
|
|
|
|
+ let params = {
|
|
|
|
|
+ school_id: this.form.school_id,
|
|
|
|
|
+ grade_name: this.form.grade_name,
|
|
|
|
|
+ page: 1,
|
|
|
|
|
+ page_size: 1000
|
|
|
|
|
+ }
|
|
|
|
|
+ // 学校列表
|
|
|
|
|
+ this.$api.schoolList(params).then(res => {
|
|
|
|
|
+ this.schoolList = res.data.data.list;
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ getGradeList() {
|
|
|
|
|
+ // 年级列表
|
|
|
|
|
+ this.$api.gradeList({}).then(res => {
|
|
|
|
|
+ this.gradeList = res.data.data;
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ getClassList() {
|
|
|
|
|
+ let params = {
|
|
|
|
|
+ school_id: this.form.school_id,
|
|
|
|
|
+ grade_name: this.form.grade_name,
|
|
|
|
|
+ page: 1,
|
|
|
|
|
+ page_size: 1000
|
|
|
|
|
+ }
|
|
|
|
|
+ // 班级列表
|
|
|
|
|
+ this.$api.classList(params).then(res => {
|
|
|
|
|
+ this.classList = res.data.data.list;
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
handleAdd() {
|
|
handleAdd() {
|
|
|
this.open = true;
|
|
this.open = true;
|
|
|
this.title = "新增医生";
|
|
this.title = "新增医生";
|
|
@@ -362,6 +443,11 @@
|
|
|
submitForm() {
|
|
submitForm() {
|
|
|
this.$refs["form"].validate((valid) => {
|
|
this.$refs["form"].validate((valid) => {
|
|
|
if (valid) {
|
|
if (valid) {
|
|
|
|
|
+ this.form.class_id = this.checkClassList.join();
|
|
|
|
|
+ let selSchool = this.schoolList.filter(item => item.school_id == this.form.school_id);
|
|
|
|
|
+ this.form.school_name = selSchool[0].name;
|
|
|
|
|
+ let selClass = this.classList.filter(item => this.checkClassList.indexOf(item.class_id) != -1);
|
|
|
|
|
+ this.form.class_name = selClass.map(item => item.name).join();
|
|
|
if (this.form.id != null) {
|
|
if (this.form.id != null) {
|
|
|
this.$api.editMarkTask(this.form).then((res) => {
|
|
this.$api.editMarkTask(this.form).then((res) => {
|
|
|
if (res.data.code == 0) {
|
|
if (res.data.code == 0) {
|
|
@@ -472,12 +558,30 @@
|
|
|
this.fileList = [];
|
|
this.fileList = [];
|
|
|
window.clearInterval(this.timer);
|
|
window.clearInterval(this.timer);
|
|
|
},
|
|
},
|
|
|
- closeRemarkDialog(){
|
|
|
|
|
|
|
+ closeRemarkDialog() {
|
|
|
this.remarkDialogVisible = false;
|
|
this.remarkDialogVisible = false;
|
|
|
|
|
+ this.fileList = []
|
|
|
|
|
+ },
|
|
|
|
|
+ closeTaskImgDialog(){
|
|
|
|
|
+ this.imgListVisible = false;
|
|
|
|
|
+ window.clearInterval(this.timer2);
|
|
|
},
|
|
},
|
|
|
handlePreview(file) {
|
|
handlePreview(file) {
|
|
|
console.log(file);
|
|
console.log(file);
|
|
|
},
|
|
},
|
|
|
|
|
+ handleChange(file,fileList){
|
|
|
|
|
+ },
|
|
|
|
|
+ openTaskImgList(){
|
|
|
|
|
+ let that = this;
|
|
|
|
|
+ this.imgListVisible = true
|
|
|
|
|
+ window.clearInterval(this.timer2);
|
|
|
|
|
+ this.timer2 = setInterval(function(){
|
|
|
|
|
+ that.$api.getTaskImgList({task_id:that.curTaskId}).then(res=>{
|
|
|
|
|
+ that.fileList = res.data.data.list
|
|
|
|
|
+ that.taskImgTotal = res.data.data.total;
|
|
|
|
|
+ })
|
|
|
|
|
+ },2000)
|
|
|
|
|
+ },
|
|
|
handleUploadSuccess(res, file, fileList) {
|
|
handleUploadSuccess(res, file, fileList) {
|
|
|
if (!res.code) {
|
|
if (!res.code) {
|
|
|
if (fileList.every(item => item.status == "success")) {
|
|
if (fileList.every(item => item.status == "success")) {
|
|
@@ -556,61 +660,74 @@
|
|
|
},
|
|
},
|
|
|
handleSelectionChange(val) {
|
|
handleSelectionChange(val) {
|
|
|
this.selectException = [];
|
|
this.selectException = [];
|
|
|
- if(val.length > 0){
|
|
|
|
|
- val.forEach(item=>{
|
|
|
|
|
- let task_img = item.task_id+";;"+item.imgs+";;"+item.id;
|
|
|
|
|
|
|
+ if (val.length > 0) {
|
|
|
|
|
+ val.forEach(item => {
|
|
|
|
|
+ let task_img = item.task_id + ";;" + item.imgs + ";;" + item.id;
|
|
|
this.selectException.push(task_img);
|
|
this.selectException.push(task_img);
|
|
|
})
|
|
})
|
|
|
window.clearInterval(this.timer);
|
|
window.clearInterval(this.timer);
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
- reTryMark(){
|
|
|
|
|
- if(this.selectException.length < 1){
|
|
|
|
|
|
|
+ reTryMark() {
|
|
|
|
|
+ if (this.selectException.length < 1) {
|
|
|
this.msgError("请选择需要重新识别的答卷!");
|
|
this.msgError("请选择需要重新识别的答卷!");
|
|
|
- }else{
|
|
|
|
|
|
|
+ } else {
|
|
|
this.remarkDialogVisible = true;
|
|
this.remarkDialogVisible = true;
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
- doReTryMark(){
|
|
|
|
|
|
|
+ doReTryMark() {
|
|
|
let urls = []
|
|
let urls = []
|
|
|
- this.selectException.forEach(item=>{
|
|
|
|
|
|
|
+ this.selectException.forEach(item => {
|
|
|
item = item + ";;" + String(this.form.khVoiceNum) + ";;" + String(this.form.khFillRate);
|
|
item = item + ";;" + String(this.form.khVoiceNum) + ";;" + String(this.form.khFillRate);
|
|
|
item = item + ";;" + String(this.form.tmVoiceNum) + ";;" + String(this.form.tmFillRate);
|
|
item = item + ";;" + String(this.form.tmVoiceNum) + ";;" + String(this.form.tmFillRate);
|
|
|
urls.push(item);
|
|
urls.push(item);
|
|
|
})
|
|
})
|
|
|
let that = this;
|
|
let that = this;
|
|
|
- this.$api.reTryMarkPaper({urls:urls}).then(res=>{
|
|
|
|
|
|
|
+ this.$api.reTryMarkPaper({
|
|
|
|
|
+ urls: urls
|
|
|
|
|
+ }).then(res => {
|
|
|
this.remarkDialogVisible = false;
|
|
this.remarkDialogVisible = false;
|
|
|
this.getData();
|
|
this.getData();
|
|
|
window.clearInterval(this.timer);
|
|
window.clearInterval(this.timer);
|
|
|
this.timer = setInterval(function () {
|
|
this.timer = setInterval(function () {
|
|
|
- that.$api.getMarkTaskStudents(that.recParams).then(res => {
|
|
|
|
|
- that.studentsList = res.data.data.list;
|
|
|
|
|
- that.studentsList.forEach(item => {
|
|
|
|
|
- let mark_status = item.mark_status;
|
|
|
|
|
- if (mark_status != 1) {
|
|
|
|
|
- item.mark_status_name = that.$const.recErrorList.filter((ritem) => {
|
|
|
|
|
- return ritem.value == mark_status;
|
|
|
|
|
- })[0].label
|
|
|
|
|
- } else {
|
|
|
|
|
- item.mark_status_name = "正常"
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ that.$api.getMarkTaskStudents(that.recParams).then(res => {
|
|
|
|
|
+ that.studentsList = res.data.data.list;
|
|
|
|
|
+ that.studentsList.forEach(item => {
|
|
|
|
|
+ let mark_status = item.mark_status;
|
|
|
|
|
+ if (mark_status != 1) {
|
|
|
|
|
+ item.mark_status_name = that.$const.recErrorList.filter((ritem) => {
|
|
|
|
|
+ return ritem.value == mark_status;
|
|
|
|
|
+ })[0].label
|
|
|
|
|
+ } else {
|
|
|
|
|
+ item.mark_status_name = "正常"
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ that.recTotal = res.data.data.total;
|
|
|
|
|
+ that.recSucTotal = res.data.data.suc_total;
|
|
|
|
|
+ that.recErrTotal = res.data.data.err_total;
|
|
|
})
|
|
})
|
|
|
- that.recTotal = res.data.data.total;
|
|
|
|
|
- that.recSucTotal = res.data.data.suc_total;
|
|
|
|
|
- that.recErrTotal = res.data.data.err_total;
|
|
|
|
|
- })
|
|
|
|
|
- }, 4000)
|
|
|
|
|
|
|
+ }, 4000)
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ startRecPaper(){
|
|
|
|
|
+ this.$api.startRecPaper({task_id:this.curTaskId}).then(res=>{
|
|
|
|
|
+
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
created() {
|
|
created() {
|
|
|
this.getData();
|
|
this.getData();
|
|
|
-
|
|
|
|
|
|
|
+ this.getSchoolList();
|
|
|
|
|
+ this.getGradeList();
|
|
|
|
|
+ this.getClassList();
|
|
|
},
|
|
},
|
|
|
};
|
|
};
|
|
|
</script>
|
|
</script>
|
|
|
<style lang="scss">
|
|
<style lang="scss">
|
|
|
|
|
+ .el-upload-list {
|
|
|
|
|
+ display: none !important;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
.el-upload-list--picture .el-upload-list__item {
|
|
.el-upload-list--picture .el-upload-list__item {
|
|
|
width: 150px;
|
|
width: 150px;
|
|
|
float: left;
|
|
float: left;
|
|
@@ -628,17 +745,21 @@
|
|
|
.el-upload-list--picture .el-upload-list__item-thumbnail {
|
|
.el-upload-list--picture .el-upload-list__item-thumbnail {
|
|
|
width: 125px;
|
|
width: 125px;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
.prosss_box .el-progress.el-progress--line {
|
|
.prosss_box .el-progress.el-progress--line {
|
|
|
width: 88px;
|
|
width: 88px;
|
|
|
margin: auto 5px auto 0;
|
|
margin: auto 5px auto 0;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
.prosss_box .el-progress-bar {
|
|
.prosss_box .el-progress-bar {
|
|
|
padding-right: 0;
|
|
padding-right: 0;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
.prosss_box .el-progress__text {
|
|
.prosss_box .el-progress__text {
|
|
|
display: none;
|
|
display: none;
|
|
|
}
|
|
}
|
|
|
- .prosss_box{
|
|
|
|
|
- display:flex;
|
|
|
|
|
|
|
+
|
|
|
|
|
+ .prosss_box {
|
|
|
|
|
+ display: flex;
|
|
|
}
|
|
}
|
|
|
</style>
|
|
</style>
|