|
@@ -3,104 +3,99 @@
|
|
|
class="publish-print-task"
|
|
|
:visible.sync="modalIsShow"
|
|
|
title="发布印刷任务"
|
|
|
+ fullscreen
|
|
|
:close-on-click-modal="false"
|
|
|
:close-on-press-escape="false"
|
|
|
append-to-body
|
|
|
- fullscreen
|
|
|
@opened="visibleChange"
|
|
|
>
|
|
|
- <div class="part-box part-box-pad part-box-border">
|
|
|
- <el-form ref="FilterForm" label-position="left" label-width="85px" inline>
|
|
|
- <el-form-item label="印刷计划:">
|
|
|
+ <div class="md-4">
|
|
|
+ <el-form ref="FilterForm" label-position="left" label-width="0" inline>
|
|
|
+ <el-form-item>
|
|
|
<print-plan-select
|
|
|
v-model.trim="filter.printPlanId"
|
|
|
- placeholder="请选择"
|
|
|
+ placeholder="印刷计划"
|
|
|
clearable
|
|
|
@change="printPlanChange"
|
|
|
></print-plan-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="考试时间:">
|
|
|
+ <el-form-item>
|
|
|
<el-date-picker
|
|
|
- v-model="createTime"
|
|
|
- type="datetimerange"
|
|
|
- :picker-options="pickerOptions"
|
|
|
+ v-model="createDate"
|
|
|
+ type="date"
|
|
|
:disabled="timeDisabled"
|
|
|
- range-separator="至"
|
|
|
- start-placeholder="开始时间"
|
|
|
- end-placeholder="结束时间"
|
|
|
value-format="timestamp"
|
|
|
- align="right"
|
|
|
- unlink-panels
|
|
|
+ placeholder="考试日期"
|
|
|
+ style="width: 150px"
|
|
|
@change="timeChange"
|
|
|
>
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-time-picker
|
|
|
+ is-range
|
|
|
+ v-model="createTime"
|
|
|
+ range-separator="至"
|
|
|
+ start-placeholder="考试开始时间"
|
|
|
+ end-placeholder="考试结束时间"
|
|
|
+ placeholder="选择时间范围"
|
|
|
+ value-format="timestamp"
|
|
|
+ :disabled="timeDisabled"
|
|
|
+ @change="timeChange"
|
|
|
+ >
|
|
|
+ </el-time-picker>
|
|
|
+ </el-form-item>
|
|
|
</el-form>
|
|
|
</div>
|
|
|
- <div class="part-box part-box-pad part-box-border">
|
|
|
- <el-button class="mb-2" type="primary" @click="toAdd"
|
|
|
- >增加考试对象</el-button
|
|
|
+ <el-button class="mb-2" type="primary" @click="toAdd"
|
|
|
+ >增加考试对象</el-button
|
|
|
+ >
|
|
|
+ <el-table ref="TableList" :data="tableData">
|
|
|
+ <el-table-column type="index" width="80" label="卷袋序号">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="examRoom" label="考场"> </el-table-column>
|
|
|
+ <el-table-column prop="examPlace" label="考点"> </el-table-column>
|
|
|
+ <el-table-column prop="invigilatorTeacher" label="监考老师">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="className" label="考试对象"> </el-table-column>
|
|
|
+ <el-table-column prop="studentCount" label="人数"> </el-table-column>
|
|
|
+ <el-table-column prop="printHouseName" label="印刷室"> </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ v-for="item in extendFields"
|
|
|
+ :key="item.code"
|
|
|
+ :label="item.name"
|
|
|
>
|
|
|
- <el-table ref="TableList" :data="tableData">
|
|
|
- <el-table-column
|
|
|
- type="index"
|
|
|
- width="70"
|
|
|
- label="卷袋序号"
|
|
|
- ></el-table-column>
|
|
|
- <el-table-column prop="examRoom" label="考场"> </el-table-column>
|
|
|
- <el-table-column prop="examPlace" label="考点"> </el-table-column>
|
|
|
- <el-table-column prop="invigilatorTeacher" label="监考老师">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="className" label="考试对象"> </el-table-column>
|
|
|
- <el-table-column prop="studentCount" label="人数"> </el-table-column>
|
|
|
- <el-table-column prop="printHouseName" label="印刷室">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- v-for="item in extendFields"
|
|
|
- :key="item.code"
|
|
|
- :label="item.name"
|
|
|
- >
|
|
|
- <div slot-scope="scope">
|
|
|
- {{ scope.row.extends[item.code] }}
|
|
|
- </div>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="操作">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-button
|
|
|
- class="btn-primary"
|
|
|
- type="text"
|
|
|
- icon="icon icon-circle-right"
|
|
|
- @click="toPreview(scope.row)"
|
|
|
- title="考生明细"
|
|
|
- ></el-button>
|
|
|
- <el-button
|
|
|
- class="btn-primary"
|
|
|
- type="text"
|
|
|
- icon="icon icon-edit"
|
|
|
- @click="toEdit(scope.row)"
|
|
|
- title="编辑"
|
|
|
- ></el-button>
|
|
|
- <el-button
|
|
|
- class="btn-primary"
|
|
|
- type="text"
|
|
|
- icon="icon icon-delete"
|
|
|
- @click="toDelete(scope.row)"
|
|
|
- title="删除"
|
|
|
- ></el-button>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- <div class="part-page">
|
|
|
- <el-pagination
|
|
|
- background
|
|
|
- layout="total,prev, pager, next"
|
|
|
- :current-page="current"
|
|
|
- :total="total"
|
|
|
- :page-size="size"
|
|
|
- @current-change="toPage"
|
|
|
- >
|
|
|
- </el-pagination>
|
|
|
- </div>
|
|
|
+ <div slot-scope="scope">
|
|
|
+ {{ scope.row.extends[item.code] }}
|
|
|
+ </div>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作" width="120px">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button
|
|
|
+ class="btn-primary"
|
|
|
+ type="text"
|
|
|
+ @click="toPreview(scope.row)"
|
|
|
+ >考生明细</el-button
|
|
|
+ >
|
|
|
+ <el-button class="btn-primary" type="text" @click="toEdit(scope.row)"
|
|
|
+ >编辑</el-button
|
|
|
+ >
|
|
|
+ <el-button class="btn-danger" type="text" @click="toDelete(scope.row)"
|
|
|
+ >删除</el-button
|
|
|
+ >
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <div class="part-page">
|
|
|
+ <el-pagination
|
|
|
+ background
|
|
|
+ layout="total,prev, pager, next"
|
|
|
+ :current-page="current"
|
|
|
+ :total="total"
|
|
|
+ :page-size="size"
|
|
|
+ @current-change="toPage"
|
|
|
+ >
|
|
|
+ </el-pagination>
|
|
|
</div>
|
|
|
|
|
|
<div slot="footer"></div>
|
|
@@ -124,9 +119,9 @@
|
|
|
<script>
|
|
|
import { listTaskPrint, removeTaskPrint } from "../api";
|
|
|
import { examRuleDetail } from "../../base/api";
|
|
|
-import pickerOptions from "@/constants/datePickerOptions";
|
|
|
import CreatePrintTask from "./CreatePrintTask";
|
|
|
import PrintTaskStudents from "./PrintTaskStudents";
|
|
|
+import { getTimeDatestamp } from "@/plugins/utils";
|
|
|
|
|
|
export default {
|
|
|
name: "publish-print-task",
|
|
@@ -164,12 +159,18 @@ export default {
|
|
|
curClassId: "",
|
|
|
extendFields: [],
|
|
|
// date-picker
|
|
|
- createTime: [],
|
|
|
- pickerOptions
|
|
|
+ curCreateTime: [],
|
|
|
+ createDate: "",
|
|
|
+ createTime: []
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
|
this.getExtendFields();
|
|
|
+
|
|
|
+ const curDate = getTimeDatestamp(Date.now());
|
|
|
+ const hour = 60 * 60 * 1000;
|
|
|
+ this.curCreateTime = [curDate + 8 * hour, curDate + 10 * hour];
|
|
|
+ this.createTime = [...this.curCreateTime];
|
|
|
},
|
|
|
methods: {
|
|
|
visibleChange() {
|
|
@@ -207,11 +208,13 @@ export default {
|
|
|
}
|
|
|
if (data.examStartTime && data.examEndTime) {
|
|
|
this.createTime = [data.examStartTime, data.examEndTime];
|
|
|
+ this.createDate = getTimeDatestamp(data.examStartTime);
|
|
|
this.filter.examStartTime = this.createTime[0];
|
|
|
this.filter.examEndTime = this.createTime[1];
|
|
|
this.timeDisabled = true;
|
|
|
} else {
|
|
|
- this.createTime = [];
|
|
|
+ this.createTime = [...this.curCreateTime];
|
|
|
+ this.createDate = null;
|
|
|
this.filter.examStartTime = "";
|
|
|
this.filter.examEndTime = "";
|
|
|
this.timeDisabled = false;
|
|
@@ -225,9 +228,18 @@ export default {
|
|
|
this.filter.printPlanName = val.name;
|
|
|
this.getList();
|
|
|
},
|
|
|
- timeChange(val) {
|
|
|
- this.filter.examStartTime = val[0];
|
|
|
- this.filter.examEndTime = val[1];
|
|
|
+ timeChange() {
|
|
|
+ if (!this.createDate || !this.createTime) {
|
|
|
+ this.filter.examStartTime = null;
|
|
|
+ this.filter.examEndTime = null;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ const curDate = getTimeDatestamp(this.createDate);
|
|
|
+ const timeDate = getTimeDatestamp(this.createTime[0]);
|
|
|
+
|
|
|
+ this.filter.examStartTime = curDate + this.createTime[0] - timeDate;
|
|
|
+ this.filter.examEndTime = curDate + this.createTime[1] - timeDate;
|
|
|
},
|
|
|
cancel() {
|
|
|
this.modalIsShow = false;
|
|
@@ -245,6 +257,11 @@ export default {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
+ if (this.filter.examStartTime === this.filter.examEndTime) {
|
|
|
+ this.$message.error("考试开始时间不能等于考试结束时间!");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
this.curRow = {
|
|
|
examPlace: "",
|
|
|
examRoom: "",
|