|
@@ -3,14 +3,53 @@
|
|
|
<div class="part-box part-box-filter part-box-flex">
|
|
|
<el-form ref="FilterForm" label-position="left" label-width="85px" inline>
|
|
|
<template v-if="checkPrivilege('condition', 'condition')">
|
|
|
- <!-- <el-form-item label="关键词:" label-width="75px">
|
|
|
+ <el-form-item label="课程:">
|
|
|
+ <el-select
|
|
|
+ style="width:100%;"
|
|
|
+ v-model="filter.courseCode"
|
|
|
+ placeholder="请选择课程"
|
|
|
+ filterable
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in courses"
|
|
|
+ :key="item.code"
|
|
|
+ :value="item.code"
|
|
|
+ :label="item.name"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="任课老师:">
|
|
|
<el-input
|
|
|
style="width: 180px;"
|
|
|
v-model.trim="filter.userInfo"
|
|
|
- placeholder="扫描员/课程"
|
|
|
+ placeholder="任课老师"
|
|
|
clearable
|
|
|
></el-input>
|
|
|
- </el-form-item> -->
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="绑定进度范围:">
|
|
|
+ <el-input-number
|
|
|
+ v-model="filter.startProgress"
|
|
|
+ style="width: 84px"
|
|
|
+ :min="0"
|
|
|
+ :max="100"
|
|
|
+ :step="1"
|
|
|
+ step-strictly
|
|
|
+ :controls="false"
|
|
|
+ placeholder="最小进度"
|
|
|
+ ></el-input-number>
|
|
|
+ <span>~</span>
|
|
|
+ <el-input-number
|
|
|
+ v-model="filter.endProgress"
|
|
|
+ style="width: 84px"
|
|
|
+ :min="0"
|
|
|
+ :max="100"
|
|
|
+ :step="1"
|
|
|
+ step-strictly
|
|
|
+ :controls="false"
|
|
|
+ placeholder="最大进度"
|
|
|
+ ></el-input-number>
|
|
|
+ </el-form-item>
|
|
|
</template>
|
|
|
|
|
|
<el-form-item label-width="0px">
|
|
@@ -38,13 +77,6 @@
|
|
|
@click="toImportTask"
|
|
|
>导入任务</el-button
|
|
|
>
|
|
|
- <el-button
|
|
|
- v-if="checkPrivilege('button', 'bind')"
|
|
|
- type="primary"
|
|
|
- icon="el-icon-upload"
|
|
|
- @click="toBind"
|
|
|
- >绑定扫描员</el-button
|
|
|
- >
|
|
|
<el-button
|
|
|
v-if="checkPrivilege('button', 'add')"
|
|
|
type="primary"
|
|
@@ -109,13 +141,6 @@
|
|
|
fixed="right"
|
|
|
>
|
|
|
<template slot-scope="scope">
|
|
|
- <el-button
|
|
|
- v-if="checkPrivilege('link', 'edit')"
|
|
|
- class="btn-primary"
|
|
|
- type="text"
|
|
|
- @click="toBindScanUser(scope.row)"
|
|
|
- >绑定扫描员</el-button
|
|
|
- >
|
|
|
<el-button
|
|
|
v-if="checkPrivilege('link', 'detail')"
|
|
|
class="btn-primary"
|
|
@@ -130,6 +155,13 @@
|
|
|
@click="toDelete(scope.row)"
|
|
|
>删除</el-button
|
|
|
>
|
|
|
+ <el-button
|
|
|
+ v-if="checkPrivilege('link', 'delete')"
|
|
|
+ class="btn-danger"
|
|
|
+ type="text"
|
|
|
+ @click="toClear(scope.row)"
|
|
|
+ >清除数据</el-button
|
|
|
+ >
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
@@ -146,12 +178,6 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
- <!-- ScanTaskBindUserDialog -->
|
|
|
- <scan-task-bind-user-dialog
|
|
|
- ref="ScanTaskBindUserDialog"
|
|
|
- :instance="curRow"
|
|
|
- @modified="getList"
|
|
|
- ></scan-task-bind-user-dialog>
|
|
|
<!-- ImportTask -->
|
|
|
<import-file
|
|
|
v-if="checkPrivilege('button', 'import')"
|
|
@@ -194,39 +220,39 @@
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</import-file>
|
|
|
- <!-- TaskBindScanUser -->
|
|
|
- <import-file
|
|
|
- v-if="checkPrivilege('button', 'bind')"
|
|
|
- ref="TaskBindScanUser"
|
|
|
- title="绑定扫描员"
|
|
|
- :upload-url="bindUrl"
|
|
|
- :format="['xls', 'xlsx']"
|
|
|
- :download-url="bindTemplateUrl"
|
|
|
- :download-filename="bindTemplateFilename"
|
|
|
- :auto-upload="false"
|
|
|
- @upload-success="uploadSuccess"
|
|
|
- ></import-file>
|
|
|
<!-- ModifyScanTask -->
|
|
|
<modify-scan-task
|
|
|
ref="ModifyScanTask"
|
|
|
:instance="curRow"
|
|
|
:modified="getList"
|
|
|
></modify-scan-task>
|
|
|
+ <!-- DataCheckStateDialog -->
|
|
|
+ <data-check-state-dialog ref="DataCheckStateDialog" :task="curRow">
|
|
|
+ </data-check-state-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { scanTaskListPage, deleteScanTask } from "../api";
|
|
|
+import { scanTaskListPage, deleteScanTask, clearScanTaskData } from "../api";
|
|
|
import ImportFile from "../../../components/ImportFile.vue";
|
|
|
-import ScanTaskBindUserDialog from "../components/ScanTaskBindUserDialog.vue";
|
|
|
import ModifyScanTask from "../components/ModifyScanTask.vue";
|
|
|
+import DataCheckStateDialog from "../components/DataCheckStateDialog.vue";
|
|
|
|
|
|
export default {
|
|
|
- name: "user-manage",
|
|
|
- components: { ScanTaskBindUserDialog, ImportFile, ModifyScanTask },
|
|
|
+ name: "scan-task-manage",
|
|
|
+ components: {
|
|
|
+ ImportFile,
|
|
|
+ ModifyScanTask,
|
|
|
+ DataCheckStateDialog
|
|
|
+ },
|
|
|
data() {
|
|
|
return {
|
|
|
- filter: {},
|
|
|
+ filter: {
|
|
|
+ courseCode: "",
|
|
|
+ teacherName: "",
|
|
|
+ startProgress: undefined,
|
|
|
+ endProgress: undefined
|
|
|
+ },
|
|
|
current: 1,
|
|
|
size: this.GLOBAL.pageSize,
|
|
|
total: 0,
|
|
@@ -235,6 +261,7 @@ export default {
|
|
|
curRow: {},
|
|
|
loading: false,
|
|
|
userId: this.$ls.get("user", { id: "" }).id,
|
|
|
+ courses: [],
|
|
|
records: [],
|
|
|
// import-task
|
|
|
modalForm: { recordId: "" },
|
|
@@ -279,24 +306,21 @@ export default {
|
|
|
handleSelectionChange(val) {
|
|
|
this.multipleSelection = val.map(item => item.id);
|
|
|
},
|
|
|
- toBindScanUser(row) {
|
|
|
- this.curRow = row;
|
|
|
- this.$refs.ScanTaskBindUserDialog.open();
|
|
|
- },
|
|
|
toDetail(row) {
|
|
|
this.curRow = row;
|
|
|
- this.$refs.ScanTaskBindUserDialog.open();
|
|
|
+ this.$refs.ScanTaskDetailDialog.open();
|
|
|
},
|
|
|
toAdd() {
|
|
|
this.curRow = {};
|
|
|
this.$refs.ModifyScanTask.open();
|
|
|
},
|
|
|
+ toShowProgress(row) {
|
|
|
+ this.curRow = row;
|
|
|
+ this.$refs.DataCheckStateDialog.open();
|
|
|
+ },
|
|
|
toImportTask() {
|
|
|
this.$refs.ImportTask.open();
|
|
|
},
|
|
|
- toBind() {
|
|
|
- this.$refs.TaskBindScanUser.open();
|
|
|
- },
|
|
|
async batchDelete() {
|
|
|
if (!this.multipleSelection.length) {
|
|
|
this.$message.error("请选择要删除的数据");
|
|
@@ -326,6 +350,20 @@ export default {
|
|
|
this.$message.success("操作成功!");
|
|
|
this.deletePageLastItem();
|
|
|
},
|
|
|
+ async toClear(row) {
|
|
|
+ const res = await this.$confirm(
|
|
|
+ `请确认是否清除当前任务已扫描数据?`,
|
|
|
+ "提示",
|
|
|
+ {
|
|
|
+ type: "warning"
|
|
|
+ }
|
|
|
+ ).catch(() => {});
|
|
|
+ if (res !== "confirm") return;
|
|
|
+
|
|
|
+ await clearScanTaskData([row.id]);
|
|
|
+ this.$message.success("操作成功!");
|
|
|
+ this.getList();
|
|
|
+ },
|
|
|
// import
|
|
|
async submitImport() {
|
|
|
this.uploadData = { ...this.modalForm };
|