Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Q
qualityTesting_adminHome
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
tobacco
qualityTesting_adminHome
Commits
42b0dc8d
提交
42b0dc8d
authored
4月 20, 2023
作者:
Yroc
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
'后台部分功能优化'
上级
a8a78a0c
全部展开
显示空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
180 行增加
和
48 行删除
+180
-48
student.js
src/api/student.js
+10
-0
index.vue
src/components/ExaminationHeader/index.vue
+28
-14
index.vue
src/components/TableHead/index.vue
+84
-4
index.vue
src/views/login/index.vue
+0
-0
index.vue
src/views/student/examination_questions/comment/index.vue
+1
-1
index.vue
src/views/student/examination_questions/detail/index.vue
+43
-15
index.vue
src/views/student/examination_questions/list/index.vue
+3
-3
index.vue
src/views/student/test_results/detail/index.vue
+11
-11
没有找到文件。
src/api/student.js
浏览文件 @
42b0dc8d
...
...
@@ -147,6 +147,16 @@ export function get_examination_questions_detail(id, params) {
method
:
'get'
,
})
}
//试题得分设置
export
function
get_examination_questions_select
(
id
,
data
)
{
return
request
({
url
:
`/api/examination_question_detail/set_fraction/
${
id
}
`
,
method
:
'post'
,
data
})
}
//试题信息管理详情-图片上传
export
function
upload_examination_question_image
(
data
)
{
return
request
({
...
...
src/components/ExaminationHeader/index.vue
浏览文件 @
42b0dc8d
...
...
@@ -8,22 +8,37 @@
<
template
>
<div>
<div>
<el-button
type=
"text"
icon=
"el-icon-arrow-left"
size=
"mini"
class=
"back_btn"
@
click=
"back"
>
返回
</el-button>
<el-button
type=
"text"
icon=
"el-icon-arrow-left"
size=
"mini"
class=
"back_btn"
@
click=
"back"
>
返回
</el-button
>
<h2
class=
"title_box"
>
{{
info_data
.
title
}}
</h2>
<span
v-for=
"(item, index) in info_data.examination_status"
:key=
"index"
>
<el-tag
:type=
"item.type"
v-if=
"info_data.status == item.id"
>
{{
item
.
label
}}
</el-tag>
<el-tag
:type=
"item.type"
v-if=
"info_data.status == item.id"
>
{{
item
.
label
}}
</el-tag>
</span>
</div>
<div
style=
"margin-top: 15px;"
>
<div
class=
"person_attribute_box"
v-for=
"(item, index) in data_keys"
:key=
"index"
v-show=
"info_data[item.key] != undefined"
>
<div
style=
"margin-top: 15px"
>
<div
class=
"person_attribute_box"
v-for=
"(item, index) in data_keys"
:key=
"index"
v-show=
"info_data[item.key] != undefined"
>
<span
v-if=
"item.key == 'duration'"
>
<span
class=
"label"
>
{{
item
.
label
}}
</span>
<span>
{{
info_data
[
item
.
key
]
}}
分钟
</span>
</span>
<span
v-else-if=
"item.key == 'answer_duration'"
>
<span
class=
"label"
>
{{
item
.
label
}}
</span>
<span
class=
"label"
>
{{
seconds_to_minutes
(
info_data
[
item
.
key
])
}}
</span>
<span
class=
"label"
>
{{
seconds_to_minutes
(
info_data
[
item
.
key
])
}}
</span>
</span>
<span
v-else
>
<span
class=
"label"
>
{{
item
.
label
}}
</span>
...
...
@@ -48,7 +63,7 @@ export default {
{
label
:
'成绩'
,
key
:
'score'
},
{
label
:
'考试时长'
,
key
:
'duration'
},
{
label
:
'考试时长'
,
key
:
'answer_duration'
},
{
label
:
'本套题满分'
,
key
:
'full_marks'
},
],
strong_keys
:
[
'user_name'
,
'score'
],
};
...
...
@@ -60,7 +75,7 @@ export default {
created
()
{
this
.
info_data
=
{
...
this
.
examination_questions
};
},
mounted
()
{
},
mounted
()
{},
methods
:
{
back
()
{
...
...
@@ -68,21 +83,20 @@ export default {
},
seconds_to_minutes
(
str
)
{
if
(
str
)
{
return
secondsToMinutes
(
str
)
return
secondsToMinutes
(
str
)
;
}
else
{
return
'暂无'
return
'暂无'
;
}
},
}
}
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.back_btn
{
/* font-size: 16px; */
color
:
#303133
;
border-right
:
1px
solid
#
DCDFE
6
;
border-right
:
1px
solid
#
dcdfe
6
;
padding
:
3px
10px
3px
0
;
border-radius
:
none
;
}
...
...
src/components/TableHead/index.vue
浏览文件 @
42b0dc8d
...
...
@@ -34,15 +34,85 @@
<span
v-for=
"(item, index) in head_data.right_buttons"
:key=
"index"
style=
"margin: 0
8
px"
style=
"margin: 0
5
px"
>
<el-button
v-if=
"upload_btns.indexOf(item.event) == -1"
v-if=
"
upload_btns.indexOf(item.event) == -1 &&
item.event !== 'template_download' &&
item.event !== 'select_score'
"
type=
"primary"
:icon=
"item.icon"
@
click=
"btnClick(item.event)"
>
{{
item
.
text
}}
</el-button
>
<el-popover
v-else-if=
"item.event == 'template_download'"
placement=
"bottom"
width=
"400"
trigger=
"hover"
>
<el-table
:data=
"examination_questions_data"
>
<el-table-column
prop=
"name"
label=
"题目数量"
>
</el-table-column>
<el-table-column
align=
"center"
label=
"操作"
width=
"100"
>
<template
slot-scope=
"scope"
>
<el-button
type=
"primary"
@
click=
"btnClick('template_download', scope.row.data)"
>
下载
</el-button
>
</
template
>
</el-table-column>
</el-table>
<el-button
type=
"primary"
slot=
"reference"
:icon=
"item.icon"
>
{{
item.text
}}
</el-button>
</el-popover>
<el-popover
v-else-if=
"item.event == 'select_score'"
placement=
"bottom"
width=
"300"
trigger=
"hover"
>
<!-- <el-table height="400" :data="examination_questions_select_data">
<el-table-column
align="center"
prop="name"
label="每道题得分选择"
>
</el-table-column>
<el-table-column align="center" label="操作" width="100">
<template slot-scope="scope">
>
</template>
</el-table-column>
</el-table> -->
<el-row>
<el-col
:span=
"16"
>
<el-input
v-model=
"examination_questions_select_data"
placeholder=
"请输每道题新的得分"
></el-input
></el-col>
<el-col
:span=
"8"
></el-col
><el-button
style=
"margin-left: 20px"
type=
"primary"
@
click=
"
btnClick('select_score', examination_questions_select_data)
"
>
确认
</el-button
>
</el-row>
<el-button
type=
"primary"
slot=
"reference"
:icon=
"item.icon"
>
{{
item.text
}}
</el-button>
</el-popover>
<el-upload
v-else
id=
"upload_moudel"
...
...
@@ -61,6 +131,7 @@
</el-upload>
</span>
</el-col>
<!-- <el-col :span="2"
><span v-if="head_data.ensembel_btn"
><el-badge :value="head_data.number_value">
...
...
@@ -88,6 +159,13 @@ export default {
'examination_questions_upload'
,
'batch_reservation'
,
],
examination_questions_data
:
[
{
name
:
'100道题'
,
data
:
'setThemeCard100.docx'
},
{
name
:
'50道题'
,
data
:
'setThemeCard50.docx'
},
{
name
:
'25道题'
,
data
:
'setThemeCard25.docx'
},
{
name
:
'20道题'
,
data
:
'setThemeCard20.docx'
},
],
examination_questions_select_data
:
null
,
btn_code
:
''
,
};
},
...
...
@@ -123,8 +201,10 @@ export default {
},
//右侧按钮事件
btnClick
(
val
)
{
this
.
$emit
(
'btnClick'
,
val
);
btnClick
(
val
,
data
)
{
// console.log(val);
// console.log(data);
this
.
$emit
(
'btnClick'
,
{
val
,
data
});
},
uploadCode
(
val
)
{
this
.
btn_code
=
val
;
...
...
src/views/login/index.vue
浏览文件 @
42b0dc8d
差异被折叠。
点击展开。
src/views/student/examination_questions/comment/index.vue
浏览文件 @
42b0dc8d
...
...
@@ -707,7 +707,7 @@ export default {
},
};
},
//错误
等
级
//错误
上下一
级
changeErrorLevel
(
datas
)
{
if
(
!
datas
)
return
false
;
let
keys
=
Object
.
keys
(
datas
);
...
...
src/views/student/examination_questions/detail/index.vue
浏览文件 @
42b0dc8d
...
...
@@ -3,7 +3,7 @@
* @Author: AnthonyD
* @Date: 2023-03-28 10:34:24
* @Last Modified by: AnthonyD
* @Last Modified time: 2023-04-
11 19:40:37
* @Last Modified time: 2023-04-
20 15:34:11
*/
</
script
>
<
template
>
...
...
@@ -72,6 +72,8 @@
</el-popover>
</
template
>
</el-table-column>
<el-table-column
prop=
"fraction"
align=
"center"
label=
"每题得分"
>
</el-table-column>
<el-table-column
prop=
"quote"
label=
"是否引用"
align=
"center"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
examination_question_detail_id
?
'是'
:
'否'
}}
...
...
@@ -178,6 +180,7 @@ import {
get_image_path
,
get_examination_questions_all
,
create_answer_card
,
get_examination_questions_select
,
}
from
'@/api/student'
;
import
{
exportText
}
from
'@/utils/tool'
;
const
standard_template
=
{
...
...
@@ -201,6 +204,11 @@ export default {
is_search_show
:
false
,
search_placeholder
:
'学员姓名/手机号'
,
right_buttons
:
[
{
text
:
'每题得分'
,
icon
:
'el-icon-magic-stick'
,
event
:
'select_score'
,
},
{
text
:
'模板下载'
,
icon
:
'el-icon-download'
,
...
...
@@ -212,7 +220,7 @@ export default {
event
:
'examination_questions_upload'
,
},
{
text
:
'
试题
下载'
,
text
:
'
答案
下载'
,
icon
:
'el-icon-download'
,
event
:
'examination_download'
,
},
...
...
@@ -295,13 +303,14 @@ export default {
this
.
getExaminationQuestionsDetail
();
},
btnClick
(
val
)
{
console
.
log
(
'右侧按钮'
);
console
.
log
(
val
);
//
console.log('右侧按钮');
//
console.log(val);
if
(
val
==
'add'
)
this
.
addInformation
();
if
(
val
==
'template_download'
)
this
.
templateDownload
(
);
if
(
val
.
val
==
'template_download'
)
this
.
templateDownload
(
val
.
data
);
/* pictureBatchUpload */
if
(
val
==
'batch_upload'
)
this
.
pictureBatchUpload
();
if
(
val
==
'examination_download'
)
this
.
createAnswerCard
();
if
(
val
.
val
==
'select_score'
)
this
.
selectScoreData
(
val
.
data
);
},
init
()
{
...
...
@@ -381,9 +390,14 @@ export default {
this
.
student_brief_introduction
.
begin_date
=
res
.
begin_date
;
this
.
student_brief_introduction
.
test_number
=
res
.
examination_question_detail
.
length
;
this
.
student_brief_introduction
.
full_marks
=
res
.
examination_question_detail
.
length
*
res
.
examination_question_detail
[
0
].
fraction
;
// console.log(this.student_brief_introduction.full_marks);
this
.
is_loading
=
false
;
});
},
//获取方位
getTobaccoProvince
()
{
get_tobacco_province
().
then
((
res
)
=>
{
...
...
@@ -532,16 +546,17 @@ export default {
});
},
//试题模版下载
templateDownload
()
{
let
url
=
`
${
this
.
IP
}
/php_sours/tmpDoc/setThemeCard.docx`
;
templateDownload
(
path
)
{
// let url = `${this.IP}/php_sours/tmpDoc/setThemeCard.docx`;
let
url
=
`
${
this
.
IP
}
/php_sours/tmpDoc/
${
path
}
`
;
exportText
(
url
,
'模板.docx'
);
},
//试题下载
createAnswerCard
()
{
let
id
=
this
.
examination_questions_id
;
create_answer_card
(
id
).
then
((
res
)
=>
{
console
.
log
(
'下载答题卡回调'
);
console
.
log
(
res
);
//
console.log('下载答题卡回调');
//
console.log(res);
if
(
res
.
code
==
200
)
{
let
s
=
res
.
message
.
split
(
'='
);
let
name
=
s
[
s
.
length
-
1
];
...
...
@@ -550,19 +565,32 @@ export default {
}
});
},
//得分选择
selectScoreData
(
val
)
{
let
amendData
=
this
.
$handleParams
({
fraction
:
val
});
let
id
=
this
.
examination_questions_id
;
console
.
log
(
amendData
);
console
.
log
(
id
);
get_examination_questions_select
(
id
,
amendData
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
res
.
message
);
this
.
getExaminationQuestionsDetail
();
}
});
},
//试题上传
uploadTestQuestions
(
val
)
{
this
.
is_loading
=
true
;
console
.
log
(
'试题上传'
);
console
.
log
(
val
);
//
console.log('试题上传');
//
console.log(val);
const
formData
=
new
FormData
();
formData
.
append
(
'file'
,
val
.
file
);
let
id
=
this
.
examination_questions_id
;
examination_question_detail_upload
(
id
,
formData
)
.
then
((
res
)
=>
{
console
.
log
(
'试题上传'
);
console
.
log
(
res
);
//
console.log('试题上传');
//
console.log(res);
if
(
res
.
code
==
200
)
{
this
.
is_loading
=
false
;
this
.
$message
.
success
(
res
.
message
);
...
...
@@ -584,8 +612,8 @@ export default {
},
//图片提交
subMitPictureList
()
{
console
.
log
(
'当前文件列表'
);
console
.
log
(
this
.
picture_file_list
);
//
console.log('当前文件列表');
//
console.log(this.picture_file_list);
let
formData
=
new
FormData
();
this
.
picture_file_list
.
forEach
((
element
)
=>
{
formData
.
append
(
'image[]'
,
element
.
raw
);
...
...
src/views/student/examination_questions/list/index.vue
浏览文件 @
42b0dc8d
...
...
@@ -3,7 +3,7 @@
* @Author: AnthonyD
* @Date: 2023-04-10 18:06:52
* @Last Modified by: AnthonyD
* @Last Modified time: 2023-04-1
8 11:45:11
* @Last Modified time: 2023-04-1
9 15:24:58
*/
</
script
>
<
template
>
...
...
@@ -49,7 +49,7 @@
<el-table-column
prop=
"id"
label=
"编号"
width=
"50"
>
</el-table-column>
<el-table-column
prop=
"title"
label=
"考试标题"
>
<el-table-column
prop=
"title"
label=
"考试标题"
width=
"220"
>
<
template
slot-scope=
"scope"
>
<el-popover
trigger=
"hover"
placement=
"top"
>
<p>
{{
scope
.
row
.
title
}}
</p>
...
...
@@ -128,7 +128,7 @@
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
width=
"2
6
0"
>
<el-table-column
label=
"操作"
width=
"2
1
0"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
...
...
src/views/student/test_results/detail/index.vue
浏览文件 @
42b0dc8d
...
...
@@ -3,7 +3,7 @@
* @Author: AnthonyD
* @Date: 2023-03-29 17:06:03
* @Last Modified by: AnthonyD
* @Last Modified time: 2023-04-1
7 10:39:36
* @Last Modified time: 2023-04-1
9 10:34:19
*/
</
script
>
<
template
>
...
...
@@ -24,7 +24,7 @@
</el-card>
<el-card
class=
"box-card"
>
<el-row>
<!--
错误方位/区域
-->
<!--
南北方正确/错误率
-->
<el-col
:span=
"8"
style=
"margin-bottom: 15px"
v-if=
"area_score_list"
>
<div
class=
"centenr_container"
>
<AnalyseModule
:module_data=
"area_score_list"
>
</AnalyseModule>
...
...
@@ -42,7 +42,7 @@
<AnalyseModule
:module_data=
"wrong_group_list"
>
</AnalyseModule>
</div>
</el-col>
<!-- 错误
等
组 -->
<!-- 错误
正副
组 -->
<el-col
:span=
"8"
style=
"margin-bottom: 15px"
...
...
@@ -147,7 +147,7 @@ export default {
test_text
:
'针对你在本次烟草知识考试中的表现,我认为你已经做得非常出色。你的答案准确地回答了考试中的问题,而且展现出了对烟草知识的全面了解。'
,
//
区域区域数据
//
南北方正确/错误率
area_score_list
:
null
,
//错误部位
wrong_position_list
:
null
,
...
...
@@ -157,7 +157,7 @@ export default {
error_level_list
:
null
,
//错误组别
wrong_group_list
:
null
,
//错误
等
组
//错误
正副
组
wrong_iso_groups_list
:
null
,
///眼光稳定性
eye_stability_list
:
null
,
...
...
@@ -214,7 +214,7 @@ export default {
//表格列表
this
.
questions_list
=
new_arr
;
//
烟草区域
//
南北方正确/错误率
this
.
area_score_list
=
this
.
changeAreaScore
(
res
.
statistical_results
.
AreaScore
);
...
...
@@ -234,7 +234,7 @@ export default {
this
.
wrong_group_list
=
this
.
changeWrongGroup
(
res
.
statistical_results
.
WrongGroup
);
//错误
等
组
//错误
正副
组
this
.
wrong_iso_groups_list
=
this
.
changeWrongIsoGroup
(
res
.
statistical_results
.
WrongIsogroup
);
...
...
@@ -247,7 +247,7 @@ export default {
console
.
log
(
this
.
eye_stability_list
);
});
},
//
区域得分
//
南北方正确/错误率
changeAreaScore
(
datas
)
{
if
(
!
datas
)
return
false
;
let
keys
=
Object
.
keys
(
datas
);
...
...
@@ -260,7 +260,7 @@ export default {
type
:
'bar'
,
chart_id
:
'bar_chart1'
,
color
:
'#E6A23C'
,
title
:
'
突出区域的烟草识别
'
,
title
:
'
南北方正确/错误率
'
,
labers
,
keys
,
raw_data
:
datas
,
...
...
@@ -380,7 +380,7 @@ export default {
list
,
};
},
//错误
等
组
//错误
正副
组
changeWrongIsoGroup
(
datas
)
{
if
(
!
datas
)
return
false
;
let
keys
=
Object
.
keys
(
datas
);
...
...
@@ -403,7 +403,7 @@ export default {
type
:
'table'
,
chart_id
:
'wrong_group'
,
color
:
'#529B2E'
,
title
:
'错误
等
组'
,
title
:
'错误
正副
组'
,
labers
,
list
,
};
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论