Commit b43868a1 by H.wb.wang.peixun

接口对接

parent 24ab46bd
# 页面标题 # 页面标题
VUE_APP_TITLE = RuoYi-Vue-Plus后台管理系统 VUE_APP_TITLE = 封中数学
# 生产环境配置 # 生产环境配置
ENV = 'production' ENV = 'production'
......
{ {
"name": "ruoyi-vue-plus", "name": "ruoyi-vue-plus",
"version": "4.5.0", "version": "4.5.0",
"description": "RuoYi-Vue-Plus后台管理系统", "description": "封中数学",
"author": "LionLi", "author": "LionLi",
"license": "MIT", "license": "MIT",
"scripts": { "scripts": {
......
...@@ -8,6 +8,14 @@ export function listQuestionBank(query) { ...@@ -8,6 +8,14 @@ export function listQuestionBank(query) {
params: query params: query
}) })
} }
// 阶段列表
export function getPhaseList(query) {
return request({
url: '/system/dept/getPhaseList',
method: 'get',
params: query
})
}
// 查询题库主列表 // 查询题库主列表
export function questionType(query) { export function questionType(query) {
return request({ return request({
......
...@@ -3,7 +3,7 @@ import request from '@/utils/request' ...@@ -3,7 +3,7 @@ import request from '@/utils/request'
// 查询答题记录列表 // 查询答题记录列表
export function listTestPaperRecord(query) { export function listTestPaperRecord(query) {
return request({ return request({
url: '/school-paper/testPaperRecord/list', url: '/school-paper/testPaperRecord/getPhaseList',
method: 'get', method: 'get',
params: query params: query
}) })
......
...@@ -66,7 +66,7 @@ export default { ...@@ -66,7 +66,7 @@ export default {
}, },
data() { data() {
return { return {
uploadUrl: process.env.VUE_APP_BASE_API + "/system/oss/upload", // 上传的图片服务器地址 uploadUrl: process.env.VUE_APP_BASE_API + "school-paper/banner/uploadFile", // 上传的图片服务器地址
headers: { headers: {
Authorization: "Bearer " + getToken(), Authorization: "Bearer " + getToken(),
}, },
......
...@@ -74,7 +74,7 @@ export default { ...@@ -74,7 +74,7 @@ export default {
number: 0, number: 0,
uploadList: [], uploadList: [],
baseUrl: process.env.VUE_APP_BASE_API, baseUrl: process.env.VUE_APP_BASE_API,
uploadFileUrl: process.env.VUE_APP_BASE_API + "/system/oss/upload", // 上传文件服务器地址 uploadFileUrl: process.env.VUE_APP_BASE_API + "school-paper/banner/uploadFile", // 上传文件服务器地址
headers: { headers: {
Authorization: "Bearer " + getToken(), Authorization: "Bearer " + getToken(),
}, },
...@@ -91,19 +91,19 @@ export default { ...@@ -91,19 +91,19 @@ export default {
if (Array.isArray(val)) { if (Array.isArray(val)) {
list = val; list = val;
} else { } else {
await listByIds(val).then(res => { // await listByIds(val).then(res => {
list = res.data.map(oss => { // list = res.data.map(oss => {
oss = { name: oss.originalName, url: oss.url, ossId: oss.ossId }; // oss = { name: oss.originalName, url: oss.url};
return oss; // return oss;
}); // });
}) // })
} }
// 然后将数组转为对象数组 // 然后将数组转为对象数组
this.fileList = list.map(item => { // this.fileList = list.map(item => {
item = { name: item.name, url: item.url, ossId: item.ossId }; // item = { url: item.url};
item.uid = item.uid || new Date().getTime() + temp++; // item.uid = item.uid || new Date().getTime() + temp++;
return item; // return item;
}); // });
} else { } else {
this.fileList = []; this.fileList = [];
return []; return [];
...@@ -156,7 +156,7 @@ export default { ...@@ -156,7 +156,7 @@ export default {
// 上传成功回调 // 上传成功回调
handleUploadSuccess(res, file) { handleUploadSuccess(res, file) {
if (res.code === 200) { if (res.code === 200) {
this.uploadList.push({ name: res.data.fileName, url: res.data.url, ossId: res.data.ossId }); this.uploadList.push({ name: res.data.originalFilename, url: res.data.url});
this.uploadedSuccessfully(); this.uploadedSuccessfully();
} else { } else {
this.number--; this.number--;
...@@ -169,7 +169,7 @@ export default { ...@@ -169,7 +169,7 @@ export default {
// 删除文件 // 删除文件
handleDelete(index) { handleDelete(index) {
let ossId = this.fileList[index].ossId; let ossId = this.fileList[index].ossId;
delOss(ossId); // delOss(ossId);
this.fileList.splice(index, 1); this.fileList.splice(index, 1);
this.$emit("input", this.listToString(this.fileList)); this.$emit("input", this.listToString(this.fileList));
}, },
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<top-nav id="topmenu-container" class="topmenu-container" v-if="topNav"/> <top-nav id="topmenu-container" class="topmenu-container" v-if="topNav"/>
<div class="right-menu"> <div class="right-menu">
<template v-if="device!=='mobile'"> <!-- <template v-if="device!=='mobile'">
<search id="header-search" class="right-menu-item" /> <search id="header-search" class="right-menu-item" />
<el-tooltip content="源码地址" effect="dark" placement="bottom"> <el-tooltip content="源码地址" effect="dark" placement="bottom">
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<size-select id="size-select" class="right-menu-item hover-effect" /> <size-select id="size-select" class="right-menu-item hover-effect" />
</el-tooltip> </el-tooltip>
</template> </template> -->
<el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click"> <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
<div class="avatar-wrapper"> <div class="avatar-wrapper">
......
...@@ -4,6 +4,9 @@ ...@@ -4,6 +4,9 @@
<el-col :sm="24" :lg="12" style="padding-left: 20px"> <el-col :sm="24" :lg="12" style="padding-left: 20px">
<h2>封中数学</h2> <h2>封中数学</h2>
<p> <p>
技术支持:上海印宏网络科技有限公司
</p>
<!-- <p>
RuoYi-Vue-Plus 是基于 RuoYi-Vue 针对 分布式集群 场景升级(不兼容原框架) RuoYi-Vue-Plus 是基于 RuoYi-Vue 针对 分布式集群 场景升级(不兼容原框架)
<br/> <br/>
* 前端开发框架 Vue、Element UI<br/> * 前端开发框架 Vue、Element UI<br/>
...@@ -67,9 +70,9 @@ ...@@ -67,9 +70,9 @@
@click="goTarget('https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/wikis/pages?sort_id=4106467&doc_id=1469725')" @click="goTarget('https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/wikis/pages?sort_id=4106467&doc_id=1469725')"
>更新日志</el-button >更新日志</el-button
> >
</p> </p> -->
</el-col> </el-col>
<!--
<el-col :sm="24" :lg="12" style="padding-left: 50px"> <el-col :sm="24" :lg="12" style="padding-left: 50px">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
...@@ -102,7 +105,7 @@ ...@@ -102,7 +105,7 @@
</ul> </ul>
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col> -->
</el-row> </el-row>
<el-divider /> <el-divider />
</div> </div>
...@@ -133,12 +136,14 @@ export default { ...@@ -133,12 +136,14 @@ export default {
font-size: 17.5px; font-size: 17.5px;
border-left: 5px solid #eee; border-left: 5px solid #eee;
} }
hr { hr {
margin-top: 20px; margin-top: 20px;
margin-bottom: 20px; margin-bottom: 20px;
border: 0; border: 0;
border-top: 1px solid #eee; border-top: 1px solid #eee;
} }
.col-item { .col-item {
margin-bottom: 20px; margin-bottom: 20px;
} }
...@@ -148,7 +153,11 @@ export default { ...@@ -148,7 +153,11 @@ export default {
margin: 0; margin: 0;
} }
font-family: "open sans", "Helvetica Neue", Helvetica, Arial, sans-serif; font-family: "open sans",
"Helvetica Neue",
Helvetica,
Arial,
sans-serif;
font-size: 13px; font-size: 13px;
color: #676a6c; color: #676a6c;
overflow-x: hidden; overflow-x: hidden;
...@@ -186,6 +195,5 @@ export default { ...@@ -186,6 +195,5 @@ export default {
padding-inline-start: 40px; padding-inline-start: 40px;
} }
} }
} }</style>
</style>
...@@ -68,13 +68,14 @@ ...@@ -68,13 +68,14 @@
<el-table-column label="轮播图标题" prop="bannerTitle" /> <el-table-column label="轮播图标题" prop="bannerTitle" />
<el-table-column label="轮播图" prop="url"> <el-table-column label="轮播图" prop="url">
<template slot-scope="scope"> <template slot-scope="scope">
<el-image style="width: 100px; height: 100px" :src="scope.url" :preview-src-list="scope.url"> <el-image style="width: 100px; height: 100px" :src="scope.row.url">
</el-image> </el-image>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="是否启用" prop="remark"> <el-table-column label="是否启用" prop="status">
<template slot-scope="scope"> <template slot-scope="scope">
<el-switch v-model="scope.remark" active-color="#13ce66" inactive-color="#ff4949"> <el-switch v-model="scope.row.status" active-color="#13ce66" inactive-color="#ff4949"
@change="clickChange(scope.row)">
</el-switch> </el-switch>
</template> </template>
...@@ -100,7 +101,7 @@ ...@@ -100,7 +101,7 @@
<el-input v-model="form.bannerTitle" placeholder="请输入标题" /> <el-input v-model="form.bannerTitle" placeholder="请输入标题" />
</el-form-item> </el-form-item>
<el-form-item label="上传" prop="url"> <el-form-item label="上传" prop="url">
<imageUpload :limit="1" v-model="form.url" ref="refUpload" placeholder="请上传图片"/> <imageUpload :limit="1" v-model="form.url" ref="refUpload" placeholder="请上传图片" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer" style="text-align: center;"> <div slot="footer" class="dialog-footer" style="text-align: center;">
...@@ -169,11 +170,32 @@ export default { ...@@ -169,11 +170,32 @@ export default {
this.getList(); this.getList();
}, },
methods: { methods: {
clickChange(val) {
console.log(val, '----------------')
if (val.status == false) {
val.status = 1
} else {
val.status = 0
}
updateBanner(val).then(response => {
this.$modal.msgSuccess("修改成功");
this.getList();
})
},
/** 查询轮播图列表 */ /** 查询轮播图列表 */
getList() { getList() {
this.loading = true; this.loading = true;
listBanner(this.queryParams).then(response => { listBanner(this.queryParams).then(response => {
this.bannerList = response.rows; this.bannerList = response.rows;
console.log(this.bannerList.status, 'this.bannerList.status======')
this.bannerList.forEach((item) => {
if (item.status == "0") {
item.status = true
} else {
item.status = false
}
})
this.total = response.total; this.total = response.total;
this.loading = false; this.loading = false;
}); });
...@@ -227,7 +249,14 @@ export default { ...@@ -227,7 +249,14 @@ export default {
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
console.log(this.form,'this.form,') // console.log(this.form, 'this.form,')
// this.bannerList.forEach((item) => {
// if (item.status == true) {
// item.status = 0
// } else {
// item.status = 1
// }
// })
this.form.url = this.form.url[0].url this.form.url = this.form.url[0].url
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
if (valid) { if (valid) {
......
...@@ -773,7 +773,7 @@ export default { ...@@ -773,7 +773,7 @@ export default {
padding: 20px 40px; padding: 20px 40px;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: space-between; // justify-content: space-between;
&-item { &-item {
padding: 15px 20px; padding: 15px 20px;
...@@ -781,6 +781,7 @@ export default { ...@@ -781,6 +781,7 @@ export default {
border-radius: 5px; border-radius: 5px;
background-color: #f1efef; background-color: #f1efef;
margin-bottom: 20px; margin-bottom: 20px;
margin-right: 10px;
&-title { &-title {
font-size: 18px; font-size: 18px;
...@@ -814,9 +815,9 @@ export default { ...@@ -814,9 +815,9 @@ export default {
} }
} }
&-item:last-child { // &-item:last-child {
margin-bottom: 0px; // margin-bottom: 0px;
} // }
} }
&-form { &-form {
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item label="题库类别" prop="categoryId"> <el-form-item label="题库类别" prop="categoryId">
<el-select clearable v-model="queryParams.categoryId" placeholder="请选择题库类别" > <el-select clearable v-model="queryParams.categoryId" placeholder="请选择题库类别">
<el-option v-for="item in category" :key="item.id" :label="item.typeValue" :value="item.id"> <el-option v-for="item in category" :key="item.id" :label="item.typeValue" :value="item.id">
</el-option> </el-option>
</el-select> </el-select>
...@@ -20,13 +20,8 @@ ...@@ -20,13 +20,8 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="阶段" prop="phaseId"> <el-form-item label="阶段" prop="phaseId">
<el-select clearable v-model="queryParams.phaseId" placeholder="请选择阶段" > <el-select clearable v-model="queryParams.phaseId" placeholder="请选择阶段">
<el-option v-for="item in [ <el-option v-for="item in PhaseList" :key="item.deptId" :label="item.deptName" :value="item.deptId">
{ label: '全部', value: '' },
{ label: '高一', value: '1' },
{ label: '高二', value: '2' },
{ label: '高三', value: '3' },
]" :key="item.value" :label="item.label" :value="item.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -41,7 +36,7 @@ ...@@ -41,7 +36,7 @@
</el-form-item> </el-form-item>
<el-form-item label="强度分类:" prop="intensity"> <el-form-item label="强度分类:" prop="intensity">
<!-- 1基础,2中等,3提高 --> <!-- 1基础,2中等,3提高 -->
<el-select clearable v-model="queryParams.intensity" placeholder="请选择强度" > <el-select clearable v-model="queryParams.intensity" placeholder="请选择强度">
<el-option v-for="item in [ <el-option v-for="item in [
{ label: '全部', value: '' }, { label: '全部', value: '' },
{ label: '基础', value: '1' }, { label: '基础', value: '1' },
...@@ -229,11 +224,7 @@ ...@@ -229,11 +224,7 @@
</el-form-item> </el-form-item>
<el-form-item label="年级阶段:" prop="phaseId"> <el-form-item label="年级阶段:" prop="phaseId">
<el-select clearable v-model="form.phaseId" placeholder="请选择阶段" @change="handleQuery"> <el-select clearable v-model="form.phaseId" placeholder="请选择阶段" @change="handleQuery">
<el-option v-for="item in [ <el-option v-for="item in PhaseList" :key="item.deptId" :label="item.deptName" :value="item.deptId">
{ label: '高一', value: 1 },
{ label: '高二', value: 2 },
{ label: '高三', value: 3 },
]" :key="item.value" :label="item.label" :value="item.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -305,7 +296,8 @@ ...@@ -305,7 +296,8 @@
<editor v-model="form.resolveCourse" :min-height="192" :iconType="['image']" /> <editor v-model="form.resolveCourse" :min-height="192" :iconType="['image']" />
</el-form-item> </el-form-item>
<el-form-item label="解答视频" prop="resolveVideo"> <el-form-item label="解答视频" prop="resolveVideo">
<fileUpload v-model="form.resolveVideo" :limit="1" :fileSize="1024" :fileType="['mp4', 'mp3']" /> <fileUpload v-model="form.resolveVideo" :limit="1" ref="refFileupload" :value="form.resolveVideo"
:fileSize="1024" :fileType="['mp4', 'mp3']" />
</el-form-item> </el-form-item>
</template> </template>
</el-col> </el-col>
...@@ -330,7 +322,8 @@ import { ...@@ -330,7 +322,8 @@ import {
delQuestionBank, delQuestionBank,
addQuestionBank, addQuestionBank,
updateQuestionBank, updateQuestionBank,
questionType questionType,
getPhaseList
} from "@/api/school-paper/questionBank"; } from "@/api/school-paper/questionBank";
export default { export default {
...@@ -338,6 +331,7 @@ export default { ...@@ -338,6 +331,7 @@ export default {
data() { data() {
return { return {
category: [], // 题库类别 category: [], // 题库类别
PhaseList: [], // 阶段
// 按钮loading // 按钮loading
buttonLoading: false, buttonLoading: false,
// 遮罩层 // 遮罩层
...@@ -560,6 +554,9 @@ export default { ...@@ -560,6 +554,9 @@ export default {
this.category = res.rows this.category = res.rows
// console.log(res,'this.questionBankList======') // console.log(res,'this.questionBankList======')
}) })
getPhaseList().then((res) => {
this.PhaseList = res.data
})
}, },
// 取消按钮 // 取消按钮
cancel() { cancel() {
...@@ -710,6 +707,16 @@ export default { ...@@ -710,6 +707,16 @@ export default {
// 判断是否是填空题 // 判断是否是填空题
if (self.form.species == 1) { if (self.form.species == 1) {
self.form.answer = self.form.rightAnswers self.form.answer = self.form.rightAnswers
if (self.form.rightAnswersPic) {
let arr = self.form.rightAnswersPic.split(','),
brr = [];
arr.forEach((item) => {
brr.push({
url: item
})
})
self.form.rightAnswersPic = brr
}
} }
// 判断是否是解答题 // 判断是否是解答题
if (self.form.species == 3) { if (self.form.species == 3) {
...@@ -725,6 +732,17 @@ export default { ...@@ -725,6 +732,17 @@ export default {
self.form.rightAnswers = index self.form.rightAnswers = index
} }
}) })
if (self.form.resolveVideo) {
let arr = self.form.resolveVideo.split(','),
brr = [];
arr.forEach((item) => {
brr.push({
url: item
})
})
self.form.resolveVideo = brr
// self.$refs['refFileupload'].fileList = brr
}
// console.log(this.form.rightAnswers, "========newArrnewArrnewArr"); // console.log(this.form.rightAnswers, "========newArrnewArrnewArr");
this.title = "修改题库主"; this.title = "修改题库主";
}); });
...@@ -790,6 +808,10 @@ export default { ...@@ -790,6 +808,10 @@ export default {
self.$set(self.form.options, index, row) self.$set(self.form.options, index, row)
}) })
} }
if (this.form.type == 1) {
this.form.resolveVideo = this.$refs['refFileupload'].fileList
}
// console.log(this.form.resolveVideo,this.$refs['refFileupload'].fileList,'------------')
this.form.rightAnswers = arr[this.form.rightAnswers] this.form.rightAnswers = arr[this.form.rightAnswers]
// 判断是否是填空题 // 判断是否是填空题
if (self.form.species == 1) { if (self.form.species == 1) {
...@@ -820,12 +842,37 @@ export default { ...@@ -820,12 +842,37 @@ export default {
if (self.form.type) { if (self.form.type) {
self.isEditor("resolveCourse"); self.isEditor("resolveCourse");
} }
let params = new Object();
if (self.form.rightAnswersPic && self.form.rightAnswersPic.length) {
params = {
...self.form,
rightAnswersPic: self.form.rightAnswersPic.map(item => {
return item.url
}).join(',')
}
} else {
params = {
...self.form
}
}
if (params.resolveVideo && params.resolveVideo.length) {
params = {
...params,
resolveVideo: params.resolveVideo.map(item => {
return item.url
}).join(',')
}
} else {
params = {
...params
}
}
this.$refs["form"].validate((valid) => { this.$refs["form"].validate((valid) => {
if (valid) { if (valid) {
console.log("规则通过"); console.log("规则通过");
this.buttonLoading = true; this.buttonLoading = true;
if (this.form.id != null) { if (this.form.id != null) {
updateQuestionBank(this.form) updateQuestionBank(params)
.then((response) => { .then((response) => {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
this.open = false; this.open = false;
...@@ -835,7 +882,7 @@ export default { ...@@ -835,7 +882,7 @@ export default {
this.buttonLoading = false; this.buttonLoading = false;
}); });
} else { } else {
addQuestionBank(this.form) addQuestionBank(params)
.then((response) => { .then((response) => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.open = false; this.open = false;
......
...@@ -66,9 +66,9 @@ ...@@ -66,9 +66,9 @@
@selection-change="handleSelectionChange"> @selection-change="handleSelectionChange">
<!-- <el-table-column type="selection" width="55" align="center" /> <!-- <el-table-column type="selection" width="55" align="center" />
<el-table-column label="主键id" align="center" prop="id" v-if="true"/> --> <el-table-column label="主键id" align="center" prop="id" v-if="true"/> -->
<el-table-column label="试卷名称" align="center" prop="userId" /> <el-table-column label="试卷名称" prop="testName" />
<el-table-column label="满分" align="center" prop="testPaperId" /> <el-table-column label="满分" prop="totalPoints" />
<el-table-column label="阶段" align="center" prop="status" /> <el-table-column label="阶段" prop="status" />
<!-- <el-table-column label="总得分" align="center" prop="totalPoints" /> <!-- <el-table-column label="总得分" align="center" prop="totalPoints" />
<el-table-column label="备注" align="center" prop="remark" /> --> <el-table-column label="备注" align="center" prop="remark" /> -->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
...@@ -89,9 +89,9 @@ ...@@ -89,9 +89,9 @@
@selection-change="handleSelectionChange"> @selection-change="handleSelectionChange">
<!-- <el-table-column type="selection" width="55" align="center" /> <!-- <el-table-column type="selection" width="55" align="center" />
<el-table-column label="主键id" align="center" prop="id" v-if="true"/> --> <el-table-column label="主键id" align="center" prop="id" v-if="true"/> -->
<el-table-column label="同学名称" align="center" prop="userId" /> <el-table-column label="同学名称" prop="userId" />
<el-table-column label="班级" align="center" prop="testPaperId" /> <el-table-column label="班级" prop="testPaperId" />
<el-table-column label="得分" align="center" prop="status" /> <el-table-column label="得分" prop="status" />
<!-- <el-table-column label="总得分" align="center" prop="totalPoints" /> <!-- <el-table-column label="总得分" align="center" prop="totalPoints" />
<el-table-column label="备注" align="center" prop="remark" /> --> <el-table-column label="备注" align="center" prop="remark" /> -->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment