Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
Z
zhengyuan-danger-chemistry-manage
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
耿迪迪
zhengyuan-danger-chemistry-manage
Commits
f7b9295f
Commit
f7b9295f
authored
Dec 16, 2022
by
纪泽龙
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
题库管理页面的增加删除修改。
parent
a40306a3
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
286 additions
and
175 deletions
+286
-175
main.js
danger-manage-web/src/main.js
+4
-1
Lesson.vue
...iews/educationPlanExam/questionBank/components/Lesson.vue
+149
-86
QuestionList.vue
...ducationPlanExam/questionBank/components/QuestionList.vue
+8
-7
index.vue
...ge-web/src/views/educationPlanExam/questionBank/index.vue
+124
-80
vue.config.js
danger-manage-web/vue.config.js
+1
-1
No files found.
danger-manage-web/src/main.js
View file @
f7b9295f
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: 纪泽龙 jizelong@qq.com
* @Author: 纪泽龙 jizelong@qq.com
* @Date: 2022-06-16 14:52:17
* @Date: 2022-06-16 14:52:17
* @LastEditors: 纪泽龙 jizelong@qq.com
* @LastEditors: 纪泽龙 jizelong@qq.com
* @LastEditTime: 2022-
09-20 23:37:42
* @LastEditTime: 2022-
12-15 14:39:18
* @FilePath: /danger-manage-web/src/main.js
* @FilePath: /danger-manage-web/src/main.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
*/
...
@@ -48,11 +48,14 @@ import VueVideoPlayer from 'vue-video-player'
...
@@ -48,11 +48,14 @@ import VueVideoPlayer from 'vue-video-player'
// require videojs style
// require videojs style
import
'video.js/dist/video-js.css'
import
'video.js/dist/video-js.css'
// import 'vue-video-player/src/custom-theme.css'
// import 'vue-video-player/src/custom-theme.css'
Vue
.
use
(
VueVideoPlayer
,
/* {
Vue
.
use
(
VueVideoPlayer
,
/* {
options: global default options,
options: global default options,
events: global videojs events
events: global videojs events
} */
)
} */
)
// require('video.js/dist/video-js.css')
// require('video.js/dist/video-js.css')
// require('vue-video-player/src/custom-theme.css')
// require('vue-video-player/src/custom-theme.css')
// Vue.use(VideoPlayer)
// Vue.use(VideoPlayer)
...
...
danger-manage-web/src/views/educationPlanExam/questionBank/components/Lesson.vue
View file @
f7b9295f
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: 纪泽龙 jizelong@qq.com
* @Author: 纪泽龙 jizelong@qq.com
* @Date: 2022-09-22 10:59:44
* @Date: 2022-09-22 10:59:44
* @LastEditors: 纪泽龙 jizelong@qq.com
* @LastEditors: 纪泽龙 jizelong@qq.com
* @LastEditTime: 2022-
09-28 17:52:32
* @LastEditTime: 2022-
12-16 16:43:06
* @FilePath: /danger-manage-web/src/views/lessonsProgram/components/Lession.vue
* @FilePath: /danger-manage-web/src/views/lessonsProgram/components/Lession.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
-->
...
@@ -16,38 +16,40 @@
...
@@ -16,38 +16,40 @@
:rules=
"rules"
:rules=
"rules"
>
>
<div
class=
"top flex"
>
<div
class=
"top flex"
>
<el-form-item
label=
"
课程标题"
prop=
"course
Name"
>
<el-form-item
label=
"
题库名称"
prop=
"bank
Name"
>
<el-input
style=
"width:
500px"
v-model=
"form.course
Name"
></el-input>
<el-input
style=
"width:
300px"
v-model=
"form.bank
Name"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"课程类型"
prop=
"courseType"
>
<el-form-item
<el-select
label=
"归属部门"
v-model=
"form.courseType"
prop=
"deptId"
placeholder=
"请选择隐患等级"
label-width=
"140px"
clearable
ref=
"treeItem"
size=
"small"
>
>
<el-option
<Treeselect
v-for=
"course in courseOptions"
class=
"tree"
:key=
"course.planId"
v-model=
"form.deptId"
:label=
"course.planName"
:options=
"deptOptions"
:value=
"course.planId"
:show-count=
"true"
placeholder=
"请选择归属部门"
@
open=
"treeOpen"
@
close=
"treeClose"
@
select=
"select"
/>
/>
</el-select>
</el-form-item>
</el-form-item>
</div>
</div>
<!--
</div>
-->
<!--
</div>
-->
<el-form-item
label=
"课程内容"
prop=
"courseConent"
>
<
!--
<
el-form-item
label=
"课程内容"
prop=
"courseConent"
>
<Editor
v-model=
"form.courseConent"
:min-height=
"192"
/>
<Editor
v-model=
"form.courseConent"
:min-height=
"192"
/>
<el-input
<el-input
v-show=
"false"
v-show=
"false"
disabled
disabled
v-model=
"form.courseConent"
v-model=
"form.courseConent"
></el-input>
></el-input>
</el-form-item>
</el-form-item>
-->
<div
class=
"flex"
>
<
!--
<
div
class=
"flex"
>
<el-form-item
label=
"视频上传"
v-if=
"!readOnly"
prop=
"video"
>
<el-form-item
label=
"视频上传"
v-if=
"!readOnly"
prop=
"video"
>
<FileUpload
<FileUpload
listType=
"picture"
listType=
"picture"
...
@@ -68,7 +70,7 @@
...
@@ -68,7 +70,7 @@
/>
/>
<el-input
v-show=
"false"
disabled
v-model=
"form.enclosure"
></el-input>
<el-input
v-show=
"false"
disabled
v-model=
"form.enclosure"
></el-input>
</el-form-item>
</el-form-item>
</div>
</div>
-->
</el-form>
</el-form>
</div>
</div>
</
template
>
</
template
>
...
@@ -83,7 +85,18 @@ import {
...
@@ -83,7 +85,18 @@ import {
getLessonById
,
getLessonById
,
changeLesson
,
changeLesson
,
}
from
"@/api/educationPlanExam/lessonsProgram"
;
}
from
"@/api/educationPlanExam/lessonsProgram"
;
import
{
listBank
,
addBank
,
updateBank
,
getBank
,
}
from
"@/api/system/questionBank.js"
;
// 所有部门
import
{
treeselect
}
from
"@/api/system/dept"
;
import
Treeselect
from
"@riophae/vue-treeselect"
;
import
"@riophae/vue-treeselect/dist/vue-treeselect.css"
;
export
default
{
export
default
{
name
:
""
,
name
:
""
,
props
:
{
props
:
{
...
@@ -94,84 +107,123 @@ export default {
...
@@ -94,84 +107,123 @@ export default {
components
:
{
components
:
{
Editor
,
Editor
,
FileUpload
,
FileUpload
,
Treeselect
,
},
},
data
()
{
data
()
{
return
{
return
{
form
:
{
form
:
{
courseName
:
""
,
bankName
:
""
,
courseType
:
""
,
// courseType: "",
courseConent
:
""
,
// courseConent: "",
video
:
""
,
// video: "",
enclosure
:
""
,
// enclosure: "",
deptId
:
null
,
},
},
// 归属部门列表
deptOptions
:
[],
fileListVideo
:
[],
fileListVideo
:
[],
fileListFile
:
[],
fileListFile
:
[],
readOnly
:
false
,
readOnly
:
false
,
rules
:
{
rules
:
{
course
Name
:
[
bank
Name
:
[
{
required
:
true
,
trigger
:
"blur"
,
message
:
"课程名称不能为空"
},
{
required
:
true
,
trigger
:
"blur"
,
message
:
"课程名称不能为空"
},
],
],
courseType
:
[
deptId
:
[
{
required
:
true
,
trigger
:
"change"
,
message
:
"课程类型不能为空"
},
{
required
:
true
,
trigger
:
"blur"
,
message
:
"请选择所属部门"
},
],
courseConent
:
[
{
required
:
true
,
trigger
:
"blur"
,
message
:
"课程内容不能为空"
},
],
video
:
[{
required
:
true
,
trigger
:
"blue"
,
message
:
"视频不能为空"
}],
enclosure
:
[
{
required
:
true
,
trigger
:
"blur"
,
message
:
"附件不能为空"
},
],
],
// courseType: [
// { required: true, trigger: "change", message: "课程类型不能为空" },
// ],
// courseConent: [
// { required: true, trigger: "blur", message: "课程内容不能为空" },
// ],
// video: [{ required: true, trigger: "blue", message: "视频不能为空" }],
// enclosure: [
// { required: true, trigger: "blur", message: "附件不能为空" },
// ],
},
},
};
};
},
},
computed
:
{
computed
:
{
// 获取课程类型
// 获取课程类型
...
mapGetters
([
"courseOptions"
]),
//
...mapGetters(["courseOptions"]),
},
},
created
()
{
created
()
{
if
(
this
.
courseId
)
{
if
(
this
.
courseId
)
{
this
.
getLessonById
();
this
.
getLessonById
();
}
}
// 归属部门列表
this
.
getTreeselect
();
},
},
mounted
()
{},
mounted
()
{},
methods
:
{
methods
:
{
// 添加课程
// 添加课程
addLessons
(
data
)
{
addLessons
(
data
)
{
console
.
log
(
"this.courseId"
,
this
.
courseId
);
if
(
!
this
.
courseId
)
{
if
(
!
this
.
courseId
)
{
console
.
log
(
"添加"
);
console
.
log
(
"添加"
);
return
add
Lessons
(
data
);
return
add
Bank
(
data
);
}
else
{
}
else
{
console
.
log
(
"修改"
);
console
.
log
(
"修改"
);
return
changeLesson
({
course
Id
:
this
.
courseId
,
...
data
});
return
updateBank
({
bank
Id
:
this
.
courseId
,
...
data
});
}
}
},
},
/** 查询部门下拉树结构 */
getTreeselect
()
{
treeselect
().
then
((
response
)
=>
{
this
.
deptOptions
=
response
.
data
;
console
.
log
(
this
.
deptOptions
);
});
},
// 当树形组件打开
treeOpen
()
{
document
.
querySelector
(
".vue-treeselect__control"
).
style
.
borderColor
=
""
;
},
// 当属性组件关闭
treeClose
(
a
,
b
)
{
if
(
!
a
)
{
// 手动添加报红功能,没值的时候报红
document
.
querySelector
(
".vue-treeselect__control"
).
style
.
borderColor
=
"red"
;
this
.
save
();
}
else
{
document
.
querySelector
(
".vue-treeselect__control"
).
style
.
borderColor
=
""
;
this
.
$refs
.
treeItem
.
clearValidate
();
}
},
select
()
{},
// 复现
// 复现
getLessonById
()
{
getLessonById
()
{
getLessonById
(
this
.
courseId
).
then
((
res
)
=>
{
getBank
(
this
.
courseId
).
then
((
res
)
=>
{
console
.
log
(
"res"
,
res
);
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
const
data
=
res
.
data
;
const
{
courseName
,
courseType
,
courseConent
,
video
,
enclosure
}
=
data
;
this
.
form
=
{
this
.
form
=
{
courseName
,
bankName
:
res
.
data
.
bankName
,
courseType
,
deptId
:
res
.
data
.
deptId
,
courseConent
,
video
,
enclosure
,
};
};
this
.
fileListVideo
=
[
// const data = res.data;
{
// const { bankName, courseType, courseConent, video, enclosure } =
name
:
courseName
+
"视频"
,
// data;
url
:
uploadfile
,
// this.form = {
},
// bankName,
];
// courseType,
this
.
fileListFile
=
[
// courseConent,
{
// video,
name
:
courseName
+
"附件"
,
// enclosure,
url
:
uploadfile
,
// };
},
// this.fileListVideo = [
];
// {
// name: bankName + "视频",
// url: uploadfile,
// },
// ];
// this.fileListFile = [
// {
// name: bankName + "附件",
// url: uploadfile,
// },
// ];
}
}
});
});
},
},
...
@@ -207,25 +259,25 @@ export default {
...
@@ -207,25 +259,25 @@ export default {
},
},
save
(
num
=
2
)
{
save
(
num
=
2
)
{
// 因为富文本编辑器会残留
<
p
><
br
><
/p>,所以要清
空
// 因为富文本编辑器会残留
<
p
><
br
><
/p>,所以要清
空
if
(
this
.
form
.
courseConent
===
"<p><br></p>"
)
{
//
if (this.form.courseConent === "
<
p
><
br
><
/p>"
)
{
this
.
form
.
courseConent
=
""
;
//
this.form.courseConent = "";
}
//
}
this
.
$refs
.
form
.
validate
((
valid
)
=>
{
this
.
$refs
.
form
.
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
// console.log(this.form);
this
.
addLessons
({
...
this
.
form
}).
then
((
res
)
=>
{
this
.
addLessons
({
...
this
.
form
}).
then
((
res
)
=>
{
// 如果添加会传回来,就用传回来的,如果是修改本身就有,就用本身的
// 如果添加会传回来,就用传回来的,如果是修改本身就有,就用本身的
const
courseId
=
res
.
data
||
this
.
courseId
;
// console.log('res',res)
if
(
res
.
code
==
200
)
{
const
courseId
=
this
.
courseId
||
res
;
// if (res.code == 200) {
// 这样调比较纯函数一点
// 这样调比较纯函数一点
if
(
num
==
2
)
{
if
(
num
==
2
)
{
this
.
$message
({
this
.
$message
({
message
:
"保存课程
成功"
,
message
:
"保存题库
成功"
,
type
:
"success"
,
type
:
"success"
,
});
});
}
else
if
(
num
==
3
)
{
}
else
if
(
num
==
3
)
{
this
.
$message
({
this
.
$message
({
message
:
"保存课程
成功,请开始录入题目"
,
message
:
"保存题库
成功,请开始录入题目"
,
type
:
"success"
,
type
:
"success"
,
});
});
}
}
...
@@ -234,8 +286,19 @@ export default {
...
@@ -234,8 +286,19 @@ export default {
this
.
$parent
.
$parent
.
$parent
.
getList
();
this
.
$parent
.
$parent
.
$parent
.
getList
();
return
true
;
return
true
;
}
//
}
});
});
}
else
{
if
(
!
this
.
form
.
deptId
)
{
document
.
querySelector
(
".vue-treeselect__control"
).
style
.
borderColor
=
"red"
;
}
else
{
document
.
querySelector
(
".vue-treeselect__control"
).
style
.
borderColor
=
""
;
this
.
$refs
.
treeItem
.
clearValidate
();
}
}
}
});
});
},
},
...
@@ -250,8 +313,8 @@ export default {
...
@@ -250,8 +313,8 @@ export default {
.form-wrapper
{
.form-wrapper
{
padding-top
:
22px
;
padding-top
:
22px
;
width
:
100%
;
width
:
100%
;
height
:
55
0px
;
height
:
10
0px
;
overflow
:
hidden
;
//
overflow: hidden;
// padding-bottom: 10px;
// padding-bottom: 10px;
margin-bottom
:
20px
;
margin-bottom
:
20px
;
...
...
danger-manage-web/src/views/educationPlanExam/questionBank/components/QuestionList.vue
View file @
f7b9295f
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: 纪泽龙 jizelong@qq.com
* @Author: 纪泽龙 jizelong@qq.com
* @Date: 2022-09-22 17:56:05
* @Date: 2022-09-22 17:56:05
* @LastEditors: 纪泽龙 jizelong@qq.com
* @LastEditors: 纪泽龙 jizelong@qq.com
* @LastEditTime: 2022-
09-28 17:54:16
* @LastEditTime: 2022-
12-16 10:23:13
* @FilePath: /danger-manage-web/src/views/lessonsProgram/components/QuestionList.vue
* @FilePath: /danger-manage-web/src/views/lessonsProgram/components/QuestionList.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
-->
...
@@ -10,9 +10,9 @@
...
@@ -10,9 +10,9 @@
<div
ref=
"myBody"
class=
"add-question flex"
>
<div
ref=
"myBody"
class=
"add-question flex"
>
<div
class=
"text flex"
>
<div
class=
"text flex"
>
<div
class=
"left"
>
<div
class=
"left"
>
目前有
<span>
{{
questionNum
}}
</span
目前有
<span>
{{
questionNum
||
0
}}
</span
>
道题
>
道题
<
span
class=
"warn"
>
温馨提示:发布课程前需要进行考试设置
</span
>
<
!--
<span
class=
"warn"
>
温馨提示:发布课程前需要进行考试设置
</span>
--
>
</div>
</div>
<div
class=
"right"
>
{{
courseName
}}
</div>
<div
class=
"right"
>
{{
courseName
}}
</div>
</div>
</div>
...
@@ -51,8 +51,9 @@
...
@@ -51,8 +51,9 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"rightNum flex"
>
<!--
<div
class=
"rightNum flex"
>
<div
class=
"left"
>
考试设置
</div>
<div
class=
"left"
>
录入考题
</div>
<div
class=
"middle flex"
>
<div
class=
"middle flex"
>
<div
class=
"left-text"
>
答对题目大于
</div>
<div
class=
"left-text"
>
答对题目大于
</div>
<div>
<div>
...
@@ -73,7 +74,7 @@
...
@@ -73,7 +74,7 @@
>
保存
</el-button
>
保存
</el-button
>
>
</div>
</div>
</div>
</div>
-->
</div>
</div>
</
template
>
</
template
>
...
...
danger-manage-web/src/views/educationPlanExam/questionBank/index.vue
View file @
f7b9295f
This diff is collapsed.
Click to expand it.
danger-manage-web/vue.config.js
View file @
f7b9295f
...
@@ -35,7 +35,7 @@ module.exports = {
...
@@ -35,7 +35,7 @@ module.exports = {
// detail: https://cli.vuejs.org/config/#devserver-proxy
// detail: https://cli.vuejs.org/config/#devserver-proxy
[
process
.
env
.
VUE_APP_BASE_API
]:
{
[
process
.
env
.
VUE_APP_BASE_API
]:
{
target
:
process
.
env
.
VUE_APP_TARGET
,
target
:
process
.
env
.
VUE_APP_TARGET
,
//target: `http://192.168.31.87
:8908/dangerManage`,
target
:
`http://192.168.2.2
:8908/dangerManage`
,
changeOrigin
:
true
,
changeOrigin
:
true
,
pathRewrite
:
{
pathRewrite
:
{
[
'^'
+
process
.
env
.
VUE_APP_BASE_API
]:
''
[
'^'
+
process
.
env
.
VUE_APP_BASE_API
]:
''
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment