|
@@ -6,11 +6,24 @@
|
|
|
|
|
|
<el-table :data="tableData" border stripe>
|
|
|
<el-table-column label="题组Id" prop="examId"></el-table-column>
|
|
|
- <el-table-column label="题组名字" prop="name"></el-table-column>
|
|
|
+ <el-table-column label="题组名字" prop="name">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <el-input
|
|
|
+ v-if="row.edit"
|
|
|
+ class="edit-input"
|
|
|
+ size="small"
|
|
|
+ v-model="row.name"
|
|
|
+ clearable
|
|
|
+ />
|
|
|
+ <span v-else>{{ row.name }}</span>
|
|
|
+ </template>
|
|
|
+
|
|
|
+
|
|
|
+ </el-table-column>
|
|
|
|
|
|
<el-table-column
|
|
|
align="center"
|
|
|
- width="160px"
|
|
|
+ width="260px"
|
|
|
label="操作"
|
|
|
class-name="small-padding fixed-width"
|
|
|
>
|
|
@@ -37,6 +50,13 @@
|
|
|
icon="el-icon-edit"
|
|
|
@click="initEdit(row, $index)"
|
|
|
>编辑</el-button>
|
|
|
+ <el-button
|
|
|
+ v-if="!row.edit"
|
|
|
+ type="warning"
|
|
|
+ size="small"
|
|
|
+ icon="el-icon-edit"
|
|
|
+ @click="importData(row, $index)"
|
|
|
+ >导入题库</el-button>
|
|
|
|
|
|
|
|
|
</template>
|
|
@@ -55,45 +75,20 @@
|
|
|
|
|
|
<el-dialog title="新增题库" center :visible.sync="dialogFormVisible" >
|
|
|
<el-form :model="form" :rules="rules" label-width="120px" ref="elForm">
|
|
|
- <el-form-item label="训练题库" prop="title" >
|
|
|
- <el-input v-model="form.title" type="text" class="user-form-item" clearable></el-input>
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
- <el-form-item label="考题数" prop="counter">
|
|
|
- <el-input v-model="form.counter" type="number" class="user-form-item" clearable></el-input>
|
|
|
+ <el-form-item label="题库名称" prop="name" >
|
|
|
+ <el-input v-model="form.name" type="text" class="user-form-item" clearable></el-input>
|
|
|
</el-form-item>
|
|
|
-
|
|
|
- <el-form-item label="时长[秒]" prop="duration">
|
|
|
- <el-input v-model="form.duration" type="number" class="user-form-item" clearable></el-input>
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
- <el-form-item label="开始时间" prop="fromDate">
|
|
|
- <el-date-picker
|
|
|
- v-model="form.fromDate"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- type="date"
|
|
|
- align="left"
|
|
|
- ></el-date-picker>
|
|
|
-
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
- <el-form-item label="结束时间" prop="toDate">
|
|
|
- <el-date-picker
|
|
|
- v-model="form.toDate"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- type="date"
|
|
|
- align="left"
|
|
|
- ></el-date-picker>
|
|
|
-
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
-
|
|
|
</el-form>
|
|
|
<div class="dialog-footer" slot="footer">
|
|
|
<el-button @click="dialogFormVisible=false">取 消</el-button>
|
|
|
<el-button @click="addGroup" type="primary">确 定</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
+
|
|
|
+
|
|
|
+ <el-dialog title="导入题库" center :visible.sync="dialogImport" width="1024px">
|
|
|
+ <IUploadAnswer @submit="onSubmit"></IUploadAnswer>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -102,21 +97,17 @@ import { getWxGroupList, postData} from "@/api/exam.js";
|
|
|
import {toDatetime} from "@/utils/date"
|
|
|
import { time2str, str2time} from "@/utils/index.js";
|
|
|
import DropSearch from '@/components/select/DropSearch.vue';
|
|
|
+import IUploadAnswer from './components/IUploadAnswer.vue';
|
|
|
|
|
|
export default {
|
|
|
name: "Api",
|
|
|
data() {
|
|
|
return {
|
|
|
dialogFormVisible: false,
|
|
|
- dialogTitle: "新增广告",
|
|
|
- boolVal:[0,1],
|
|
|
+ dialogImport: false,
|
|
|
+ examId: 0,
|
|
|
form: {
|
|
|
- id: 0,
|
|
|
- title:'',
|
|
|
- fromDate:'',
|
|
|
- counter:10,
|
|
|
- toDate:'',
|
|
|
- duration: 300,
|
|
|
+ name:''
|
|
|
},
|
|
|
searchInfo:{},
|
|
|
page: 1,
|
|
@@ -124,22 +115,26 @@ export default {
|
|
|
pageSize: 10,
|
|
|
tableData: [],
|
|
|
rules: {
|
|
|
- title: [{ required: true, message: "请输入标题", trigger: "blur" }],
|
|
|
- counter: [{ required: true, message: "请输入题数", trigger: "blur" }],
|
|
|
- fromDate: [ { required: true, message: "请输入开始时间", trigger: "blur" }],
|
|
|
- toDate: [ { required: true, message: "请输入结束时间", trigger: "blur" }],
|
|
|
- duration: [ { required: true, message: "请输入时长", trigger: "blur" }],
|
|
|
+ name: [{ required: true, message: "请输入题库", trigger: "blur" }]
|
|
|
}
|
|
|
};
|
|
|
},
|
|
|
- components:{DropSearch},
|
|
|
+ components:{DropSearch,IUploadAnswer},
|
|
|
methods: {
|
|
|
//条件搜索前端看此方法
|
|
|
- onSubmit() {
|
|
|
- this.page = 1;
|
|
|
- this.pageSize = 10;
|
|
|
- this.getTableData();
|
|
|
- },
|
|
|
+ onSubmit( list ) {
|
|
|
+ let examId = this.examId;
|
|
|
+ postData( "addAnswerList", {examId, list}).then( res=>{
|
|
|
+ if( res.code == 200){
|
|
|
+ this.$message.successMsg("导入成功", 2);
|
|
|
+ this.dialogImport = false
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ importData(row){
|
|
|
+ this.examId = row.examId;
|
|
|
+ this.dialogImport = true;
|
|
|
+ },
|
|
|
cancelEdit(row, index) {
|
|
|
row = Object.assign(row, row.temp);
|
|
|
row.edit = false;
|
|
@@ -184,7 +179,10 @@ export default {
|
|
|
getTableData(){
|
|
|
postData("GetAllExamList", {}).then( res=>{
|
|
|
if( res.code == 200){
|
|
|
- this.tableData = res.data||[]
|
|
|
+ this.tableData = res.data.map( v=>{
|
|
|
+ v.edit = false
|
|
|
+ return v
|
|
|
+ })
|
|
|
}
|
|
|
})
|
|
|
},
|
|
@@ -200,9 +198,7 @@ export default {
|
|
|
this.$refs["elForm"].validate((valid) => {
|
|
|
if (!valid) return;
|
|
|
let param = Object.assign({}, this.form);
|
|
|
- param.duration = +param.duration
|
|
|
- param.counter = +param.counter
|
|
|
- postData('addWxGroup', param).then((res) => {
|
|
|
+ postData('addExam', param).then((res) => {
|
|
|
if( res.code == 200){
|
|
|
this.dialogFormVisible = false
|
|
|
this.$message.successMsg("新增成功", 1);
|