Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Q
qualityTesting_adminHome
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
tobacco
qualityTesting_adminHome
Commits
e5a056ce
提交
e5a056ce
authored
7月 13, 2023
作者:
Yroc
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
'趋势性分析'
上级
1d18215a
隐藏空白字符变更
内嵌
并排
正在显示
14 个修改的文件
包含
1149 行增加
和
119 行删除
+1149
-119
student.js
src/api/student.js
+2
-1
EyeStabilityTable.vue
...components/AnalyseModule/components/EyeStabilityTable.vue
+2
-2
SelectLineChart.vue
src/components/AnalyseModule/components/SelectLineChart.vue
+106
-0
SelectLineChartData.vue
...mponents/AnalyseModule/components/SelectLineChartData.vue
+100
-0
SelectTabe.vue
src/components/AnalyseModule/components/SelectTabe.vue
+3
-2
table.vue
src/components/AnalyseModule/components/table.vue
+1
-1
index.vue
src/components/AnalyseModule/index.vue
+37
-13
Menu.vue
src/layout/components/Headerbar/Menu.vue
+28
-22
detail.vue
src/views/student/display_board/detail.vue
+185
-7
index.vue
src/views/student/examination_questions/comment/index.vue
+209
-11
index.vue
src/views/student/examination_questions/list/index.vue
+26
-26
details.vue
src/views/student/personnel/details.vue
+418
-0
index.vue
src/views/student/personnel/index.vue
+14
-10
AnalyseModule.vue
src/views/student/test_results/components/AnalyseModule.vue
+18
-24
没有找到文件。
src/api/student.js
浏览文件 @
e5a056ce
...
@@ -351,10 +351,11 @@ export function updat_student(id, data) {
...
@@ -351,10 +351,11 @@ export function updat_student(id, data) {
})
})
}
}
//学员信息-详情
//学员信息-详情
export
function
get_student_detail
(
id
)
{
export
function
get_student_detail
(
id
,
params
)
{
return
request
({
return
request
({
url
:
`/api/student/
${
id
}
`
,
url
:
`/api/student/
${
id
}
`
,
method
:
'get'
,
method
:
'get'
,
params
})
})
}
}
//学员信息-导出
//学员信息-导出
...
...
src/components/AnalyseModule/components/EyeStabilityTable.vue
浏览文件 @
e5a056ce
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
<el-col
:span=
"24"
style=
"min-height: 28px"
>
<el-col
:span=
"24"
style=
"min-height: 28px"
>
<el-tag
<el-tag
:title=
"`$
{'稳定' + '/' + '答题人次'}`"
:title=
"`$
{'稳定' + '/' + '答题人次'}`"
style="margin-right: 1
5
px"
style="margin-right: 1
3
px"
v-for="(i, index) in area_data"
v-for="(i, index) in area_data"
:key="index"
:key="index"
>
{{
index
}}
:
{{
i
}}
</el-tag
>
{{
index
}}
:
{{
i
}}
</el-tag
...
@@ -156,7 +156,7 @@ export default {
...
@@ -156,7 +156,7 @@ export default {
computed
:
{},
computed
:
{},
created
()
{
created
()
{
console
.
log
(
this
.
area_data
);
//
console.log(this.area_data);
// console.log(this.labers);
// console.log(this.labers);
},
},
mounted
()
{},
mounted
()
{},
...
...
src/components/AnalyseModule/components/SelectLineChart.vue
0 → 100644
浏览文件 @
e5a056ce
<
template
>
<div
class=
"chart_container"
:id=
"chart_id"
></div>
</
template
>
<
script
>
export
default
{
props
:
[
'chart_data'
,
'chart_id'
,
'labers'
,
'keys'
,
'position_data'
],
data
()
{
return
{
y_data
:
null
,
fake_data
:
'全部'
,
position_info
:
null
,
};
},
components
:
{},
computed
:
{},
watch
:
{
position_data
:
{
deep
:
true
,
handler
(
newData
,
oldDate
)
{
this
.
position_info
=
newData
;
this
.
y_data
=
this
.
chart_data
[
newData
];
this
.
initChart
();
},
},
},
created
()
{},
mounted
()
{
this
.
y_data
=
this
.
chart_data
.
all
;
this
.
initChart
();
},
methods
:
{
initChart
()
{
let
colors
=
[
'#47afa0'
];
let
x_data
=
this
.
chart_data
.
title
;
this
.
labers
.
forEach
((
item
,
index
)
=>
{
if
(
this
.
position_info
==
item
.
key
)
{
this
.
fake_data
=
item
.
label
;
}
});
let
_that
=
this
;
let
dom
=
document
.
getElementById
(
`
${
this
.
chart_id
}
`
);
let
myChart
=
this
.
$echarts
.
init
(
dom
,
null
,
{
renderer
:
'canvas'
,
useDirtyRect
:
false
,
});
let
option
;
option
=
{
title
:
{
text
:
' '
,
subtext
:
this
.
fake_data
,
},
tooltip
:
{
axisPointer
:
{
type
:
'cross'
,
},
},
toolbox
:
{
show
:
true
,
},
color
:
colors
,
xAxis
:
[
{
type
:
'category'
,
axisTick
:
{
show
:
false
},
data
:
x_data
,
interval
:
0
,
axisLabel
:
{
show
:
true
,
rotate
:
-
15
,
},
},
],
yAxis
:
[
{
type
:
'value'
,
},
],
series
:
[
{
data
:
this
.
y_data
,
type
:
'line'
,
},
],
};
if
(
option
&&
typeof
option
===
'object'
)
{
myChart
.
setOption
(
option
);
}
window
.
addEventListener
(
'resize'
,
myChart
.
resize
);
},
},
};
</
script
>
<
style
scoped
>
.chart_container
{
width
:
100%
;
height
:
90%
;
}
</
style
>
src/components/AnalyseModule/components/SelectLineChartData.vue
0 → 100644
浏览文件 @
e5a056ce
<!--
* @Author: czj
* @Date: 2023-03-21 10:14:46
* @Description:
* @FilePath: \AdministrationHome\src\components\AnalyseModule\components\table.vue
-->
<!-- -->
<
template
>
<div
class=
"container_box"
>
<div>
<el-select
v-model=
"select_value"
style=
"width: 100%"
@
change=
"selectChange"
>
<el-option
v-for=
"(e, i) in select_list"
:label=
"e.label"
:value=
"e.key"
:key=
"i"
>
</el-option>
</el-select>
</div>
</div>
</
template
>
<
script
>
export
default
{
props
:
[
'labers'
],
data
()
{
return
{
select_list
:
[],
select_value
:
null
,
};
},
components
:
{},
computed
:
{},
created
()
{
this
.
select_list
=
[...
this
.
labers
];
this
.
select_value
=
this
.
labers
[
0
].
label
;
},
mounted
()
{},
methods
:
{
//选择监听
selectChange
(
val
)
{
// this.table_list = [...this.table_data.list[val]];
this
.
$emit
(
'selectChange'
,
val
);
},
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.container_box
{
width
:
100%
;
height
:
7%
;
position
:
relative
;
}
.el-icon-caret-bottom
{
position
:
absolute
;
top
:
81px
;
}
.el-icon-caret-top
{
position
:
absolute
;
top
:
74px
;
}
.table_box
{
width
:
100%
;
// min-height: 100%;
text-align
:
center
;
font-size
:
14px
;
border-top
:
1px
solid
#e4e7ed
;
border-left
:
1px
solid
#e4e7ed
;
border-collapse
:
collapse
;
th
,
td
{
margin
:
0
;
padding
:
0
;
font-size
:
14px
;
border-bottom
:
1px
solid
#e4e7ed
;
border-right
:
1px
solid
#e4e7ed
;
}
th
{
padding
:
15px
0
;
color
:
#909399
;
}
td
{
padding
:
5px
0
;
color
:
#303133
;
}
}
</
style
>
src/components/AnalyseModule/components/SelectTabe.vue
浏览文件 @
e5a056ce
...
@@ -79,6 +79,7 @@ export default {
...
@@ -79,6 +79,7 @@ export default {
this
.
select_value
=
this
.
table_data
.
select_value
;
this
.
select_value
=
this
.
table_data
.
select_value
;
this
.
select_list
=
[...
this
.
table_data
.
topic
];
this
.
select_list
=
[...
this
.
table_data
.
topic
];
this
.
table_list
=
this
.
table_data
.
list
[
this
.
table_data
.
topic
[
0
]];
this
.
table_list
=
this
.
table_data
.
list
[
this
.
table_data
.
topic
[
0
]];
// console.log(this.table_data.select_value);
},
},
mounted
()
{},
mounted
()
{},
...
@@ -140,11 +141,11 @@ export default {
...
@@ -140,11 +141,11 @@ export default {
.el-icon-caret-bottom
{
.el-icon-caret-bottom
{
position
:
absolute
;
position
:
absolute
;
top
:
5
6
px
;
top
:
5
7
px
;
}
}
.el-icon-caret-top
{
.el-icon-caret-top
{
position
:
absolute
;
position
:
absolute
;
top
:
49
px
;
top
:
50
px
;
}
}
.table_box
{
.table_box
{
...
...
src/components/AnalyseModule/components/table.vue
浏览文件 @
e5a056ce
...
@@ -136,7 +136,7 @@ export default {
...
@@ -136,7 +136,7 @@ export default {
computed
:
{},
computed
:
{},
created
()
{},
created
()
{},
mounted
()
{
mounted
()
{
console
.
log
(
this
.
table_data
);
//
console.log(this.table_data);
},
},
methods
:
{
methods
:
{
...
...
src/components/AnalyseModule/index.vue
浏览文件 @
e5a056ce
<!--
* @Author: czj
* @Date: 2023-03-20 16:02:07
* @Description:
* @FilePath: \AdministrationHome\src\components\AnalyseModule\index.vue
-->
<!--
* @Author: czj
* @Date: 2023-03-20 16:02:07
* @Description:
* @FilePath: \AdministrationHome\src\components\AnalyseModule\index.vue
-->
<!-- -->
<
template
>
<
template
>
<div
class=
"analyse_container"
:style=
"
{ '--color': original_data.color }">
<div
class=
"analyse_container"
:style=
"
{ '--color': original_data.color }">
<div
class=
"header_box"
>
<div
class=
"header_box"
>
...
@@ -94,6 +81,23 @@
...
@@ -94,6 +81,23 @@
:area_data=
"original_data.area_data"
:area_data=
"original_data.area_data"
></eye-stability-table>
></eye-stability-table>
</div>
</div>
<!-- 趋势性分析 -->
<div
class=
"content_container_trend"
v-if=
"original_data.type == 'trend_analysis'"
>
<SelectLineChartData
:labers=
"original_data.labers"
@
selectChange=
"selectChange"
></SelectLineChartData>
<SelectLineChart
:chart_id=
"original_data.chart_id"
:labers=
"original_data.labers"
:keys=
"original_data.keys"
:chart_data=
"original_data.obj"
:position_data=
"position_data"
></SelectLineChart>
</div>
</div>
</div>
</
template
>
</
template
>
...
@@ -105,11 +109,17 @@ import SimpleTable from './components/SimpleTable.vue';
...
@@ -105,11 +109,17 @@ import SimpleTable from './components/SimpleTable.vue';
import
EyeStabilityTable
from
'./components/EyeStabilityTable.vue'
;
import
EyeStabilityTable
from
'./components/EyeStabilityTable.vue'
;
import
SelectTabe
from
'./components/SelectTabe.vue'
;
import
SelectTabe
from
'./components/SelectTabe.vue'
;
import
style_text
from
'./components/table_style'
;
import
style_text
from
'./components/table_style'
;
import
SelectLineChart
from
'./components/SelectLineChart'
;
import
SelectLineChartData
from
'./components/SelectLineChartData.vue'
;
import
{
logger
}
from
'runjs/lib/common'
;
export
default
{
export
default
{
props
:
[
'module_data'
],
props
:
[
'module_data'
],
data
()
{
data
()
{
return
{
return
{
original_data
:
null
,
original_data
:
null
,
position_data
:
'全部'
,
};
};
},
},
...
@@ -120,6 +130,8 @@ export default {
...
@@ -120,6 +130,8 @@ export default {
SimpleTable
,
SimpleTable
,
EyeStabilityTable
,
EyeStabilityTable
,
SelectTabe
,
SelectTabe
,
SelectLineChart
,
SelectLineChartData
,
},
},
computed
:
{},
computed
:
{},
...
@@ -165,6 +177,10 @@ export default {
...
@@ -165,6 +177,10 @@ export default {
// console.log(val);
// console.log(val);
// this.original_data.topic = val;
// this.original_data.topic = val;
// },
// },
selectChange
(
val
)
{
this
.
position_data
=
val
;
},
},
},
};
};
</
script
>
</
script
>
...
@@ -189,6 +205,14 @@ export default {
...
@@ -189,6 +205,14 @@ export default {
margin
:
0
;
margin
:
0
;
padding
:
0
;
padding
:
0
;
overflow-y
:
auto
;
overflow-y
:
auto
;
overflow-x
:
auto
;
white-space
:
nowrap
;
// 默认不换行;
}
.content_container_trend
{
width
:
100%
;
height
:
285px
;
margin
:
0
;
padding
:
0
;
}
}
}
}
...
...
src/layout/components/Headerbar/Menu.vue
浏览文件 @
e5a056ce
<!-- -->
<!-- -->
<
template
>
<
template
>
<div>
<div>
<el-menu
:default-active=
"activeMenu"
class=
"el-menu-demo"
mode=
"horizontal"
@
select=
"handleSelect"
>
<el-menu
<menu-item
v-for=
"(item, index) in trends_routers"
:key=
"index"
:item_data=
"item"
:base_path=
"item.path"
class=
"menu_unit"
></menu-item>
:default-active=
"activeMenu"
class=
"el-menu-demo"
mode=
"horizontal"
@
select=
"handleSelect"
>
<menu-item
v-for=
"(item, index) in trends_routers"
:key=
"index"
:item_data=
"item"
:base_path=
"item.path"
class=
"menu_unit"
></menu-item>
</el-menu>
</el-menu>
<!--
<el-menu
:default-active=
"activeMenu"
class=
"el-menu-demo"
mode=
"horizontal"
@
select=
"handleSelect"
>
<!--
<el-menu
:default-active=
"activeMenu"
class=
"el-menu-demo"
mode=
"horizontal"
@
select=
"handleSelect"
>
<el-menu-item
index=
"/dashboard"
>
处理中心
</el-menu-item>
<el-menu-item
index=
"/dashboard"
>
处理中心
</el-menu-item>
...
@@ -31,8 +42,8 @@ import { mapGetters } from 'vuex';
...
@@ -31,8 +42,8 @@ import { mapGetters } from 'vuex';
import
MenuItem
from
'./MenuItem.vue'
;
import
MenuItem
from
'./MenuItem.vue'
;
import
path
from
'path'
import
path
from
'path'
;
import
{
isExternal
}
from
'@/utils/validate'
import
{
isExternal
}
from
'@/utils/validate'
;
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
...
@@ -43,47 +54,42 @@ export default {
...
@@ -43,47 +54,42 @@ export default {
components
:
{
MenuItem
},
components
:
{
MenuItem
},
computed
:
{
computed
:
{
...
mapGetters
([
...
mapGetters
([
'permission_routes'
,
'sidebar'
,
'trends_routers'
]),
'permission_routes'
,
'sidebar'
,
'trends_routers'
]),
activeMenu
()
{
activeMenu
()
{
const
route
=
this
.
$route
;
const
route
=
this
.
$route
;
const
{
meta
,
path
}
=
route
;
const
{
meta
,
path
}
=
route
;
if
(
meta
.
activeMenu
)
{
if
(
meta
.
activeMenu
)
{
return
meta
.
activeMenu
return
meta
.
activeMenu
;
}
}
return
path
return
path
;
},
},
},
},
mounted
()
{
mounted
()
{
console
.
log
(
'动态路由数据'
);
//
console.log('动态路由数据');
console
.
log
(
this
.
trends_routers
);
//
console.log(this.trends_routers);
},
},
methods
:
{
methods
:
{
handleSelect
(
key
,
keyPath
)
{
handleSelect
(
key
,
keyPath
)
{
console
.
log
(
key
,
keyPath
);
//
console.log(key, keyPath);
this
.
activeIndex
=
key
;
this
.
activeIndex
=
key
;
this
.
$router
.
push
({
this
.
$router
.
push
({
path
:
key
,
path
:
key
,
})
})
;
},
},
resolvePath
(
routePath
)
{
resolvePath
(
routePath
)
{
if
(
isExternal
(
routePath
))
{
if
(
isExternal
(
routePath
))
{
return
routePath
return
routePath
;
}
}
if
(
isExternal
(
routePath
))
{
if
(
isExternal
(
routePath
))
{
return
routePath
return
routePath
;
}
}
return
path
.
resolve
(
routePath
,
routePath
)
return
path
.
resolve
(
routePath
,
routePath
);
}
},
}
},
}
};
</
script
>
</
script
>
<
style
scoped
>
<
style
scoped
>
.menu_unit
{
.menu_unit
{
...
...
src/views/student/display_board/detail.vue
浏览文件 @
e5a056ce
...
@@ -192,6 +192,41 @@
...
@@ -192,6 +192,41 @@
</el-row>
</el-row>
</div>
</div>
</div>
</div>
<!-- 趋势性分析 -->
<div>
<div
class=
"module_header"
>
趋势性分析
</div>
<div>
<el-row
class=
"row_container"
>
<el-col
:span=
"12"
class=
"unit_container"
>
<div
class=
"centenr_container"
>
<AnalyseModule
:module_data=
"holdTobacco_data"
v-if=
"holdTobacco_data && head_data.title.length > 1"
>
</AnalyseModule>
</div>
</el-col>
<el-col
:span=
"12"
class=
"unit_container"
>
<div
class=
"centenr_container"
>
<AnalyseModule
:module_data=
"flakeTobacco_data"
v-if=
"flakeTobacco_data && head_data.title.length > 1"
>
</AnalyseModule>
</div>
</el-col>
<el-col
:span=
"12"
class=
"unit_container"
>
<div
class=
"centenr_container"
>
<AnalyseModule
:module_data=
"swingHandle_data"
v-if=
"swingHandle_data && head_data.title.length > 1"
>
</AnalyseModule>
</div>
</el-col>
</el-row>
</div>
</div>
<div>
<div>
<div
class=
"module_header"
>
老师点评
</div>
<div
class=
"module_header"
>
老师点评
</div>
<div
style=
"padding: 0 10px; box-sizing: border-box"
>
<div
style=
"padding: 0 10px; box-sizing: border-box"
>
...
@@ -268,6 +303,12 @@ export default {
...
@@ -268,6 +303,12 @@ export default {
transcript_data
:
null
,
transcript_data
:
null
,
//老师点评
//老师点评
found_remark
:
null
,
found_remark
:
null
,
//把烟统计数据
holdTobacco_data
:
null
,
//片烟统计数据
flakeTobacco_data
:
null
,
//甩把统计数据
swingHandle_data
:
null
,
};
};
},
},
...
@@ -286,8 +327,8 @@ export default {
...
@@ -286,8 +327,8 @@ export default {
getReadOverDetail
()
{
getReadOverDetail
()
{
this
.
is_loading
=
true
;
this
.
is_loading
=
true
;
get_read_over_detail
(
this
.
examination_questions_id
).
then
((
res
)
=>
{
get_read_over_detail
(
this
.
examination_questions_id
).
then
((
res
)
=>
{
console
.
log
(
'获取试题详情'
);
//
console.log('获取试题详情');
console
.
log
(
res
);
//
console.log(res);
this
.
found_remark
=
res
.
found_remark
||
''
;
this
.
found_remark
=
res
.
found_remark
||
''
;
this
.
head_data
.
title
=
res
.
review_content
.
title_list
;
//标题
this
.
head_data
.
title
=
res
.
review_content
.
title_list
;
//标题
this
.
is_loading
=
false
;
this
.
is_loading
=
false
;
...
@@ -333,14 +374,143 @@ export default {
...
@@ -333,14 +374,143 @@ export default {
this
.
wrongG_group_data
=
this
.
changeWrongGroup
(
this
.
wrongG_group_data
=
this
.
changeWrongGroup
(
res
.
review_content
.
WrongGroup
res
.
review_content
.
WrongGroup
);
//错误组别
);
//错误组别
this
.
holdTobacco_data
=
this
.
changeHoldTobacco
(
console
.
log
(
'处理好的数据'
);
res
.
review_content
.
holdTobacco
console
.
log
(
this
.
wrong_position_data
);
);
//把烟
this
.
flakeTobacco_data
=
this
.
changeFlakeTobacco
(
res
.
review_content
.
flakeTobacco
);
//片烟
this
.
swingHandle_data
=
this
.
changeSwingHandle
(
res
.
analysis
.
swingHandle
);
}
}
});
});
},
},
//计算百分比
//计算百分比
toPercent
,
toPercent
,
//处理甩把
changeSwingHandle
(
datas
)
{
// if (!datas) return false;
if
(
!
datas
)
{
datas
=
[];
}
let
keys
=
Object
.
keys
(
datas
);
let
labers
=
[
{
label
:
'全部'
,
key
:
'all'
},
{
label
:
'南方'
,
key
:
'south'
},
{
label
:
'北方'
,
key
:
'north'
},
{
label
:
'正组'
,
key
:
'positive'
},
{
label
:
'副组'
,
key
:
'deputy'
},
{
label
:
'南方正组'
,
key
:
'south_positive'
},
{
label
:
'南方副组'
,
key
:
'south_deputy'
},
{
label
:
'北方正组'
,
key
:
'north_positive'
},
{
label
:
'北方副组'
,
key
:
'north_deputy'
},
];
let
obj
=
{
all
:
datas
.
all
,
south
:
datas
.
south
,
north
:
datas
.
north
,
positive
:
datas
.
positive
,
deputy
:
datas
.
deputy
,
south_positive
:
datas
.
south_positive
,
south_deputy
:
datas
.
south_deputy
,
north_positive
:
datas
.
north_positive
,
north_deputy
:
datas
.
north_deputy
,
title
:
datas
.
title
,
};
return
{
type
:
'trend_analysis'
,
chart_id
:
'swingHandle_bar_chart'
,
title
:
'甩把'
,
color
:
'#39c183f0'
,
obj
,
labers
,
keys
,
};
},
//处理把烟
changeHoldTobacco
(
datas
)
{
// if (!datas) return false;
if
(
!
datas
)
{
datas
=
[];
}
let
keys
=
Object
.
keys
(
datas
);
let
labers
=
[
{
label
:
'全部'
,
key
:
'all'
},
{
label
:
'南方'
,
key
:
'south'
},
{
label
:
'北方'
,
key
:
'north'
},
{
label
:
'正组'
,
key
:
'positive'
},
{
label
:
'副组'
,
key
:
'deputy'
},
{
label
:
'南方正组'
,
key
:
'south_positive'
},
{
label
:
'南方副组'
,
key
:
'south_deputy'
},
{
label
:
'北方正组'
,
key
:
'north_positive'
},
{
label
:
'北方副组'
,
key
:
'north_deputy'
},
];
let
obj
=
{
all
:
datas
.
all
,
south
:
datas
.
south
,
north
:
datas
.
north
,
positive
:
datas
.
positive
,
deputy
:
datas
.
deputy
,
south_positive
:
datas
.
south_positive
,
south_deputy
:
datas
.
south_deputy
,
north_positive
:
datas
.
north_positive
,
north_deputy
:
datas
.
north_deputy
,
title
:
datas
.
title
,
};
return
{
type
:
'trend_analysis'
,
chart_id
:
'holdTobacco_bar_chart'
,
title
:
'把烟'
,
color
:
'#39c183f0'
,
obj
,
labers
,
keys
,
};
},
//处理片烟
changeFlakeTobacco
(
datas
)
{
// if (!datas) return false;
if
(
!
datas
)
{
datas
=
[];
}
let
keys
=
Object
.
keys
(
datas
);
let
labers
=
[
{
label
:
'全部'
,
key
:
'all'
},
{
label
:
'南方'
,
key
:
'south'
},
{
label
:
'北方'
,
key
:
'north'
},
{
label
:
'正组'
,
key
:
'positive'
},
{
label
:
'副组'
,
key
:
'deputy'
},
{
label
:
'南方正组'
,
key
:
'south_positive'
},
{
label
:
'南方副组'
,
key
:
'south_deputy'
},
{
label
:
'北方正组'
,
key
:
'north_positive'
},
{
label
:
'北方副组'
,
key
:
'north_deputy'
},
];
let
obj
=
{
all
:
datas
.
all
,
south
:
datas
.
south
,
north
:
datas
.
north
,
positive
:
datas
.
positive
,
deputy
:
datas
.
deputy
,
south_positive
:
datas
.
south_positive
,
south_deputy
:
datas
.
south_deputy
,
north_positive
:
datas
.
north_positive
,
north_deputy
:
datas
.
north_deputy
,
title
:
datas
.
title
,
};
return
{
type
:
'trend_analysis'
,
chart_id
:
'flakeTobacco_bar_chart'
,
title
:
'片烟'
,
color
:
'#E6A23C'
,
obj
,
labers
,
keys
,
};
},
//处理分段值
//处理分段值
changeScore
(
datas
)
{
changeScore
(
datas
)
{
if
(
!
datas
)
return
false
;
if
(
!
datas
)
return
false
;
...
@@ -467,6 +637,14 @@ export default {
...
@@ -467,6 +637,14 @@ export default {
let
labers
=
[
let
labers
=
[
{
label
:
'姓名'
,
key
:
'name'
},
{
label
:
'姓名'
,
key
:
'name'
},
{
label
:
'分数'
,
key
:
'score'
},
{
label
:
'分数'
,
key
:
'score'
},
{
label
:
'南方'
,
key
:
'south'
},
{
label
:
'北方'
,
key
:
'north'
},
{
label
:
'正组'
,
key
:
'positive'
},
{
label
:
'副组'
,
key
:
'deputy'
},
{
label
:
'南方正组'
,
key
:
'south_positive'
},
{
label
:
'南方副组'
,
key
:
'south_deputy'
},
{
label
:
'北方正组'
,
key
:
'north_positive'
},
{
label
:
'北方副组'
,
key
:
'north_deputy'
},
];
];
let
select_list
=
Object
.
keys
(
datas
);
let
select_list
=
Object
.
keys
(
datas
);
return
{
return
{
...
@@ -612,8 +790,8 @@ export default {
...
@@ -612,8 +790,8 @@ export default {
},
},
//错误部位
//错误部位
changeWrongPosition
(
datas
)
{
changeWrongPosition
(
datas
)
{
console
.
log
(
'错误部位原始数据'
);
//
console.log('错误部位原始数据');
console
.
log
(
datas
);
//
console.log(datas);
if
(
!
datas
)
return
false
;
if
(
!
datas
)
return
false
;
let
keys
=
Object
.
keys
(
datas
);
let
keys
=
Object
.
keys
(
datas
);
let
list
=
[];
let
list
=
[];
...
...
src/views/student/examination_questions/comment/index.vue
浏览文件 @
e5a056ce
...
@@ -205,6 +205,44 @@
...
@@ -205,6 +205,44 @@
</el-row>
</el-row>
</div>
</div>
</div>
</div>
<!-- 趋势性分析 -->
<div>
<div
class=
"module_header"
>
趋势性分析
</div>
<div>
<el-row
class=
"row_container"
>
<el-col
:span=
"12"
class=
"unit_container"
>
<div
class=
"centenr_container"
>
<AnalyseModule
:module_data=
"holdTobacco_data"
v-if=
"holdTobacco_data && head_data.title.length > 1"
@
changeSelect=
"changeSelects"
>
</AnalyseModule>
</div>
</el-col>
<el-col
:span=
"12"
class=
"unit_container"
>
<div
class=
"centenr_container"
>
<AnalyseModule
:module_data=
"flakeTobacco_data"
v-if=
"flakeTobacco_data && head_data.title.length > 1"
@
changeSelect=
"changeSelects"
>
</AnalyseModule>
</div>
</el-col>
<el-col
:span=
"12"
class=
"unit_container"
>
<div
class=
"centenr_container"
>
<AnalyseModule
:module_data=
"swingHandle_data"
v-if=
"swingHandle_data && head_data.title.length > 1"
@
changeSelect=
"changeSelects"
>
</AnalyseModule>
</div>
</el-col>
</el-row>
</div>
</div>
<div>
<div>
<div
class=
"module_header"
>
老师点评
</div>
<div
class=
"module_header"
>
老师点评
</div>
<div
style=
"padding: 0 10px; box-sizing: border-box"
>
<div
style=
"padding: 0 10px; box-sizing: border-box"
>
...
@@ -267,6 +305,9 @@ export default {
...
@@ -267,6 +305,9 @@ export default {
is_WrongGroup
:
true
,
is_WrongGroup
:
true
,
is_EyeStability
:
true
,
is_EyeStability
:
true
,
is_Transcript
:
true
,
is_Transcript
:
true
,
is_holdTobacco
:
true
,
is_flakeTobacco
:
true
,
is_swingHandle
:
true
,
id
:
[
14
,
16
],
id
:
[
14
,
16
],
ScoreScore
:
[
'100'
,
'80'
,
'70'
,
'60'
],
ScoreScore
:
[
'100'
,
'80'
,
'70'
,
'60'
],
is_top
:
true
,
is_top
:
true
,
...
@@ -314,6 +355,12 @@ export default {
...
@@ -314,6 +355,12 @@ export default {
wrongG_group_data
:
null
,
wrongG_group_data
:
null
,
//学员得分情况
//学员得分情况
transcript_data
:
null
,
transcript_data
:
null
,
//把烟统计数据
holdTobacco_data
:
null
,
//片烟统计数据
flakeTobacco_data
:
null
,
//甩把统计数据
swingHandle_data
:
null
,
};
};
},
},
...
@@ -322,7 +369,7 @@ export default {
...
@@ -322,7 +369,7 @@ export default {
computed
:
{},
computed
:
{},
created
()
{
created
()
{
let
ids
=
localStorage
.
getItem
(
'examination_questions_ids'
);
let
ids
=
localStorage
.
getItem
(
'examination_questions_ids'
);
console
.
log
(
ids
);
//
console.log(ids);
this
.
request_params
.
id
=
ids
.
split
(
','
);
this
.
request_params
.
id
=
ids
.
split
(
','
);
},
},
mounted
()
{
mounted
()
{
...
@@ -336,8 +383,8 @@ export default {
...
@@ -336,8 +383,8 @@ export default {
this
.
getListData
();
this
.
getListData
();
},
},
btnClick
(
val
)
{
btnClick
(
val
)
{
console
.
log
(
'右侧按钮'
);
//
console.log('右侧按钮');
console
.
log
(
val
);
//
console.log(val);
//saveExaminationQuestions
//saveExaminationQuestions
if
(
val
==
'save'
)
this
.
saveExaminationQuestions
();
if
(
val
==
'save'
)
this
.
saveExaminationQuestions
();
},
},
...
@@ -356,14 +403,16 @@ export default {
...
@@ -356,14 +403,16 @@ export default {
'wrong_color_data'
,
'wrong_color_data'
,
'wrongG_group_data'
,
'wrongG_group_data'
,
'transcript_data'
,
'transcript_data'
,
'holdTobacco_data'
,
'flakeTobacco_data'
,
];
];
keys
.
forEach
((
element
)
=>
{
keys
.
forEach
((
element
)
=>
{
this
[
element
]
=
null
;
this
[
element
]
=
null
;
});
});
this
.
is_loading
=
true
;
this
.
is_loading
=
true
;
get_test_results_count
(
this
.
request_params
).
then
((
res
)
=>
{
get_test_results_count
(
this
.
request_params
).
then
((
res
)
=>
{
console
.
log
(
'统计数据'
);
//
console.log('统计数据');
console
.
log
(
res
);
//
console.log(res);
this
.
is_loading
=
false
;
this
.
is_loading
=
false
;
this
.
head_data
.
title
=
res
.
title_list
;
//标题
this
.
head_data
.
title
=
res
.
title_list
;
//标题
...
@@ -392,12 +441,153 @@ export default {
...
@@ -392,12 +441,153 @@ export default {
this
.
error_level_data
=
this
.
changeErrorLevel
(
res
.
WrongLevel
);
//错误等级
this
.
error_level_data
=
this
.
changeErrorLevel
(
res
.
WrongLevel
);
//错误等级
this
.
wrong_color_data
=
this
.
changeWrongColor
(
res
.
WrongColor
);
//错误颜色
this
.
wrong_color_data
=
this
.
changeWrongColor
(
res
.
WrongColor
);
//错误颜色
this
.
wrongG_group_data
=
this
.
changeWrongGroup
(
res
.
WrongGroup
);
//错误组别
this
.
wrongG_group_data
=
this
.
changeWrongGroup
(
res
.
WrongGroup
);
//错误组别
this
.
holdTobacco_data
=
this
.
changeHoldTobacco
(
res
.
holdTobacco
);
//把烟
this
.
flakeTobacco_data
=
this
.
changeFlakeTobacco
(
res
.
flakeTobacco
);
//片烟
this
.
swingHandle_data
=
this
.
changeSwingHandle
(
res
.
swingHandle
);
//甩把
});
});
},
},
//百分比
//百分比
toPercent
,
toPercent
,
//处理把烟
changeHoldTobacco
(
datas
)
{
// if (!datas) return false;
if
(
!
datas
)
{
datas
=
[];
}
let
keys
=
Object
.
keys
(
datas
);
let
labers
=
[
{
label
:
'全部'
,
key
:
'all'
},
{
label
:
'南方'
,
key
:
'south'
},
{
label
:
'北方'
,
key
:
'north'
},
{
label
:
'正组'
,
key
:
'positive'
},
{
label
:
'副组'
,
key
:
'deputy'
},
{
label
:
'南方正组'
,
key
:
'south_positive'
},
{
label
:
'南方副组'
,
key
:
'south_deputy'
},
{
label
:
'北方正组'
,
key
:
'north_positive'
},
{
label
:
'北方副组'
,
key
:
'north_deputy'
},
];
let
obj
=
{
all
:
datas
.
all
,
south
:
datas
.
south
,
north
:
datas
.
north
,
positive
:
datas
.
positive
,
deputy
:
datas
.
deputy
,
south_positive
:
datas
.
south_positive
,
south_deputy
:
datas
.
south_deputy
,
north_positive
:
datas
.
north_positive
,
north_deputy
:
datas
.
north_deputy
,
title
:
datas
.
title
,
};
return
{
type
:
'trend_analysis'
,
chart_id
:
'holdtobacco_bar_chart'
,
title
:
'把烟'
,
color
:
'#39c183f0'
,
// print_id: 'holdtobacco_bar_chart',
obj
,
labers
,
keys
,
is_show
:
{
key
:
'is_Holdtobacco'
,
value
:
this
.
request_params
.
is_holdTobacco
,
},
};
},
//处理片烟
changeFlakeTobacco
(
datas
)
{
// if (!datas) return false;
if
(
!
datas
)
{
datas
=
[];
}
let
keys
=
Object
.
keys
(
datas
);
let
labers
=
[
{
label
:
'全部'
,
key
:
'all'
},
{
label
:
'南方'
,
key
:
'south'
},
{
label
:
'北方'
,
key
:
'north'
},
{
label
:
'正组'
,
key
:
'positive'
},
{
label
:
'副组'
,
key
:
'deputy'
},
{
label
:
'南方正组'
,
key
:
'south_positive'
},
{
label
:
'南方副组'
,
key
:
'south_deputy'
},
{
label
:
'北方正组'
,
key
:
'north_positive'
},
{
label
:
'北方副组'
,
key
:
'north_deputy'
},
];
let
obj
=
{
all
:
datas
.
all
,
south
:
datas
.
south
,
north
:
datas
.
north
,
positive
:
datas
.
positive
,
deputy
:
datas
.
deputy
,
south_positive
:
datas
.
south_positive
,
south_deputy
:
datas
.
south_deputy
,
north_positive
:
datas
.
north_positive
,
north_deputy
:
datas
.
north_deputy
,
title
:
datas
.
title
,
};
return
{
type
:
'trend_analysis'
,
chart_id
:
'flakeTobacco_bar_chart'
,
title
:
'片烟'
,
color
:
'#E6A23C'
,
// print_id: 'flakeTobacco_bar_chart',
obj
,
labers
,
keys
,
is_show
:
{
key
:
'is_FlakeTobacco'
,
value
:
this
.
request_params
.
is_flakeTobacco
,
},
};
},
//处理把烟
changeSwingHandle
(
datas
)
{
// if (!datas) return false;
if
(
!
datas
)
{
datas
=
[];
}
let
keys
=
Object
.
keys
(
datas
);
let
labers
=
[
{
label
:
'全部'
,
key
:
'all'
},
{
label
:
'南方'
,
key
:
'south'
},
{
label
:
'北方'
,
key
:
'north'
},
{
label
:
'正组'
,
key
:
'positive'
},
{
label
:
'副组'
,
key
:
'deputy'
},
{
label
:
'南方正组'
,
key
:
'south_positive'
},
{
label
:
'南方副组'
,
key
:
'south_deputy'
},
{
label
:
'北方正组'
,
key
:
'north_positive'
},
{
label
:
'北方副组'
,
key
:
'north_deputy'
},
];
let
obj
=
{
all
:
datas
.
all
,
south
:
datas
.
south
,
north
:
datas
.
north
,
positive
:
datas
.
positive
,
deputy
:
datas
.
deputy
,
south_positive
:
datas
.
south_positive
,
south_deputy
:
datas
.
south_deputy
,
north_positive
:
datas
.
north_positive
,
north_deputy
:
datas
.
north_deputy
,
title
:
datas
.
title
,
};
return
{
type
:
'trend_analysis'
,
chart_id
:
'swingHandle_data_bar_chart'
,
title
:
'甩把'
,
color
:
'#39c183f0'
,
// print_id: 'holdtobacco_bar_chart',
obj
,
labers
,
keys
,
is_show
:
{
key
:
'is_swingHandle'
,
value
:
this
.
request_params
.
is_swingHandle
,
},
};
},
//处理分段值
//处理分段值
changeScore
(
datas
)
{
changeScore
(
datas
)
{
if
(
!
datas
)
return
false
;
if
(
!
datas
)
return
false
;
...
@@ -537,13 +727,20 @@ export default {
...
@@ -537,13 +727,20 @@ export default {
let
labers
=
[
let
labers
=
[
{
label
:
'姓名'
,
key
:
'name'
},
{
label
:
'姓名'
,
key
:
'name'
},
{
label
:
'分数'
,
key
:
'score'
},
{
label
:
'分数'
,
key
:
'score'
},
{
label
:
'南方'
,
key
:
'south'
},
{
label
:
'北方'
,
key
:
'north'
},
{
label
:
'正组'
,
key
:
'positive'
},
{
label
:
'副组'
,
key
:
'deputy'
},
{
label
:
'南方正组'
,
key
:
'south_positive'
},
{
label
:
'南方副组'
,
key
:
'south_deputy'
},
{
label
:
'北方正组'
,
key
:
'north_positive'
},
{
label
:
'北方副组'
,
key
:
'north_deputy'
},
];
];
let
select_list
=
Object
.
keys
(
datas
);
let
select_list
=
Object
.
keys
(
datas
);
return
{
return
{
type
:
'select_table'
,
type
:
'select_table'
,
chart_id
:
'transcript_bar_chart'
,
chart_id
:
'transcript_bar_chart'
,
print_id
:
'transcript_bar_chart'
,
print_id
:
'transcript_bar_chart'
,
color
:
'#99A9BF'
,
color
:
'#99A9BF'
,
title
:
'学员得分情况'
,
title
:
'学员得分情况'
,
labers
,
labers
,
...
@@ -839,8 +1036,8 @@ export default {
...
@@ -839,8 +1036,8 @@ export default {
//过滤
//过滤
enterSearch
(
event
)
{
enterSearch
(
event
)
{
console
.
log
(
'触发回车'
);
//
console.log('触发回车');
console
.
log
(
event
);
//
console.log(event);
this
.
getListData
();
this
.
getListData
();
},
},
...
@@ -848,8 +1045,8 @@ export default {
...
@@ -848,8 +1045,8 @@ export default {
saveExaminationQuestions
()
{
saveExaminationQuestions
()
{
let
params
=
this
.
$removeProperty
(
this
.
request_params
);
let
params
=
this
.
$removeProperty
(
this
.
request_params
);
save_read_over_data
(
params
).
then
((
res
)
=>
{
save_read_over_data
(
params
).
then
((
res
)
=>
{
console
.
log
(
'保存回调'
);
//
console.log('保存回调');
console
.
log
(
res
);
//
console.log(res);
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
res
.
message
);
this
.
$message
.
success
(
res
.
message
);
}
}
...
@@ -867,6 +1064,7 @@ export default {
...
@@ -867,6 +1064,7 @@ export default {
.centenr_container
{
.centenr_container
{
width
:
calc
(
100%
-
20px
);
width
:
calc
(
100%
-
20px
);
margin
:
0
auto
;
margin
:
0
auto
;
overflow-x
:
hidden
;
}
}
.box-card
{
.box-card
{
...
...
src/views/student/examination_questions/list/index.vue
浏览文件 @
e5a056ce
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
* @Author: AnthonyD
* @Author: AnthonyD
* @Date: 2023-04-10 18:06:52
* @Date: 2023-04-10 18:06:52
* @Last Modified by: AnthonyD
* @Last Modified by: AnthonyD
* @Last Modified time: 2023-0
4-19 15:24:58
* @Last Modified time: 2023-0
7-12 18:47:25
*/
*/
</
script
>
</
script
>
<
template
>
<
template
>
...
@@ -511,20 +511,20 @@ export default {
...
@@ -511,20 +511,20 @@ export default {
methods
:
{
methods
:
{
searchEvent
(
val
)
{
searchEvent
(
val
)
{
console
.
log
(
'搜索'
);
//
console.log('搜索');
console
.
log
(
val
);
//
console.log(val);
this
.
request_params
.
val
=
val
;
this
.
request_params
.
val
=
val
;
this
.
getListData
();
this
.
getListData
();
},
},
resetting
(
val
)
{
resetting
(
val
)
{
console
.
log
(
'重置'
);
//
console.log('重置');
console
.
log
(
val
);
//
console.log(val);
this
.
request_params
.
val
=
''
;
this
.
request_params
.
val
=
''
;
this
.
getListData
();
this
.
getListData
();
},
},
btnClick
(
val
)
{
btnClick
(
val
)
{
console
.
log
(
'右侧按钮'
);
//
console.log('右侧按钮');
console
.
log
(
val
);
//
console.log(val);
if
(
val
==
'add'
)
this
.
addInformation
();
if
(
val
==
'add'
)
this
.
addInformation
();
if
(
val
==
'reservation'
)
this
.
reservationFun
();
if
(
val
==
'reservation'
)
this
.
reservationFun
();
if
(
val
==
'analysis'
)
this
.
comment
(
null
);
if
(
val
==
'analysis'
)
this
.
comment
(
null
);
...
@@ -543,8 +543,8 @@ export default {
...
@@ -543,8 +543,8 @@ export default {
let
params
=
this
.
$handleParams
(
this
.
detailed_information
);
let
params
=
this
.
$handleParams
(
this
.
detailed_information
);
if
(
this
.
is_updata_type
==
'add'
)
{
if
(
this
.
is_updata_type
==
'add'
)
{
add_examination_questions
(
params
).
then
((
res
)
=>
{
add_examination_questions
(
params
).
then
((
res
)
=>
{
console
.
log
(
'新增回调'
);
//
console.log('新增回调');
console
.
log
(
res
);
//
console.log(res);
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
res
.
message
);
this
.
$message
.
success
(
res
.
message
);
this
.
is_dialogVisible
=
false
;
this
.
is_dialogVisible
=
false
;
...
@@ -553,10 +553,10 @@ export default {
...
@@ -553,10 +553,10 @@ export default {
});
});
}
else
{
}
else
{
let
id
=
this
.
detailed_information
.
id
;
let
id
=
this
.
detailed_information
.
id
;
console
.
log
(
id
);
//
console.log(id);
updata_examination_questions
(
id
,
params
).
then
((
res
)
=>
{
updata_examination_questions
(
id
,
params
).
then
((
res
)
=>
{
console
.
log
(
'修改回调'
);
//
console.log('修改回调');
console
.
log
(
res
);
//
console.log(res);
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
res
.
message
);
this
.
$message
.
success
(
res
.
message
);
this
.
is_dialogVisible
=
false
;
this
.
is_dialogVisible
=
false
;
...
@@ -636,8 +636,8 @@ export default {
...
@@ -636,8 +636,8 @@ export default {
createAnswerCard
(
item
)
{
createAnswerCard
(
item
)
{
let
id
=
item
.
id
;
let
id
=
item
.
id
;
create_answer_card
(
id
).
then
((
res
)
=>
{
create_answer_card
(
id
).
then
((
res
)
=>
{
console
.
log
(
'下载答题卡回调'
);
//
console.log('下载答题卡回调');
console
.
log
(
res
);
//
console.log(res);
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
let
s
=
res
.
message
.
split
(
'='
);
let
s
=
res
.
message
.
split
(
'='
);
let
name
=
s
[
s
.
length
-
1
];
let
name
=
s
[
s
.
length
-
1
];
...
@@ -650,8 +650,8 @@ export default {
...
@@ -650,8 +650,8 @@ export default {
examinationQuestionsPublish
(
item
)
{
examinationQuestionsPublish
(
item
)
{
let
id
=
item
.
id
;
let
id
=
item
.
id
;
examination_questions_publish
(
id
).
then
((
res
)
=>
{
examination_questions_publish
(
id
).
then
((
res
)
=>
{
console
.
log
(
'试题发布回调'
);
//
console.log('试题发布回调');
console
.
log
(
res
);
//
console.log(res);
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
res
.
message
);
this
.
$message
.
success
(
res
.
message
);
this
.
getListData
();
this
.
getListData
();
...
@@ -660,11 +660,11 @@ export default {
...
@@ -660,11 +660,11 @@ export default {
},
},
//试题复制
//试题复制
examinationQuestionsCopy
(
item
)
{
examinationQuestionsCopy
(
item
)
{
console
.
log
(
'点击触发'
);
//
console.log('点击触发');
let
id
=
item
.
id
;
let
id
=
item
.
id
;
examination_questions_copy
(
id
).
then
((
res
)
=>
{
examination_questions_copy
(
id
).
then
((
res
)
=>
{
console
.
log
(
'试题复制回调'
);
//
console.log('试题复制回调');
console
.
log
(
res
);
//
console.log(res);
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
res
.
message
);
this
.
$message
.
success
(
res
.
message
);
this
.
getListData
();
this
.
getListData
();
...
@@ -673,8 +673,8 @@ export default {
...
@@ -673,8 +673,8 @@ export default {
},
},
//点击修改状态
//点击修改状态
setStatusParams
(
item
)
{
setStatusParams
(
item
)
{
console
.
log
(
'点击'
);
//
console.log('点击');
console
.
log
(
item
);
//
console.log(item);
let
data
=
JSON
.
parse
(
JSON
.
stringify
(
item
));
let
data
=
JSON
.
parse
(
JSON
.
stringify
(
item
));
const
{
id
,
status
}
=
data
;
const
{
id
,
status
}
=
data
;
this
.
status_params
=
{
id
,
status
};
this
.
status_params
=
{
id
,
status
};
...
@@ -686,7 +686,7 @@ export default {
...
@@ -686,7 +686,7 @@ export default {
status
:
this
.
status_params
.
status
,
status
:
this
.
status_params
.
status
,
};
};
updata_examination_questions_status
(
id
,
params
).
then
((
res
)
=>
{
updata_examination_questions_status
(
id
,
params
).
then
((
res
)
=>
{
console
.
log
(
'修改状态'
);
//
console.log('修改状态');
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
res
.
message
);
this
.
$message
.
success
(
res
.
message
);
document
.
body
.
click
();
document
.
body
.
click
();
...
@@ -698,12 +698,12 @@ export default {
...
@@ -698,12 +698,12 @@ export default {
reservationFun
()
{
reservationFun
()
{
//获取全部试题
//获取全部试题
get_examination_questions_all
().
then
((
res
)
=>
{
get_examination_questions_all
().
then
((
res
)
=>
{
console
.
log
(
'全部试题'
);
//
console.log('全部试题');
console
.
log
(
res
);
//
console.log(res);
if
(
res
.
length
)
this
.
examination_questions_all_list
=
res
||
[];
if
(
res
.
length
)
this
.
examination_questions_all_list
=
res
||
[];
get_student_all
().
then
((
result
)
=>
{
get_student_all
().
then
((
result
)
=>
{
console
.
log
(
'全部学生列表'
);
//
console.log('全部学生列表');
console
.
log
(
result
);
//
console.log(result);
if
(
result
.
length
)
this
.
student_all_list
=
result
||
[];
if
(
result
.
length
)
this
.
student_all_list
=
result
||
[];
this
.
is_reservation
=
true
;
this
.
is_reservation
=
true
;
});
});
...
...
src/views/student/personnel/details.vue
0 → 100644
浏览文件 @
e5a056ce
<
script
>
/**
* @Author: AnthonyD
* @Date: 2023-03-28 10:34:24
* @Last Modified by: AnthonyD
* @Last Modified time: 2023-07-13 17:53:22
*/
</
script
>
<
template
>
<div
class=
"module_container"
>
<div
class=
"card_container"
>
<el-card
class=
"personnel_box_card"
>
<div
slot=
"header"
class=
"student_info_box"
>
<span>
学员个人信息
</span>
</div>
<div
class=
"table_container"
>
<div>
<el-form
:model=
"detailed_information"
label-width=
"100px"
>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"姓名"
>
<el-input
v-model=
"detailed_information.name"
placeholder=
"姓名"
disabled
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"性别"
>
<el-input
v-model=
"detailed_information.sex"
placeholder=
"性别"
disabled
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"年龄"
>
<el-input
v-model=
"detailed_information.age"
placeholder=
"年龄"
disabled
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"籍贯"
>
<el-input
v-model=
"detailed_information.native_place"
placeholder=
"籍贯"
type=
"textarea"
:rows=
"2"
disabled
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"省市区"
>
<el-input
v-model=
"detailed_information.linkage_id"
disabled
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"工作单位"
>
<el-input
v-model=
"detailed_information.work_info"
placeholder=
"工作单位"
disabled
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"证件号"
>
<el-input
v-model=
"detailed_information.idcard"
placeholder=
"证件号"
disabled
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"手机号"
>
<el-input
v-model=
"detailed_information.phone"
placeholder=
"手机号"
disabled
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"邮箱"
>
<el-input
v-model=
"detailed_information.email"
placeholder=
"邮箱"
disabled
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"状态"
>
<el-radio-group
v-model=
"detailed_information.status"
disabled
>
<el-radio
:label=
"1"
>
正常
</el-radio>
<el-radio
:label=
"3"
>
禁用
</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"开始工作时间"
>
<el-date-picker
v-model=
"detailed_information.start_working"
type=
"date"
placeholder=
"选择日期"
disabled
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"密码"
>
<el-input
v-model=
"detailed_information.password"
placeholder=
"密码"
disabled
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"备注"
>
<el-input
v-model=
"detailed_information.remark"
placeholder=
"备注"
type=
"textarea"
:rows=
"2"
disabled
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"简介"
>
<el-input
v-model=
"detailed_information.brief_introduction"
placeholder=
"简介"
type=
"textarea"
:rows=
"2"
disabled
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</el-card>
<el-card
class=
"personnel_box_card"
style=
"margin-top: 10px"
>
<div
slot=
"header"
class=
"student_info_box"
>
<span>
趋势性分析
</span>
</div>
<div
class=
"table_container"
>
<div>
<div>
<el-row
class=
"row_container"
:gutter=
"10"
>
<el-col
:span=
"12"
class=
"unit_container"
>
<div
class=
"centenr_container"
>
<AnalyseModule
:module_data=
"holdTobacco_data"
v-if=
"holdTobacco_data"
>
</AnalyseModule>
</div>
</el-col>
<el-col
:span=
"12"
class=
"unit_container"
>
<div
class=
"centenr_container"
>
<AnalyseModule
:module_data=
"flakeTobacco_data"
v-if=
"flakeTobacco_data"
>
</AnalyseModule>
</div>
</el-col>
<el-col
:span=
"12"
class=
"unit_container"
style=
"margin-top: 10px"
>
<div
class=
"centenr_container"
>
<AnalyseModule
:module_data=
"swingHandle_data"
v-if=
"swingHandle_data"
>
</AnalyseModule>
</div>
</el-col>
</el-row>
</div>
</div>
</div>
</el-card>
</div>
</div>
</
template
>
<
script
>
import
{
get_student_detail
}
from
'@/api/student'
;
import
AnalyseModule
from
'@/components/AnalyseModule/index.vue'
;
export
default
{
data
()
{
return
{
student_id
:
null
,
//详细信息
detailed_information
:
{},
//把烟统计数据
holdTobacco_data
:
null
,
//片烟统计数据
flakeTobacco_data
:
null
,
//甩把统计数据
swingHandle_data
:
null
,
};
},
components
:
{
AnalyseModule
},
computed
:
{},
mounted
()
{
this
.
student_id
=
this
.
$route
.
query
.
id
;
this
.
init
();
},
methods
:
{
init
()
{
this
.
viewDetails
();
},
viewDetails
()
{
let
id
=
this
.
student_id
;
let
params
=
{
is_holdTobacco
:
true
,
is_flakeTobacco
:
true
,
is_swingHandle
:
true
,
};
get_student_detail
(
id
,
params
).
then
((
res
)
=>
{
this
.
holdTobacco_data
=
this
.
changeHoldTobacco
(
res
.
analysis
.
holdTobacco
);
//把烟
this
.
flakeTobacco_data
=
this
.
changeFlakeTobacco
(
res
.
analysis
.
flakeTobacco
);
//片烟
this
.
swingHandle_data
=
this
.
changeSwingHandle
(
res
.
analysis
.
swingHandle
);
//甩把
this
.
detailed_information
=
JSON
.
parse
(
JSON
.
stringify
(
res
))
||
{};
this
.
detailed_information
[
'linkage_id'
]
=
`
${
res
.
province
}
-
${
res
.
city
}
-
${
res
.
area
}
`
;
});
},
//处理把烟
changeHoldTobacco
(
datas
)
{
// if (!datas) return false;
if
(
!
datas
)
{
datas
=
[];
}
let
keys
=
Object
.
keys
(
datas
);
let
labers
=
[
{
label
:
'全部'
,
key
:
'all'
},
{
label
:
'南方'
,
key
:
'south'
},
{
label
:
'北方'
,
key
:
'north'
},
{
label
:
'正组'
,
key
:
'positive'
},
{
label
:
'副组'
,
key
:
'deputy'
},
{
label
:
'南方正组'
,
key
:
'south_positive'
},
{
label
:
'南方副组'
,
key
:
'south_deputy'
},
{
label
:
'北方正组'
,
key
:
'north_positive'
},
{
label
:
'北方副组'
,
key
:
'north_deputy'
},
];
let
obj
=
{
all
:
datas
.
all
,
south
:
datas
.
south
,
north
:
datas
.
north
,
positive
:
datas
.
positive
,
deputy
:
datas
.
deputy
,
south_positive
:
datas
.
south_positive
,
south_deputy
:
datas
.
south_deputy
,
north_positive
:
datas
.
north_positive
,
north_deputy
:
datas
.
north_deputy
,
title
:
datas
.
title
,
};
return
{
type
:
'trend_analysis'
,
chart_id
:
'holdtobacco_bar_chart'
,
title
:
'把烟'
,
color
:
'#39c183f0'
,
// print_id: 'holdtobacco_bar_chart',
obj
,
labers
,
keys
,
};
},
//处理片烟
changeFlakeTobacco
(
datas
)
{
// if (!datas) return false;
if
(
!
datas
)
{
datas
=
[];
}
let
keys
=
Object
.
keys
(
datas
);
let
labers
=
[
{
label
:
'全部'
,
key
:
'all'
},
{
label
:
'南方'
,
key
:
'south'
},
{
label
:
'北方'
,
key
:
'north'
},
{
label
:
'正组'
,
key
:
'positive'
},
{
label
:
'副组'
,
key
:
'deputy'
},
{
label
:
'南方正组'
,
key
:
'south_positive'
},
{
label
:
'南方副组'
,
key
:
'south_deputy'
},
{
label
:
'北方正组'
,
key
:
'north_positive'
},
{
label
:
'北方副组'
,
key
:
'north_deputy'
},
];
let
obj
=
{
all
:
datas
.
all
,
south
:
datas
.
south
,
north
:
datas
.
north
,
positive
:
datas
.
positive
,
deputy
:
datas
.
deputy
,
south_positive
:
datas
.
south_positive
,
south_deputy
:
datas
.
south_deputy
,
north_positive
:
datas
.
north_positive
,
north_deputy
:
datas
.
north_deputy
,
title
:
datas
.
title
,
};
return
{
type
:
'trend_analysis'
,
chart_id
:
'flakeTobacco_bar_chart'
,
title
:
'片烟'
,
color
:
'#E6A23C'
,
// print_id: 'flakeTobacco_bar_chart',
obj
,
labers
,
keys
,
};
},
//处理甩把
changeSwingHandle
(
datas
)
{
// if (!datas) return false;
if
(
!
datas
)
{
datas
=
[];
}
let
keys
=
Object
.
keys
(
datas
);
let
labers
=
[
{
label
:
'全部'
,
key
:
'all'
},
{
label
:
'南方'
,
key
:
'south'
},
{
label
:
'北方'
,
key
:
'north'
},
{
label
:
'正组'
,
key
:
'positive'
},
{
label
:
'副组'
,
key
:
'deputy'
},
{
label
:
'南方正组'
,
key
:
'south_positive'
},
{
label
:
'南方副组'
,
key
:
'south_deputy'
},
{
label
:
'北方正组'
,
key
:
'north_positive'
},
{
label
:
'北方副组'
,
key
:
'north_deputy'
},
];
let
obj
=
{
all
:
datas
.
all
,
south
:
datas
.
south
,
north
:
datas
.
north
,
positive
:
datas
.
positive
,
deputy
:
datas
.
deputy
,
south_positive
:
datas
.
south_positive
,
south_deputy
:
datas
.
south_deputy
,
north_positive
:
datas
.
north_positive
,
north_deputy
:
datas
.
north_deputy
,
title
:
datas
.
title
,
};
return
{
type
:
'trend_analysis'
,
chart_id
:
'swingHandle_bar_chart'
,
title
:
'片烟'
,
color
:
'#E6A23C'
,
// print_id: 'flakeTobacco_bar_chart',
obj
,
labers
,
keys
,
};
},
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.personnel_box_card
{
::v-deep
.el-card__header
{
padding
:
0px
;
}
}
.student_info_box
{
height
:
40px
;
background-color
:
#038d6e
;
color
:
#fff
;
text-align
:
center
;
line-height
:
40px
;
padding
:
0px
;
}
</
style
>
src/views/student/personnel/index.vue
浏览文件 @
e5a056ce
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
* @Author: AnthonyD
* @Author: AnthonyD
* @Date: 2023-03-28 10:34:24
* @Date: 2023-03-28 10:34:24
* @Last Modified by: AnthonyD
* @Last Modified by: AnthonyD
* @Last Modified time: 2023-0
4-21 17:26:42
* @Last Modified time: 2023-0
7-13 14:15:19
*/
*/
</
script
>
</
script
>
<
template
>
<
template
>
...
@@ -509,16 +509,20 @@ export default {
...
@@ -509,16 +509,20 @@ export default {
//查看详情
//查看详情
viewDetails
(
item
)
{
viewDetails
(
item
)
{
let
id
=
item
.
id
;
let
id
=
item
.
id
;
this
.
is_updata_type
=
'view'
;
this
.
$router
.
push
({
get_student_detail
(
id
).
then
((
res
)
=>
{
path
:
'/student/personnel_details'
,
this
.
detailed_information
=
JSON
.
parse
(
JSON
.
stringify
(
res
))
||
{};
query
:
{
id
:
id
},
this
.
detailed_information
[
'linkage_id'
]
=
[
res
.
province
,
res
.
city
,
res
.
area
,
];
this
.
is_dialogVisible
=
true
;
});
});
// this.is_updata_type = 'view';
// get_student_detail(id).then((res) => {
// this.detailed_information = JSON.parse(JSON.stringify(res)) || {};
// this.detailed_information['linkage_id'] = [
// res.province,
// res.city,
// res.area,
// ];
// this.is_dialogVisible = true;
// });
},
},
//删除
//删除
deleteInformation
(
item
)
{
deleteInformation
(
item
)
{
...
...
src/views/student/test_results/components/AnalyseModule.vue
浏览文件 @
e5a056ce
...
@@ -20,9 +20,7 @@
...
@@ -20,9 +20,7 @@
</tr>
</tr>
</table>
</table>
</div>
</div>
<div
class=
"content_container"
id=
"charts_container"
>
<div
class=
"content_container"
id=
"charts_container"
></div>
</div>
</div>
</div>
</
template
>
</
template
>
...
@@ -30,8 +28,7 @@
...
@@ -30,8 +28,7 @@
import
echarts
from
'echarts'
;
import
echarts
from
'echarts'
;
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{};
};
},
},
components
:
{},
components
:
{},
...
@@ -47,7 +44,7 @@ export default {
...
@@ -47,7 +44,7 @@ export default {
let
dom
=
document
.
getElementById
(
'charts_container'
);
let
dom
=
document
.
getElementById
(
'charts_container'
);
let
myChart
=
echarts
.
init
(
dom
,
null
,
{
let
myChart
=
echarts
.
init
(
dom
,
null
,
{
renderer
:
'canvas'
,
renderer
:
'canvas'
,
useDirtyRect
:
false
useDirtyRect
:
false
,
});
});
let
app
=
{};
let
app
=
{};
...
@@ -56,25 +53,25 @@ export default {
...
@@ -56,25 +53,25 @@ export default {
option
=
{
option
=
{
xAxis
:
{
xAxis
:
{
type
:
'category'
,
type
:
'category'
,
data
:
[
'Mon'
,
'Tue'
,
'Wed'
,
'Thu'
,
'Fri'
,
'Sat'
,
'Sun'
]
data
:
[
'Mon'
,
'Tue'
,
'Wed'
,
'Thu'
,
'Fri'
,
'Sat'
,
'Sun'
]
,
},
},
yAxis
:
{
yAxis
:
{
type
:
'value'
type
:
'value'
,
},
},
series
:
[
series
:
[
{
{
data
:
[
820
,
932
,
901
,
934
,
1290
,
1330
,
1320
],
data
:
[
820
,
932
,
901
,
934
,
1290
,
1330
,
1320
],
type
:
'line'
,
type
:
'line'
,
smooth
:
true
,
smooth
:
true
,
areaStyle
:
{}
areaStyle
:
{}
,
},
},
{
{
data
:
[
1290
,
1330
,
1320
,
820
,
932
,
901
,
934
,
],
data
:
[
1290
,
1330
,
1320
,
820
,
932
,
901
,
934
],
type
:
'line'
,
type
:
'line'
,
smooth
:
true
,
smooth
:
true
,
areaStyle
:
{}
areaStyle
:
{}
,
},
},
]
]
,
};
};
if
(
option
&&
typeof
option
===
'object'
)
{
if
(
option
&&
typeof
option
===
'object'
)
{
...
@@ -83,20 +80,19 @@ export default {
...
@@ -83,20 +80,19 @@ export default {
window
.
addEventListener
(
'resize'
,
myChart
.
resize
);
window
.
addEventListener
(
'resize'
,
myChart
.
resize
);
},
},
}
},
}
};
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.analyse_container
{
.analyse_container
{
border-radius
:
6px
;
border-radius
:
6px
;
border
:
1px
solid
#
F56C6C
;
border
:
1px
solid
#
f56c6c
;
overflow
:
hidden
;
overflow
:
hidden
;
.header_box
{
.header_box
{
height
:
40px
;
height
:
40px
;
line-height
:
40px
;
line-height
:
40px
;
background-color
:
#
F56C6C
;
background-color
:
#
f56c6c
;
padding
:
0
10px
;
padding
:
0
10px
;
color
:
#fff
;
color
:
#fff
;
}
}
...
@@ -107,7 +103,6 @@ export default {
...
@@ -107,7 +103,6 @@ export default {
margin
:
0
;
margin
:
0
;
padding
:
0
;
padding
:
0
;
overflow-y
:
auto
;
overflow-y
:
auto
;
.table_box
{
.table_box
{
width
:
100%
;
width
:
100%
;
min-height
:
100%
;
min-height
:
100%
;
...
@@ -118,8 +113,8 @@ export default {
...
@@ -118,8 +113,8 @@ export default {
.table_box
{
.table_box
{
font-size
:
14px
;
font-size
:
14px
;
border-top
:
1px
solid
#
E4E7ED
;
border-top
:
1px
solid
#
e4e7ed
;
border-left
:
1px
solid
#
E4E7ED
;
border-left
:
1px
solid
#
e4e7ed
;
border-collapse
:
collapse
;
border-collapse
:
collapse
;
th
,
th
,
...
@@ -127,8 +122,8 @@ export default {
...
@@ -127,8 +122,8 @@ export default {
margin
:
0
;
margin
:
0
;
padding
:
0
;
padding
:
0
;
font-size
:
14px
;
font-size
:
14px
;
border-bottom
:
1px
solid
#
E4E7ED
;
border-bottom
:
1px
solid
#
e4e7ed
;
border-right
:
1px
solid
#
E4E7ED
;
border-right
:
1px
solid
#
e4e7ed
;
}
}
th
{
th
{
...
@@ -139,4 +134,4 @@ export default {
...
@@ -139,4 +134,4 @@ export default {
color
:
#303133
;
color
:
#303133
;
}
}
}
}
</
style
>
</
style
>
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论