Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Q
qualityTesting_studentHome
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
tobacco
qualityTesting_studentHome
Commits
c2cc7ff2
提交
c2cc7ff2
authored
3月 23, 2023
作者:
Yroc
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
'学生登录上传修改移动端适配'
上级
90103255
隐藏空白字符变更
内嵌
并排
正在显示
11 个修改的文件
包含
660 行增加
和
193 行删除
+660
-193
index.vue
src/components/TestInfo/index.vue
+49
-17
index.vue
src/components/ViewHeader/index.vue
+52
-1
element-ui.scss
src/styles/element-ui.scss
+3
-2
index.scss
src/styles/index.scss
+34
-3
index.vue
src/views/affirm/index.vue
+6
-2
index.vue
src/views/analysis/index.vue
+48
-4
index.vue
src/views/login/index.vue
+8
-7
index.vue
src/views/personal/index.vue
+62
-62
index.vue
src/views/test-result/index.vue
+3
-1
answer-view.vue
src/views/upload-result/components/answer-view.vue
+0
-26
index.vue
src/views/upload-result/index.vue
+395
-68
没有找到文件。
src/components/TestInfo/index.vue
浏览文件 @
c2cc7ff2
...
...
@@ -3,7 +3,7 @@
* @Author: AnthonyD
* @Date: 2023-03-01 15:29:44
* @Last Modified by: AnthonyD
* @Last Modified time: 2023-03-2
1 20:19:14
* @Last Modified time: 2023-03-2
3 19:58:38
*/
</
script
><
template
>
<div
class=
"header_container"
>
...
...
@@ -20,22 +20,22 @@
@
click=
"goBack()"
>
返回
</el-button
>
<h3
style=
"display: inline-block; margin: 0 25p
x"
>
<h3
class=
"title_card_bo
x"
>
{{
examination_questions_info
.
title
}}
</h3>
<
el-tag
v-for=
"(e, i) in test_states"
:key=
"i
"
:type=
"e.type
"
v-show=
"e.id == examination_questions_info.status
"
>
{{
e
.
label
}}
</el-tag
>
<
el-tag
v-if=
"time"
type=
"warning"
style=
"margin-left: 30px; backgound-color: #fcf6ec"
>
{{
time
}}
</el-tag
>
<
div
class=
"top_card_box"
>
<el-tag
v-for=
"(e, i) in test_states
"
class=
"status_test_box
"
:key=
"i
"
:type=
"e.type"
v-show=
"e.id == examination_questions_info.status"
>
{{
e
.
label
}}
</
el-tag
>
<el-tag
v-if=
"time"
class=
"time_over_box"
type=
"warning"
>
{{
time
}}
</el-tag>
</div
>
</div>
<div
v-if=
"false"
>
<div
class=
"info_unit"
>
...
...
@@ -194,10 +194,42 @@ export default {
}
}
.
time_over_box
{
margin
-
left
:
30
px
;
}
.
title_card_box
{
display
:
inline
-
block
;
margin
:
0
25
px
;
}
.
test_info
{
margin
-
right
:
12
px
;
}
.
test_info_show
{
// margin-left: 12px;
@
media
screen
and
(
max
-
width
:
600
px
)
{
.
box
-
card
{
width
:
100
%
;
}
.
top_card_box
::
after
{
content
:
''
;
display
:
block
;
clear
:
both
;
}
.
status_test_box
{
margin
-
left
:
10
px
;
float
:
right
;
margin
-
top
:
10
px
;
}
.
time_over_box
{
float
:
right
;
margin
-
left
:
0
;
margin
-
top
:
10
px
;
}
.
title_card_box
{
margin
:
0
30
px
0
15
px
;
}
}
<
/style
>
src/components/ViewHeader/index.vue
浏览文件 @
c2cc7ff2
...
...
@@ -3,10 +3,49 @@
* @Author: AnthonyD
* @Date: 2023-02-23 16:03:00
* @Last Modified by: AnthonyD
* @Last Modified time: 2023-03-2
1 17:03:56
* @Last Modified time: 2023-03-2
3 19:11:19
*/
</
script
><
template
>
<div
class=
"header_container"
>
<div
class=
"btn_box_mobile"
>
<el-row>
<el-popover
placement=
"top-start"
trigger=
"hover"
>
<button
style=
"
background-color: #038d6e;
width: 100%;
color: #fff;
border: 1px solid #038d6e;
margin-bottom: 5px;
"
size=
"mini"
@
click=
"goPersonalCenter"
>
个人中心
</button>
<button
style=
"
background-color: #038d6e;
width: 100%;
color: #fff;
border: 1px solid #038d6e;
"
size=
"mini"
@
click=
"logOut"
>
退出登录
</button>
<el-button
slot=
"reference"
type=
"primary"
icon=
"el-icon-user"
size=
"mini"
circle
></el-button>
</el-popover>
</el-row>
</div>
<div
class=
"logo"
@
click=
"goPersonalCenter()"
style=
"cursor: pointer"
>
<img
src=
"/image/logo.svg"
alt=
""
/>
</div>
...
...
@@ -59,9 +98,17 @@ export default {
}
}
@media
screen
and
(
min-width
:
600px
)
{
.btn_box_mobile
{
display
:
none
;
}
}
// 移动端样式
@media
screen
and
(
max-width
:
600px
)
{
.header_container
{
position
:
relative
;
text-align
:
left
;
.logo
{
display
:
none
;
}
...
...
@@ -71,6 +118,10 @@ export default {
.header_box
{
margin
:
auto
;
}
.btn_box_mobile
{
position
:
absolute
;
right
:
20px
;
}
}
}
</
style
>
src/styles/element-ui.scss
浏览文件 @
c2cc7ff2
...
...
@@ -2,7 +2,7 @@
* @Author: AnthonyD
* @Date: 2023-02-22 11:31:31
* @Last Modified by: AnthonyD
* @Last Modified time: 2023-03-
04 15:44:0
4
* @Last Modified time: 2023-03-
23 13:41:5
4
*/
// cover some element-ui styles
...
...
@@ -87,4 +87,4 @@
// to fix el-date-picker css style
.el-range-separator
{
box-sizing
:
content-box
;
}
}
\ No newline at end of file
src/styles/index.scss
浏览文件 @
c2cc7ff2
...
...
@@ -2,7 +2,7 @@
* @Author: AnthonyD
* @Date: 2023-02-22 11:31:31
* @Last Modified by: AnthonyD
* @Last Modified time: 2023-03-2
1 15:42:57
* @Last Modified time: 2023-03-2
3 19:47:29
*/
@import
'./variables.scss'
;
@import
'./mixin.scss'
;
...
...
@@ -219,13 +219,19 @@ aside {
/* 输入框样式调整 */
.right_data
{
.el-input__inner
{
// .el-input__inner {
// border: none;
// }
.el-button--medium
{
border
:
none
;
// height: 60
px;
height
:
35
px
;
}
}
/* 移动端样式 */
@media
screen
and
(
max-width
:
600px
)
{
...
...
@@ -234,4 +240,28 @@ aside {
padding
:
0
;
}
}
.list_container
{
.el-button--medium
{
// width: 40px;
padding
:
0
;
}
}
.answer_box
{
.el-dialog
{
width
:
90%
;
}
.el-upload-dragger
{
width
:
0
;
}
}
// .el-radio-button__inner {
// border-left: 1px solid #DCDFE6;
// }
}
\ No newline at end of file
src/views/affirm/index.vue
浏览文件 @
c2cc7ff2
...
...
@@ -3,7 +3,7 @@
* @Author: AnthonyD
* @Date: 2023-02-27 12:03:06
* @Last Modified by: AnthonyD
* @Last Modified time: 2023-03-2
1 17:20:32
* @Last Modified time: 2023-03-2
3 19:32:08
*/
</
script
><
template
>
<el-card
class=
"box-card"
>
...
...
@@ -95,7 +95,11 @@ export default {
width
:
100%
;
margin
:
24px
0
0
0
;
.affirm_btn_box
{
margin
:
110%
auto
0
;
margin
:
50px
auto
0
;
}
.text_item
{
width
:
100%
;
min-height
:
60vh
;
}
}
}
...
...
src/views/analysis/index.vue
浏览文件 @
c2cc7ff2
...
...
@@ -3,7 +3,7 @@
* @Author: AnthonyD
* @Date: 2023-03-13 09:56:01
* @Last Modified by: AnthonyD
* @Last Modified time: 2023-03-2
1 18:54:08
* @Last Modified time: 2023-03-2
3 19:17:34
*/
</
script
>
<
template
>
...
...
@@ -281,7 +281,7 @@ export default {
display
:
flex
;
font-size
:
14px
;
color
:
#303133
;
justify-content
:
space-between
;
//
justify-content: space-between;
align-items
:
center
;
box-sizing
:
border-box
;
border-right
:
1px
solid
#ebeef5
;
...
...
@@ -294,10 +294,10 @@ export default {
}
.right
{
width
:
calc
(
100%
-
60px
);
//
width: calc(100% - 60px);
text-align
:
center
;
padding
:
15px
0
;
border-right
:
1px
solid
#ebeef5
;
//
border-right: 1px solid #ebeef5;
}
}
}
...
...
@@ -372,4 +372,48 @@ export default {
width
:
1280px
;
margin
:
0px
auto
;
}
@media
screen
and
(
min-width
:
600px
)
{
.row_box
{
justify-content
:
space-between
;
}
.right
{
border-right
:
1px
solid
#ebeef5
;
width
:
calc
(
100%
-
60px
);
}
}
@media
screen
and
(
max-width
:
600px
)
{
.box-card
{
width
:
100%
;
}
.table_container
{
width
:
100%
;
margin
:
0
;
}
.row_box
{
display
:
inline-block
;
.left
{
width
:
30px
!
important
;
font-size
:
10px
;
}
.right
{
font-size
:
10px
;
margin-left
:
5px
;
}
}
.table_box
{
width
:
90vw
;
// height: 60vh;
left
:
0
;
overflow
:
scroll
;
}
.image_box
{
width
:
150px
;
}
.right_box
{
width
:
60vw
;
}
}
</
style
>
src/views/login/index.vue
浏览文件 @
c2cc7ff2
...
...
@@ -3,7 +3,7 @@
* @Author: AnthonyD
* @Date: 2023-02-22 11:31:31
* @Last Modified by: AnthonyD
* @Last Modified time: 2023-03-2
1 11:48:25
* @Last Modified time: 2023-03-2
3 20:05:14
*/
</
script
>
<
template
>
...
...
@@ -161,10 +161,11 @@
</div>
</el-form-item>
</el-form>
-->
<!-- 登录按钮 -->
<div
class=
"login_enter_box_"
>
<a
@
click=
"goLogin()"
>
没有账号?点击注册
</a>
</div>
<!-- 登录按钮 -->
<div
style=
"margin-top: 9px"
>
<el-button
:loading=
"loading"
...
...
@@ -454,9 +455,9 @@ $light_gray: #eee;
top
:
18%
;
.login_enter_box_
{
text-align
:
right
;
position
:
absolute
;
bottom
:
22%
;
right
:
10%
;
//
position: absolute;
//
bottom: 22%;
//
right: 10%;
a
{
font-size
:
12px
;
text-decoration
:
underline
;
...
...
@@ -520,9 +521,9 @@ $light_gray: #eee;
}
.login-form
{
width
:
100%
;
height
:
4
30
px
;
height
:
4
65
px
;
position
:
absolute
;
top
:
11
%
;
top
:
8
%
;
right
:
0%
;
}
}
...
...
src/views/personal/index.vue
浏览文件 @
c2cc7ff2
...
...
@@ -3,7 +3,7 @@
* @Author: AnthonyD
* @Date: 2023-02-23 15:52:52
* @Last Modified by: AnthonyD
* @Last Modified time: 2023-03-2
1 20:19:17
* @Last Modified time: 2023-03-2
3 17:31:50
*/
</
script
><
template
>
<div
class=
"person_container"
>
...
...
@@ -128,10 +128,7 @@
>
{{
item
.
score
}}
</span
>
</div>
<div
style=
"border-left: 1px solid #f4d6a9"
class=
"score_btn_box"
>
<div
class=
"score_btn_box"
>
<el-button
v-if=
"
(item.examination_questions.status == 4 &&
...
...
@@ -196,54 +193,56 @@
</div>
<div
class=
"tab_box_tight"
>
<div
class=
"score_box"
>
<span>
成绩:
</span>
<span
style=
"font-size: 48px; font-weight: bold"
v-if=
"
(item.examination_questions.status == 4 &&
item.status == 2) ||
(item.examination_questions.status == 3 &&
item.status == 2)
"
>
***
</span
>
<span
v-else-if=
"
(item.examination_questions.status == 4 &&
item.status == 3) ||
(item.examination_questions.status == 5 &&
item.status == 3)
"
style=
"font-size: 48px; font-weight: bold"
>
{{
item
.
score
}}
</span
>
<div
style=
"border-left: 1px solid #f4d6a9"
>
<el-button
<div>
<span>
成绩:
</span>
<span
style=
"font-size: 48px; font-weight: bold"
v-if=
"
(item.examination_questions.status == 4 &&
item.status == 3) ||
(item.examination_questions.status == 5 &&
item.status == 3)
"
@
click=
"route(item)"
type=
"warning"
class=
"finish_btn"
>
查看
</el-button>
<el-button
v-else-if=
"
(item.examination_questions.status == 4 &&
item.status == 2) ||
(item.examination_questions.status == 3 &&
item.status == 2)
"
type=
"warning"
class=
"finish_btn"
disabled
>
未发布
</el-button>
>
***
</span
>
<span
v-else-if=
"
(item.examination_questions.status == 4 &&
item.status == 3) ||
(item.examination_questions.status == 5 &&
item.status == 3)
"
style=
"font-size: 48px; font-weight: bold"
>
{{
item
.
score
}}
</span
>
</div>
</div>
<div
class=
"division_line_box"
>
<el-button
v-if=
"
(item.examination_questions.status == 4 &&
item.status == 3) ||
(item.examination_questions.status == 5 &&
item.status == 3)
"
@
click=
"route(item)"
type=
"warning"
class=
"finish_btn"
>
查看
</el-button>
<el-button
v-else-if=
"
(item.examination_questions.status == 4 &&
item.status == 2) ||
(item.examination_questions.status == 3 &&
item.status == 2)
"
type=
"warning"
class=
"finish_btn"
disabled
>
未发布
</el-button>
</div>
</div>
<span>
考试时间:
{{
item
.
answer_time
}}
</span>
</div>
...
...
@@ -447,6 +446,7 @@ export default {
.score_btn_box
{
width
:
120px
;
border-left
:
1px
solid
#f4d6a9
;
}
.el-input__icon
{
cursor
:
pointer
;
...
...
@@ -457,7 +457,7 @@ export default {
}
.finish_btn
{
float
:
right
;
margin
:
10px
;
margin
:
10px
0
;
// margin-left: 30px;
// background-color: #eebe77;
}
...
...
@@ -501,6 +501,9 @@ export default {
}
@media
screen
and
(
min-width
:
600px
)
{
.division_line_box
{
border-left
:
1px
solid
#f4d6a9
;
}
.mobile_box
{
display
:
none
;
}
...
...
@@ -531,28 +534,25 @@ export default {
}
.tab_box
{
display
:
block
;
.score_box
{
position
:
relative
;
margin
:
0
0
5px
0
;
border-left
:
1px
solid
#faecd8
;
.score_box_left
{
margin-left
:
0
;
margin-bottom
:
0
;
}
.finish_btn
{
margin
:
0
;
position
:
absolute
;
right
:
45px
;
top
:
10px
;
.tab_box_tight
{
display
:
flex
;
justify-content
:
space-between
;
.score_box
{
margin
:
0
0
5px
0
;
border-left
:
1px
solid
#faecd8
;
.finish_btn
{
display
:
block
;
border-left
:
none
;
}
}
}
}
.tab_box_tight
{
display
:
block
;
}
}
.title_card_box
{
margin-bottom
:
10px
;
}
.tab_box_tight
{
width
:
100%
;
}
}
</
style
>
src/views/test-result/index.vue
浏览文件 @
c2cc7ff2
...
...
@@ -3,7 +3,7 @@
* @Author: AnthonyD
* @Date: 2023-02-28 10:03:17
* @Last Modified by: AnthonyD
* @Last Modified time: 2023-03-2
1 17:39:58
* @Last Modified time: 2023-03-2
2 11:26:29
*/
</
script
><
template
>
<div
class=
"content_container"
>
...
...
@@ -133,6 +133,8 @@ export default {
@
media
screen
and
(
max
-
width
:
600
px
)
{
.
picture_container
{
width
:
50
%
;
position
:
relative
;
left
:
-
128
px
;
}
.
result_container
{
width
:
100
%
;
...
...
src/views/upload-result/components/answer-view.vue
deleted
100644 → 0
浏览文件 @
90103255
<
script
>
/**
* @Author: AnthonyD
* @Date: 2023-03-21 18:22:06
* @Last Modified by: AnthonyD
* @Last Modified time: 2023-03-21 18:26:57
*/
</
script
><
template
>
<div
class=
"answer_box"
>
<el-popover
placement=
"right"
width=
"400"
trigger=
"click"
>
<el-table>
</el-table>
</el-popover>
</div>
</
template
>
<
script
>
export
default
{
name
:
''
,
data
()
{
return
{};
},
};
</
script
>
<
style
lang=
""
scoped
>
</
style
>
src/views/upload-result/index.vue
浏览文件 @
c2cc7ff2
...
...
@@ -3,7 +3,7 @@
* @Author: AnthonyD
* @Date: 2023-03-01 16:25:21
* @Last Modified by: AnthonyD
* @Last Modified time: 2023-03-2
1 20:05:50
* @Last Modified time: 2023-03-2
3 19:52:23
*/
</
script
>
...
...
@@ -14,30 +14,19 @@
:testdata=
"test_card_info"
@
sub=
"sub"
></test-info>
<el-card
class=
"box-card"
>
<el-row
v-if=
"false"
>
<el-col
:span=
"15"
>
<div
v-for=
"e in 5"
:key=
"e"
>
<div>
<el-col
:span=
"1"
>
序号
</el-col>
<el-col
:span=
"2"
>
结果
</el-col>
</div>
</div>
<div
v-for=
"e in 14"
:key=
"e"
>
<el-col
:span=
"1"
>
100
</el-col>
<el-col
:span=
"2"
><el-input
type=
"text"
></el-input></el-col>
</div>
</el-col>
<el-col
:span=
"9"
></el-col>
</el-row>
<el-row
class=
"box_card_header"
v-if=
"true"
>
<el-card
class=
"box-card browser_box"
>
<el-row
class=
"box_card_header"
>
<el-col
:span=
"14"
>
<div
class=
"grid-content"
>
<div>
<h3
class=
"photo_header_title"
style=
"display: inline-block"
>
考试结果
</h3>
<el-button
type=
"primary"
@
click=
"sub(false)"
style=
"float: right"
<el-button
type=
"primary"
@
click=
"sub(false)"
style=
"float: right"
class=
"preserve_box"
>
保存
</el-button
>
</div>
...
...
@@ -60,9 +49,19 @@
:
''
}}
</div>
<!-- -->
<div
class=
"right_data"
>
<el-button
type=
"text"
style=
"color: #303133; width: 70px"
@
click=
"s_item=(e + (i - 1) * 5 - 1);dialogVisible=true"
>
{{
test_result_sub_data
[
e
+
(
i
-
1
)
*
5
-
1
].
value
}}
<el-button
type=
"text"
style=
"color: #303133; width: 80px"
@
click=
"
s_item = e + (i - 1) * 5 - 1;
dialogVisible = true;
"
>
{{
test_result_sub_data
[
e
+
(
i
-
1
)
*
5
-
1
].
value
}}
</el-button>
<!--
<el-input
v-if=
"test_result_sub_data[e + (i - 1) * 5 - 1]"
...
...
@@ -86,14 +85,14 @@
>
<div
style=
"overflow-y: scroll;max-height: 400px;"
>
<el-row
>
<el-col
:span=
"8"
v-for=
"(tobacco_grades_data_f, tobacco_grades_data_index) in tobacco_grades_data"
<el-col
:span=
"8"
v-for=
"(tobacco_grades_data_f, tobacco_grades_data_index) in tobacco_grades_data"
:key=
"'t'+(e + (i - 1) * 5 - 1)+tobacco_grades_data_index"
style=
"height:119px;border-bottom: 1px solid #e6ebf5; padding:8px 0px"
>
<div
style=
"padding:2px 0px"
><el-tag>
组别:
{{
tobacco_grades_data_f
.
name
}}
</el-tag></div>
<el-radio-group
size=
"mini"
@
change=
"test_result_sub_data[e + (i - 1) * 5 - 1].visible=false"
v-model=
"test_result_sub_data[e + (i - 1) * 5 - 1].value"
>
<el-radio-button
v-for=
"(grade_code_i, grade_code_index) in tobacco_grades_data_f.value"
:key=
"'s'+tobacco_grades_data_index+(e + (i - 1) * 5 - 1)+grade_code_index"
<el-radio-button
v-for=
"(grade_code_i, grade_code_index) in tobacco_grades_data_f.value"
:key=
"'s'+tobacco_grades_data_index+(e + (i - 1) * 5 - 1)+grade_code_index"
:label=
"grade_code_i.grade_code"
>
{{
grade_code_i
.
grade_code
}}
</el-radio-button>
</el-radio-group>
</el-col>
...
...
@@ -146,7 +145,7 @@
</el-col>
<el-col
:span=
"10"
v-show=
"true"
>
<div
class=
"upload_right"
>
<el-row>
<el-row
style=
"display: flex; justify-content: space-between"
>
<el-col
:span=
"12"
>
<h3
class=
"photo_header_title"
>
上传纸质考试照片
</h3>
</el-col>
...
...
@@ -155,7 +154,7 @@
name=
"image"
:accept=
"'image/*'"
v-if=
"test_results && test_results.test_results_image"
style=
"display: inline-block
; margin-right: 15px
"
style=
"display: inline-block"
:action=
"
IP + '/student/test_results/imageUpload/' + result_id
"
...
...
@@ -164,7 +163,7 @@
:headers=
"headers"
:show-file-list=
"false"
>
<el-button
type=
"primary"
style=
"margin-left: 159p
x"
<el-button
type=
"primary"
class=
"reupload_bo
x"
>
重新上传
</el-button
>
</el-upload>
...
...
@@ -210,32 +209,238 @@
>
</div>
</el-card>
<el-button
type=
"primary"
style=
"width: 100%"
@
click=
"dialogVisible=true"
>
sssss
</el-button
<!-- 移动端 -->
<el-card
class=
"box-card mobile_box"
v-if=
"true"
>
<el-row
class=
"box_card_header"
>
<el-col
:span=
"24"
>
<div
class=
"grid-content"
>
<div>
<h3
class=
"photo_header_title"
style=
"display: inline-block"
>
考试结果
</h3>
<el-button
type=
"primary"
@
click=
"sub(false)"
style=
"float: right"
class=
"preserve_box"
>
保存
</el-button
>
</div>
<div
class=
"list_container"
>
<el-row>
<
template
>
<div
class=
"row_box"
v-for=
"e in 5"
:key=
"e"
>
<div
class=
"row_line row_header"
>
<div
class=
"left"
>
序号
</div>
<div
class=
"right"
>
结果
</div>
</div>
<div
:class=
"row
<
=
10
?
'
tablex_style_big
'
:
'
tablex_style
'"
>
<div
class=
"row_line"
v-for=
"i in row"
:key=
"i"
>
<div
class=
"left_data"
>
{{
test_result_sub_data
[
e
+
(
i
-
1
)
*
5
-
1
]
?
e
+
(
i
-
1
)
*
5
:
''
}}
</div>
<!-- -->
<div
class=
"right_data"
>
<el-button
type=
"text"
class=
"result_box"
style=
"color: #303133"
@
click=
"
s_item = e + (i - 1) * 5 - 1;
dialogVisibleMobile = true;
"
>
{{
test_result_sub_data
[
e
+
(
i
-
1
)
*
5
-
1
].
value
}}
</el-button>
</div>
</div>
</div>
</div>
</
template
>
</el-row>
</div>
</div>
</el-col>
</el-row>
<el-row
class=
"box_card_header"
>
<el-col
:span=
"24"
>
<div
class=
"upload_right"
>
<el-row
style=
"display: flex; justify-content: space-between"
>
<el-col
:span=
"12"
>
<h3
class=
"photo_header_title"
>
上传纸质考试照片
</h3>
</el-col>
<el-col
:span=
"12"
style=
"text-align: right"
>
<el-upload
name=
"image"
:accept=
"'image/*'"
v-if=
"test_results && test_results.test_results_image"
style=
"display: inline-block"
:action=
"
IP + '/student/test_results/imageUpload/' + result_id
"
:on-change=
"uploadSubmit"
:on-success=
"handleAvatarSuccess"
:headers=
"headers"
:show-file-list=
"false"
>
<el-button
type=
"primary"
class=
"reupload_box"
>
重新上传
</el-button
>
</el-upload>
</el-col>
</el-row>
<div
class=
"grid-content_upload"
v-loading=
"is_loading"
>
<div
class=
"upload_btn"
>
<div
class=
"img_box"
v-if=
"test_results && test_results.test_results_image"
>
<img
:src=
"IP + test_results.test_results_image"
alt=
""
/>
</div>
<el-upload
v-else
name=
"image"
class=
"upload-demo"
:action=
"
IP + '/student/test_results/imageUpload/' + result_id
"
:on-change=
"uploadSubmit"
:on-success=
"handleAvatarSuccess"
:headers=
"headers"
drag
:accept=
"'image/*'"
>
<i
class=
"el-icon-upload"
></i>
<div
class=
"el-upload__text"
>
将文件拖到此处,或
<em>
点击上传
</em>
</div>
<div
class=
"el-upload__tip"
slot=
"tip"
>
只能上传jpg/png文件,且不超过20MB
</div>
</el-upload>
</div>
</div>
</div>
</el-col>
</el-row>
<div
class=
"btn_upload_result"
>
<el-button
type=
"primary"
style=
"width: 100%"
@
click=
"sub()"
>
提交
</el-button
>
</div>
</el-card>
<!-- <el-button type="primary" style="width: 100%" @click="dialogVisible = true"
>sssss</el-button
> -->
<el-dialog
title=
"请选择等级"
v-if=
"test_result_sub_data[s_item]"
:visible
.
sync=
"dialogVisible"
width=
"400px"
>
<div
style=
"overflow-y: scroll;max-height: 500px;"
>
<el-row
>
<el-col
:span=
"8"
v-for=
"(tobacco_grades_data_f, tobacco_grades_data_index) in tobacco_grades_data"
:key=
"'t'+(s_item)+tobacco_grades_data_index"
style=
"height:119px;border-bottom: 1px solid #e6ebf5; padding:8px 0px"
>
<div
style=
"padding:2px 0px"
><el-tag>
组别:{{tobacco_grades_data_f.name}}
</el-tag></div>
<el-radio-group
size=
"mini"
@
change=
"dialogVisible=false"
v-model=
"test_result_sub_data[s_item].value"
>
<el-radio-button
v-for=
"(grade_code_i, grade_code_index) in tobacco_grades_data_f.value"
:key=
"'s'+tobacco_grades_data_index+(s_item)+grade_code_index"
:label=
"grade_code_i.grade_code"
>
{{grade_code_i.grade_code}}
</el-radio-button>
</el-radio-group>
</el-col>
</el-row>
class=
"answer_box"
>
<div
style=
"overflow-y: scroll; max-height: 500px"
>
<el-row>
<el-col
:span=
"4"
v-for=
"(
tobacco_grades_data_f, tobacco_grades_data_index
) in tobacco_grades_data"
:key=
"'t' + s_item + tobacco_grades_data_index"
style=
"
height: 119px;
border-bottom: 1px solid #e6ebf5;
padding: 8px 0px;
"
>
<div
style=
"padding: 2px 0px"
>
<el-tag>
组别:{{ tobacco_grades_data_f.name }}
</el-tag>
</div>
<el-radio-group
size=
"mini"
@
change=
"dialogVisible = false"
v-model=
"test_result_sub_data[s_item].value"
>
<el-radio-button
style=
"boder-redous: "
v-for=
"(
grade_code_i, grade_code_index
) in tobacco_grades_data_f.value"
:key=
"
's' + tobacco_grades_data_index + s_item + grade_code_index
"
:label=
"grade_code_i.grade_code"
>
{{ grade_code_i.grade_code }}
</el-radio-button
>
</el-radio-group>
</el-col>
</el-row>
</div>
<!-- <span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="dialogVisible = false">确 定</el-button>
<el-button type="primary" @click="dialogVisible = false"
>确 定</el-button
>
</span> -->
</el-dialog>
<!-- 移动 -->
<el-dialog
title=
"请选择等级"
v-if=
"test_result_sub_data[s_item]"
:visible
.
sync=
"dialogVisibleMobile"
class=
"answer_box"
>
<div
style=
"overflow-y: scroll; max-height: 500px"
>
<el-row>
<el-col
:span=
"8"
v-for=
"(
tobacco_grades_data_f, tobacco_grades_data_index
) in tobacco_grades_data"
:key=
"'t' + s_item + tobacco_grades_data_index"
style=
"
height: 119px;
border-bottom: 1px solid #e6ebf5;
padding: 8px 0px;
"
>
<div
style=
"padding: 2px 0px"
>
<el-tag>
组别:{{ tobacco_grades_data_f.name }}
</el-tag>
</div>
<el-radio-group
size=
"mini"
@
change=
"dialogVisibleMobile = false"
v-model=
"test_result_sub_data[s_item].value"
>
<el-radio-button
v-for=
"(
grade_code_i, grade_code_index
) in tobacco_grades_data_f.value"
:key=
"
's' + tobacco_grades_data_index + s_item + grade_code_index
"
:label=
"grade_code_i.grade_code"
>
{{ grade_code_i.grade_code }}
</el-radio-button
>
</el-radio-group>
</el-col>
</el-row>
</div>
<!-- <span slot="footer" class="dialog-footer">
<el-button @click="dialogVisibleMobile = false">取 消</el-button>
<el-button type="primary" @click="dialogVisibleMobile = false"
>确 定</el-button
>
</span> -->
</el-dialog>
</div>
...
...
@@ -245,14 +450,14 @@
import
TestInfo
from
'@/components/TestInfo/index'
;
import
{
getResultsData
,
uploadTestResults
,
getTobaccoList
}
from
'@/api/user'
;
import
{
getToken
}
from
'@/utils/auth'
;
import
AnswerView
from
'./components/answer-view.vue'
;
export
default
{
name
:
''
,
components
:
{
TestInfo
,
AnswerView
},
components
:
{
TestInfo
},
data
()
{
return
{
s_item
:
0
,
dialogVisible
:
false
,
s_item
:
0
,
dialogVisible
:
false
,
dialogVisibleMobile
:
false
,
headers
:
{
Authorization
:
' Bearer '
+
getToken
()
},
IP
:
process
.
env
.
VUE_APP_BASE_API
,
row
:
1
,
...
...
@@ -321,8 +526,8 @@ export default {
begin_answer_time
:
res
.
begin_answer_time
,
duration
:
res
.
examination_questions
.
duration
*
60
,
const_down
:
res
.
examination_questions
.
duration
*
60
-
(
res
.
begin_answer_duration
?
res
.
begin_answer_duration
:
0
),
res
.
examination_questions
.
duration
*
60
-
(
res
.
begin_answer_duration
?
res
.
begin_answer_duration
:
0
),
status
:
res
.
status
,
title
:
res
.
examination_questions_title
,
};
...
...
@@ -390,6 +595,7 @@ export default {
getTobaccoInfo
()
{
getTobaccoList
().
then
((
res
)
=>
{
this
.
tobacco_grades_data
=
res
;
console
.
log
(
this
.
tobacco_grades_data
);
});
},
},
...
...
@@ -397,6 +603,20 @@ export default {
</
script
>
<
style
lang=
"scss"
scoped
>
::v-deep
.el-radio-button__inner
{
border-left
:
1px
solid
#dcdfe6
;
width
:
45px
;
padding
:
7px
5px
;
}
::v-deep
.el-dialog__body
{
padding
:
30px
10px
;
}
::v-deep
.el-upload-dragger
{
width
:
200px
;
}
.box-card
{
width
:
1280px
;
margin
:
0
auto
;
...
...
@@ -418,10 +638,10 @@ export default {
padding
:
8px
15px
;
}
.row_line
.left_data
{
width
:
60px
;
border-top
:
1px
solid
#dcdfe6
;
border-left
:
2px
solid
#dcdfe6
;
border-right
:
1px
solid
#dcdfe6
;
//
width: 60px;
//
border-top: 1px solid #dcdfe6;
//
border-left: 2px solid #dcdfe6;
//
border-right: 1px solid #dcdfe6;
background-color
:
#f2f3f5
;
display
:
inline-block
;
text-align
:
center
;
...
...
@@ -430,10 +650,10 @@ export default {
.row_line
.right_data
{
position
:
relative
;
width
:
calc
(
100%
-
60px
);
//
width: calc(100% - 60px);
display
:
inline-block
;
text-align
:
center
;
border-top
:
1px
solid
#dcdfe6
;
//
border-top: 1px solid #dcdfe6;
margin
:
0
;
vertical-align
:
top
;
background
:
#fff
;
...
...
@@ -447,12 +667,12 @@ export default {
}
}
}
.photo_header
{
width
:
100%
;
.grid-content
{
width
:
calc
(
100%-59px
);
}
}
//
.photo_header {
//
width: 100%;
//
.grid-content {
//
width: calc(100%-59px);
//
}
//
}
}
.list_container
.row_box
:nth-child
(
1
)
.row_line
.left_data
{
border-left
:
none
;
...
...
@@ -471,7 +691,7 @@ export default {
margin
:
9px
0
;
}
.row_box
.row_line
:nth-child
(
odd
)
{
background-color
:
#f
afafa
;
background-color
:
#f
ff
;
}
.row_header
{
background-color
:
#e6e8eb
!
important
;
...
...
@@ -481,14 +701,15 @@ export default {
display
:
inline-block
;
position
:
absolute
;
top
:
35%
;
right
:
14
%
;
// right: 26
%;
}
.box_card_header
{
display
:
flex
;
// justify-content: space-between;
}
.grid-content
{
width
:
calc
(
100%
-
20px
);
// width: calc(100% - 20px);
margin-right
:
20px
;
}
.grid-content_upload
{
text-align
:
center
;
...
...
@@ -554,4 +775,110 @@ export default {
line-height
:
37px
;
}
}
@media
screen
and
(
min-width
:
600px
)
{
.row_line
.left_data
{
width
:
60px
;
}
.row_line
.right_data
{
margin
:
0
;
width
:
calc
(
100%
-
60px
);
}
.upload-demo
{
position
:
absolute
;
right
:
26%
;
}
.mobile_box
{
display
:
none
;
}
.result_box
{
width
:
80px
;
}
.reupload_box
{
margin-left
:
158px
;
}
.row_line
.left_data
{
border-top
:
1px
solid
#dcdfe6
;
border-left
:
2px
solid
#dcdfe6
;
border-right
:
1px
solid
#dcdfe6
;
}
.row_line
.right_data
{
border-top
:
1px
solid
#dcdfe6
;
}
}
@media
screen
and
(
max-width
:
600px
)
{
.list_container
{
border
:
none
;
}
.browser_box
{
display
:
none
;
}
.box-card
{
width
:
100%
;
}
.row_header
{
display
:
flex
;
justify-content
:
space-around
;
font-size
:
10px
;
padding
:
10px
0
;
.left
,
.right
{
width
:
auto
!
important
;
padding
:
0
!
important
;
}
}
.left_data
,
.right_data
{
margin
:
0
;
display
:
inline-block
;
}
.left_data
{
width
:
30px
;
}
.result_box
{
width
:
30px
;
}
.grid-content
{
margin-right
:
0
;
}
.preserve_box
{
display
:
none
;
}
.reupload_box
{
margin-left
:
76px
;
margin-top
:
10px
;
}
.photo_header_title
{
margin-top
:
15px
;
}
.row_line
{
white-space
:
nowrap
;
overflow
:
hidden
;
border
:
1px
solid
#dcdfe6
;
margin-bottom
:
-1px
;
margin-right
:
-1px
;
}
.grid-content_upload
{
height
:
524px
;
.img_box
img
{
height
:
520px
;
}
}
.list_container
.row_box
:nth-child
(
1
)
.row_line
{
border-left
:
1px
solid
#dcdfe6
;
}
.list_container
.row_box
:nth-child
(
5
)
.row_line
{
border-right
:
2px
solid
#dcdfe6
;
}
.upload-demo
{
position
:
absolute
;
left
:
23%
;
}
}
</
style
>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论