Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica_eagle_new
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
xiaoping.di
pica_eagle_new
提交
7d3c9951
提交
7d3c9951
编写于
10月 09, 2021
作者:
xiaoping.di
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
考试优化
上级
1d993e9a
变更
28
展开全部
隐藏空白字符变更
内嵌
并排
正在显示
28 个修改的文件
包含
1280 行增加
和
1118 行删除
+1280
-1118
.eslintignore
.eslintignore
+1
-1
exam.js
src/api/exam.js
+1
-1
storke.js
src/api/storke.js
+3
-3
index.vue
src/components/common/header/index.vue
+66
-66
cell.vue
src/components/pica-radio/cell.vue
+26
-13
index.vue
src/components/pica-radio/index.vue
+10
-8
item.vue
src/components/pica-radio/item.vue
+23
-14
aboutCourse.vue
src/components/stroke/aboutCourse.vue
+30
-30
componentMain.vue
src/components/stroke/componentMain.vue
+1
-1
examCodeInput.vue
src/components/stroke/examCodeInput.vue
+3
-1
examHistory.vue
src/components/stroke/examHistory.vue
+4
-4
examInfo.vue
src/components/stroke/examInfo.vue
+19
-23
headerSlider.vue
src/components/stroke/headerSlider.vue
+1
-1
livesExamHistory.vue
src/components/stroke/livesExamHistory.vue
+3
-3
localExamHistory.vue
src/components/stroke/localExamHistory.vue
+3
-3
picaHeader.vue
src/components/stroke/picaHeader.vue
+4
-3
projectContent.vue
src/components/stroke/projectContent.vue
+52
-107
textCollapse.vue
src/components/stroke/textCollapse.vue
+13
-20
vue-vant.js
src/plugins/vue-vant.js
+4
-2
index.js
src/router/index.js
+5
-5
Home.vue
src/views/Home.vue
+16
-16
exam_history.vue
src/views/exam/exam_history.vue
+62
-46
exam_wrong.vue
src/views/exam/exam_wrong.vue
+115
-77
index.vue
src/views/exam/index.vue
+334
-288
local_exam_history.vue
src/views/exam/local_exam_history.vue
+85
-78
index.vue
src/views/examResult/index.vue
+169
-152
index.js
src/views/stroke/index.js
+73
-63
index.vue
src/views/stroke/index.vue
+154
-89
未找到文件。
.eslintignore
浏览文件 @
7d3c9951
/h5-submodules-master
/node_modules
/src
src/api/exam.js
浏览文件 @
7d3c9951
...
...
@@ -16,7 +16,7 @@ export const getCoopExamQuest = async (param) => {
});
};
//教培中间模块
//
教培中间模块
export
const
getCoopExam
=
async
(
param
)
=>
{
return
request
({
url
:
'app/projectExam/exam'
,
...
...
src/api/storke.js
浏览文件 @
7d3c9951
...
...
@@ -7,7 +7,7 @@ export const getCoopTop = async (param) => {
params
:
param
,
});
};
//教培底部模块
//
教培底部模块
export
const
getCoopBottom
=
async
(
param
)
=>
{
return
request
({
url
:
'contents/projects/bottom'
,
...
...
@@ -16,7 +16,7 @@ export const getCoopBottom = async (param) => {
});
};
//教培中间模块
//
教培中间模块
export
const
getCoopMiddle
=
async
(
param
)
=>
{
return
request
({
url
:
'contents/projects/middle'
,
...
...
@@ -25,7 +25,7 @@ export const getCoopMiddle = async (param) => {
});
};
//教培考试信息模块
//
教培考试信息模块
export
const
getCoopLiveExam
=
async
(
param
)
=>
{
return
request
({
url
:
`contents/projects/live/
${
param
.
id
}
`
,
...
...
src/components/common/header/index.vue
浏览文件 @
7d3c9951
<
template
>
<div
class=
"nav-title"
:style=
"
'background:' +
bgColor +
';' +
'padding-top:' +
paddingTop
"
<div
class=
"nav-title"
:style=
"
'background:' +
bgColor +
';' +
'padding-top:' +
paddingTop
"
>
<span
class=
"nav-back"
@
click=
"goBack"
>
<img
v-show=
"isBlack"
src=
"./images/left-array-black.png"
alt=
""
>
<img
v-show=
"!isBlack"
src=
"./images/left-array-whiter.png"
alt=
""
>
</span>
<span
v-show=
"bgColor !== 'none'"
class=
"nav-title-title"
>
{{
title
}}
</span>
<span
v-if=
"isShowRight"
class=
"nav-share"
@
click=
"rightAction"
>
<span
class=
"active-text"
>
客服
</span>
</span>
<span
v-if=
"!isShowRight"
class=
"nav-share"
@
click=
"rightAction"
>
<span
class=
"
nav-back
"
@
click=
"
goBack
"
class=
"
active-text
"
@
click=
"
share
"
>
<img
v-
show=
"isBlack
"
src=
"./images/
left-array
-black.png"
v-
if=
"isShowShare
"
src=
"./images/
share-icon
-black.png"
alt=
""
>
<img
v-
show=
"!isBlack
"
src=
"./images/
left-array-whiter
.png"
v-
else-if=
"isShowShareWhite
"
src=
"./images/
share-icon-white
.png"
alt=
""
>
</span>
<span
v-show=
"bgColor !== 'none'"
class=
"nav-title-title"
>
{{
title
}}
</span>
<span
v-if=
"isShowRight"
class=
"nav-share"
@
click=
"rightAction"
>
<span
class=
"active-text"
>
客服
</span>
</span>
<span
v-if=
"!isShowRight"
class=
"nav-share"
@
click=
"rightAction"
>
<span
class=
"active-text"
@
click=
"share"
v-else-if=
"isCancel"
class=
"nav-share"
@
click=
"cancelGoSearch"
>
<img
v-if=
"isShowShare"
src=
"./images/share-icon-black.png"
alt=
""
>
<img
v-else-if=
"isShowShareWhite"
src=
"./images/share-icon-white.png"
alt=
""
>
<span
v-else-if=
"isCancel"
class=
"nav-share"
@
click=
"cancelGoSearch"
>
<span
class=
"active-text"
>
取消
</span>
</span>
<span
class=
"active-text"
>
取消
</span>
</span>
</span>
<slot
name=
"externals"
/>
<!--
<span
class=
"nav-share"
>
</span>
<slot
name=
"externals"
/>
<!--
<span
class=
"nav-share"
>
<slot></slot>
</span>
-->
</div>
</div>
<!--
<section
v-if=
"!isWeb"
:class=
"isFixheader ? 'nav-top fixed' : 'nav-top'"
...
...
@@ -188,17 +188,17 @@
};
try
{
this
.
$rocNative
.
getAppVersionCode
().
then
(
res
=>
{
if
(
res
.
versionCode
<
'3.7.8'
)
{
console
.
log
(
'低版本'
);
}
else
{
window
.
prompt
(
JSON
.
stringify
({
functionName
:
'getPhoneParameters'
,
paramJson
:
JSON
.
stringify
({}),
callBackName
:
'getPhoneParameters'
}));
}
if
(
res
.
versionCode
<
'3.7.8'
)
{
console
.
log
(
'低版本'
);
}
else
{
window
.
prompt
(
JSON
.
stringify
({
functionName
:
'getPhoneParameters'
,
paramJson
:
JSON
.
stringify
({}),
callBackName
:
'getPhoneParameters'
}));
}
});
}
catch
(
error
){
}
catch
(
error
)
{
console
.
log
(
122
);
}
},
...
...
src/components/pica-radio/cell.vue
浏览文件 @
7d3c9951
...
...
@@ -3,28 +3,41 @@
<!--A Cell -->
<
template
>
<div
:class=
"['wxc-cell', hasTopBorder && 'cell-top-border', hasBottomBorder && 'cell-bottom-border', hasMargin && 'cell-margin', hasVerticalIndent && 'cell-indent', desc && 'has-desc']"
<div
:class=
"['wxc-cell', hasTopBorder && 'cell-top-border', hasBottomBorder && 'cell-bottom-border', hasMargin && 'cell-margin', hasVerticalIndent && 'cell-indent', desc && 'has-desc']"
:style=
"cellStyle"
:accessible=
"autoAccessible"
:aria-label=
"`$
{label},${title},${desc}`"
@click="cellClicked">
@click="cellClicked"
>
<slot
name=
"label"
>
<div
v-if=
"label"
>
<div
class=
"cell-label-text"
>
{{
label
}}
</div>
<div
class=
"cell-label-text"
>
{{
label
}}
</div>
</div>
</slot>
<div
class=
"cell-title"
>
<slot
name=
"title"
>
<div
class=
"cell-content"
>
{{
title
}}
</div>
<div
class=
"cell-desc-text"
v-if=
"desc"
>
{{
desc
}}
</div>
<div
class=
"cell-content"
>
{{
title
}}
</div>
<div
v-if=
"desc"
class=
"cell-desc-text"
>
{{
desc
}}
</div>
</slot>
</div>
<slot
name=
"value"
></slot>
<slot></slot>
<img
:src=
"arrowIcon"
class=
"cell-arrow-icon"
:aria-hidden=
"true"
v-if=
"hasArrow"
/>
<slot
name=
"value"
/>
<slot
/>
<img
v-if=
"hasArrow"
:src=
"arrowIcon"
class=
"cell-arrow-icon"
:aria-hidden=
"true"
>
</div>
</
template
>
...
...
@@ -92,7 +105,7 @@
</
style
>
<
script
>
//import {Utils} from 'weex-ui';
//
import {Utils} from 'weex-ui';
export
default
{
props
:
{
...
...
@@ -149,7 +162,7 @@
cellClicked
(
e
)
{
const
link
=
this
.
link
;
this
.
$emit
(
'wxcCellClicked'
,
{
e
});
//link && Utils.goToH5Page(link, true);
//
link && Utils.goToH5Page(link, true);
}
}
};
...
...
src/components/pica-radio/index.vue
浏览文件 @
7d3c9951
...
...
@@ -4,11 +4,13 @@
<
template
>
<div>
<wxc-radio
v-for=
"(item,i) in updateList"
:config=
"config"
v-bind=
"item"
@
wxcRadioItemChecked=
"wxcRadioItemChecked(i,$event)"
:key=
"i"
></wxc-radio>
<wxc-radio
v-for=
"(item,i) in updateList"
:key=
"i"
:config=
"config"
v-bind=
"item"
@
wxcRadioItemChecked=
"wxcRadioItemChecked(i,$event)"
/>
</div>
</
template
>
...
...
@@ -54,7 +56,7 @@
this
.
setListChecked
(
this
.
list
);
},
methods
:
{
setListChecked
(
list
){
setListChecked
(
list
)
{
if
(
list
&&
list
.
length
>
0
)
{
list
.
forEach
((
item
,
i
)
=>
{
item
.
checked
&&
(
this
.
checkedIndex
=
i
);
...
...
@@ -65,8 +67,8 @@
const
oldIndex
=
this
.
checkedIndex
;
const
{
value
,
title
}
=
this
.
list
[
i
];
this
.
checkedIndex
=
i
;
this
.
$emit
(
'wxcRadioListChecked'
,
{
value
,
title
,
oldIndex
,
index
:
i
,
item
:
this
.
list
[
i
]
})
this
.
$emit
(
'wxcRadioListChecked'
,
{
value
,
title
,
oldIndex
,
index
:
i
,
item
:
this
.
list
[
i
]
});
}
}
}
}
;
</
script
>
src/components/pica-radio/item.vue
浏览文件 @
7d3c9951
...
...
@@ -3,17 +3,26 @@
<
template
>
<div>
<div
:has-bottom-border=
"false"
class=
"radio-all"
@
click=
"wxcCellClicked"
:accessible=
"true"
:aria-label=
"`$
{title},状态为${checked?'已选中':'未选中'},${disabled?'不可更改':''}`">
<img
:src=
"radioIcon"
slot=
"label"
class=
"radio"
/>
<div
:style=
"
{color:color}"
class="title-text"
slot="title">
{{
title
}}
</div>
<div
:has-bottom-border=
"false"
class=
"radio-all"
:accessible=
"true"
:aria-label=
"`$
{title},状态为${checked?'已选中':'未选中'},${disabled?'不可更改':''}`"
@click="wxcCellClicked"
>
<img
slot=
"label"
:src=
"radioIcon"
class=
"radio"
>
<div
slot=
"title"
:style=
"
{color:color}"
class="title-text"
>
{{
title
}}
</div>
</div>
</div>
</
template
>
...
...
@@ -38,7 +47,7 @@
</
style
>
<
script
>
import
WxcCell
from
'./cell.vue'
import
WxcCell
from
'./cell.vue'
;
const
CHECKED
=
'https://pica-pro.oss-cn-shanghai.aliyuncs.com/eagle_plan/radio_checked.png'
;
const
UNCHECKED
=
'https://pica-pro.oss-cn-shanghai.aliyuncs.com/eagle_plan/radio_unchecked.png'
;
...
...
@@ -80,7 +89,7 @@
const
mergeIcon
=
icon
;
config
.
checkedIcon
&&
(
mergeIcon
[
0
]
=
config
.
checkedIcon
);
config
.
disabledIcon
&&
(
mergeIcon
[
1
]
=
config
.
disabledIcon
);
return
checked
?
CHECKED
:
UNCHECKED
;
return
checked
?
CHECKED
:
UNCHECKED
;
},
backgroundColor
()
{
const
{
disabled
}
=
this
;
...
...
@@ -97,9 +106,9 @@
wxcCellClicked
()
{
const
{
disabled
,
value
}
=
this
;
if
(
!
disabled
)
{
this
.
$emit
(
'wxcRadioItemChecked'
,
{
value
,
disabled
})
this
.
$emit
(
'wxcRadioItemChecked'
,
{
value
,
disabled
})
;
}
}
}
}
}
;
</
script
>
src/components/stroke/aboutCourse.vue
浏览文件 @
7d3c9951
...
...
@@ -18,7 +18,7 @@
<img
class=
"see_more_img"
src=
"https://pica-pro.oss-cn-shanghai.aliyuncs.com/eagle_plan/arrow_right_gray%403x.png"
/
>
>
</div>
</div>
<div
...
...
@@ -42,7 +42,7 @@
<img
class=
"course_img"
:src=
"value.app_course_url"
/
>
>
<div
class=
"course_info"
>
{{
messages
(
value
.
course_name
,
18
)
}}
</div>
...
...
@@ -51,7 +51,7 @@
<img
class=
"play_img"
src=
"https://pica-pro.oss-cn-shanghai.aliyuncs.com/eagle_plan/play_gray%403x.png"
/
>
>
<div
class=
"play_count"
>
{{
value
.
join_num
}}
</div>
...
...
@@ -70,7 +70,7 @@
<
script
>
// text collapse
//const configurationModule = weex.requireModule('configurationModule');
//
const configurationModule = weex.requireModule('configurationModule');
export
default
{
components
:
{},
...
...
@@ -105,37 +105,37 @@
enterCourse
(
obj
)
{
this
.
intoCourse
(
obj
);
},
intoCourseMore
(
obj
){
let
appModuleModel
=
[
{
intoCourseMore
(
obj
)
{
const
appModuleModel
=
[
{
'key'
:
'className'
,
'value'
:
'value=com.picahealth.yunque.activitys.famousteacherschool.AllDiseaseActivity###MicroProfessionTableController'
},
{
key
:
'pointsId'
,
value
:
obj
.
points_id
}
];
this
.
$rocNative
.
dispatchEventByModuleCode
({
modeCode
:
'M200'
,
jsonString
:
appModuleModel
,
});
},
{
key
:
'pointsId'
,
value
:
obj
.
points_id
}
];
this
.
$rocNative
.
dispatchEventByModuleCode
({
modeCode
:
'M200'
,
jsonString
:
appModuleModel
,
});
},
intoCourse
(
obj
){
let
appModuleModel
=
[
{
intoCourse
(
obj
)
{
const
appModuleModel
=
[
{
'key'
:
'className'
,
'value'
:
'value=com.picahealth.yunque.activitys.courseplaynew.CourseIntroduceActivity###WeexCourseIntroViewController'
},
{
key
:
'courseId'
,
value
:
obj
.
course_id
}
];
this
.
$rocNative
.
dispatchEventByModuleCode
({
modeCode
:
'M200'
,
jsonString
:
appModuleModel
,
});
},
{
key
:
'courseId'
,
value
:
obj
.
course_id
}
];
this
.
$rocNative
.
dispatchEventByModuleCode
({
modeCode
:
'M200'
,
jsonString
:
appModuleModel
,
});
}
},
...
...
src/components/stroke/componentMain.vue
浏览文件 @
7d3c9951
...
...
@@ -33,7 +33,7 @@
import
textCollapse
from
'./textCollapse'
;
import
projectContent
from
'./projectContent'
;
import
aboutCourse
from
'./aboutCourse'
;
//const globalEvent = weex.requireModule('globalEvent');
//
const globalEvent = weex.requireModule('globalEvent');
export
default
{
components
:
{
headerSlider
,
...
...
src/components/stroke/examCodeInput.vue
浏览文件 @
7d3c9951
...
...
@@ -34,7 +34,9 @@
:maxlength=
"number"
autofocus=
"true"
autocorrect=
"off"
autocomplete=
"off"
autocapitalize=
"off"
@
keyup=
"handleInput($event)"
autocomplete=
"off"
autocapitalize=
"off"
@
keyup=
"handleInput($event)"
>
<label
for=
"code"
>
<div
class=
"code-input-wrap"
>
...
...
src/components/stroke/examHistory.vue
浏览文件 @
7d3c9951
...
...
@@ -18,7 +18,7 @@
<img
class=
"history_title_img"
src=
"https://pica-pro.oss-cn-shanghai.aliyuncs.com/eagle_plan/arrow_right_gray%403x.png"
/
>
>
</div>
</div>
<div
...
...
@@ -34,12 +34,12 @@
v-if=
"value.passFlag == 5"
class=
"history_item_radio"
src=
"https://pica-pro.oss-cn-shanghai.aliyuncs.com/eagle_plan/eee%403x.png"
/
>
>
<img
v-if=
"value.passFlag != 5"
class=
"history_item_radio"
src=
"https://pica-pro.oss-cn-shanghai.aliyuncs.com/eagle_plan/ee%403x.png"
/
>
>
<div
v-if=
"key+1
<historyList
.
length
"
class=
"history_item_radio_bottom"
...
...
@@ -82,7 +82,7 @@
v-if=
"value.wrongNo > 0"
class=
"history_item_right_img"
src=
"https://pica-pro.oss-cn-shanghai.aliyuncs.com/eagle_plan/arrow_right_gray%403x.png"
/
>
>
</div>
</div>
</div>
...
...
src/components/stroke/examInfo.vue
浏览文件 @
7d3c9951
...
...
@@ -5,17 +5,17 @@
v-if=
"type == 0"
class=
"result_image"
src=
"https://pica-pro.oss-cn-shanghai.aliyuncs.com/eagle_plan/yh%403x.png"
/
>
>
<img
v-if=
"type == 1"
class=
"result_image"
src=
"https://pica-pro.oss-cn-shanghai.aliyuncs.com/eagle_plan/tg%403x.png"
/
>
>
<img
v-if=
"type == 2"
class=
"result_image"
src=
"https://pica-pro.oss-cn-shanghai.aliyuncs.com/eagle_plan/ks%403x.png"
/
>
>
<div
class=
"exam_name"
>
<div
v-if=
"type == 2"
...
...
@@ -66,7 +66,7 @@
<img
class=
"exam_time_img"
src=
"https://pica-pro.oss-cn-shanghai.aliyuncs.com/eagle_plan/arrow_right_black%403x.png"
/
>
>
</div>
</div>
<div
...
...
@@ -113,11 +113,11 @@
<
script
>
// text collapse
//const modal = weex.requireModule('modal');
//
const modal = weex.requireModule('modal');
// import {click_start_test, click_test_completed, click_retest, click_mid_wrong_collection} from '../../util/buryingPoint';
//import WxcDialog from '../../components/wxc-dialog';
//
import WxcDialog from '../../components/wxc-dialog';
export
default
{
//components: {WxcDialog},
//
components: {WxcDialog},
props
:[
'type'
,
'exam'
,
'startNum'
,
'endNum'
,
'examType'
,
'options'
,
'hasWrong'
],
data
()
{
return
{
...
...
@@ -163,13 +163,13 @@
const
endDate
=
new
Date
(
this
.
options
.
endDate
);
const
date
=
new
Date
();
if
(
date
>
endDate
)
{
this
.
showExamFinishedTip
=
true
;
this
.
$dialog
.
alert
({
title
:
''
,
message
:
"考试已结束"
,
confirmButtonText
:
"我知道了"
})
return
;
this
.
showExamFinishedTip
=
true
;
this
.
$dialog
.
alert
({
title
:
''
,
message
:
'考试已结束'
,
confirmButtonText
:
'我知道了'
});
return
;
}
}
// this.appBuryingPointEntrust({
...
...
@@ -178,12 +178,12 @@
// });
const
query
=
{
examId
:
obj
.
examId
,
// examType: this.options.examType,
examType
:
this
.
$route
.
query
.
examType
,
endDate
:
this
.
$route
.
query
.
endDate
};
if
(
this
.
startNum
>
0
)
{
Vue
.
set
(
query
,
'startNum'
,
this
.
startNum
);
query
.
startNum
=
this
.
startNum
;
// Vue.set(query, 'startNum', this.startNum);
}
this
.
$router
.
push
({
path
:
'/exam'
,
...
...
@@ -198,7 +198,7 @@
this
.
$router
.
push
({
path
:
'/stoke'
});
//weex.requireModule('CourseModule').goBack(2);
//
weex.requireModule('CourseModule').goBack(2);
}
else
{
this
.
$router
.
push
({
path
:
'/'
...
...
@@ -206,16 +206,12 @@
}
}
},
goExamStart
(
obj
)
{
// 我要重考
goExamStart
()
{
// 我要重考
if
(
!
this
.
endNum
)
{
this
.
$toast
(
'您尚未完成相关培训课程的学习'
)
this
.
$toast
(
'您尚未完成相关培训课程的学习'
)
;
}
else
{
this
.
$emit
(
'reExamStart'
);
}
// this.appBuryingPointEntrust({
// ...click_retest,
// createdTime: new Date().getTime()
// });
},
},
...
...
src/components/stroke/headerSlider.vue
浏览文件 @
7d3c9951
...
...
@@ -17,7 +17,7 @@
v-lazy=
"img.image_url"
class=
"image"
resize=
"stretch"
/
>
>
</van-swipe-item>
</van-swipe>
</div>
...
...
src/components/stroke/livesExamHistory.vue
浏览文件 @
7d3c9951
...
...
@@ -18,7 +18,7 @@
<img
class=
"history_title_img"
src=
"https://pica-pro.oss-cn-shanghai.aliyuncs.com/eagle_plan/arrow_right_gray%403x.png"
/
>
>
</div>
</div>
...
...
@@ -46,7 +46,7 @@
<img
class=
"item3_right_arrow"
src=
"https://pica-pro.oss-cn-shanghai.aliyuncs.com/eagle_plan/arrow_right_black%403x.png"
/
>
>
</div>
<div
v-if=
"value.restTimes > 0 || value.restTimes == -1"
...
...
@@ -65,7 +65,7 @@
<img
class=
"empty-img"
src=
"https://pica-pro.oss-cn-shanghai.aliyuncs.com/eagle_plan/wu%402x.png"
/
>
>
<div
class=
"empty-text"
>
暂无现场考试记录
</div>
...
...
src/components/stroke/localExamHistory.vue
浏览文件 @
7d3c9951
...
...
@@ -18,7 +18,7 @@
<img
class=
"history_title_img"
src=
"https://pica-pro.oss-cn-shanghai.aliyuncs.com/eagle_plan/arrow_right_gray%403x.png"
/
>
>
</div>
</div>
...
...
@@ -46,7 +46,7 @@
<img
class=
"item3_right_arrow"
src=
"https://pica-pro.oss-cn-shanghai.aliyuncs.com/eagle_plan/arrow_right_black%403x.png"
/
>
>
</div>
<div
v-if=
"value.restTimes > 0 || value.restTimes == -1"
...
...
@@ -65,7 +65,7 @@
<img
class=
"empty-img"
src=
"https://pica-pro.oss-cn-shanghai.aliyuncs.com/eagle_plan/wu%402x.png"
/
>
>
<div
class=
"empty-text"
>
暂无现场考试记录
</div>
...
...
src/components/stroke/picaHeader.vue
浏览文件 @
7d3c9951
...
...
@@ -13,18 +13,19 @@
src=
"http://pica-pro.oss-cn-shanghai.aliyuncs.com/md_resources/back_gray.png"
style=
"width: 25px; height: 25px;"
@
click=
"goBack"
/
>
>
<div
v-if=
"!showHeader"
style=
"width:25px;height: 25px;"
>
>
</div>
<img
v-if=
"type == 2"
src=
"https://pica-pro.oss-cn-shanghai.aliyuncs.com/eagle_plan/close%403x.png"
style=
"width: 35px; height: 35px;"
@
click=
"goBack"
/
>
>
<div
class=
"title"
>
{{
title
}}
</div>
...
...
src/components/stroke/projectContent.vue
浏览文件 @
7d3c9951
此差异已折叠。
点击以展开。
src/components/stroke/textCollapse.vue
浏览文件 @
7d3c9951
...
...
@@ -3,11 +3,19 @@
<div
ref=
"textRef"
>
<div
class=
"ele-content"
:class=
"
{'ele-contentOther':status}">
<div
class=
"ele-content"
:class=
"
{'ele-contentOther':status}"
>
<span>
简介:
</span>
{{
message
}}
</div>
<div
@
click=
"seeMore"
class=
"ele-content-btn"
>
{{
status
?
'显示全部'
:
'收起'
}}
</div>
</div>
<div
class=
"ele-content-btn"
@
click=
"seeMore"
>
{{
status
?
'显示全部'
:
'收起'
}}
</div>
</div>
<div
class=
"see_more"
...
...
@@ -21,9 +29,6 @@
</
template
>
<
script
>
// text collapse
// const dom = weex.requireModule('dom');
export
default
{
components
:
{},
props
:[
'infoMsg'
],
...
...
@@ -35,31 +40,19 @@
},
computed
:
{
message
:
function
()
{
return
this
.
infoMsg
.
textModuleList
[
0
].
content
return
this
.
infoMsg
.
textModuleList
[
0
].
content
;
}
},
created
()
{
},
mounted
()
{
this
.
init
();
},
methods
:
{
getShortBrief
(
str
)
{
},
init
()
{
console
.
log
(
this
.
infoMsg
.
textModuleList
[
0
])
},
seeMore
()
{
this
.
status
=
!
this
.
status
;
this
.
status
=
!
this
.
status
;
}
},
};
</
script
>
<
style
scoped
>
.message-backups
{
position
:
fixed
;
...
...
src/plugins/vue-vant.js
浏览文件 @
7d3c9951
...
...
@@ -35,7 +35,8 @@ import {
Sticky
,
Collapse
,
CollapseItem
,
CountDown
CountDown
,
PullRefresh
}
from
'vant'
;
Vue
.
use
(
List
)
...
...
@@ -73,4 +74,5 @@ Vue.use(List)
.
use
(
Sticky
)
.
use
(
Collapse
)
.
use
(
CollapseItem
)
.
use
(
CountDown
);
.
use
(
CountDown
)
.
use
(
PullRefresh
);
src/router/index.js
浏览文件 @
7d3c9951
...
...
@@ -20,22 +20,22 @@ const routerConfig = [
},
{
path
:
'/exam-result'
,
name
:
'exam
-r
esult'
,
name
:
'exam
R
esult'
,
component
:
()
=>
import
(
'@/views/examResult/index.vue'
)
},
{
path
:
'/exam-wrong'
,
name
:
'exam
-w
rong'
,
name
:
'exam
W
rong'
,
component
:
()
=>
import
(
'@/views/exam/exam_wrong.vue'
)
},
{
{
path
:
'/exam-history'
,
name
:
'exam
-h
istory'
,
name
:
'exam
H
istory'
,
component
:
()
=>
import
(
'@/views/exam/exam_history.vue'
)
},
{
path
:
'/local-exam-history'
,
name
:
'local
-exam-h
istory'
,
name
:
'local
ExamH
istory'
,
component
:
()
=>
import
(
'@/views/exam/local_exam_history'
)
},
{
...
...
src/views/Home.vue
浏览文件 @
7d3c9951
...
...
@@ -38,28 +38,28 @@
import
{
listRelatives
,
list
}
from
'@/api/home'
;
export
default
{
name
:
'Home'
,
data
()
{
return
{
token
:
'F65FDAEE03F34EA78490050B8A83BF95'
};
},
computed
:
{
count
()
{
return
this
.
$store
.
state
.
home
.
count
;
}
},
data
(){
return
{
token
:
"F65FDAEE03F34EA78490050B8A83BF95"
}
},
mounted
()
{
getCoopTop
({
id
:
4
,
token
:
this
.
token
}).
then
((
res
)
=>
{
console
.
log
(
res
);
if
(
res
&&
res
.
data
)
{
this
.
infoLists
=
res
.
data
.
texts
;
// 简介(文案)组件
this
.
sliderLists
=
res
.
data
.
carousels
;
// 轮播图组件
this
.
projectName
=
res
.
data
.
projectName
;
// 项目名称
this
.
projectName
=
this
.
getLength
(
this
.
projectName
,
8
);
}
else
{
this
.
$toast
(
res
.
message
);
}
});
getCoopTop
({
id
:
4
,
token
:
this
.
token
}).
then
((
res
)
=>
{
console
.
log
(
res
);
if
(
res
&&
res
.
data
)
{
this
.
infoLists
=
res
.
data
.
texts
;
// 简介(文案)组件
this
.
sliderLists
=
res
.
data
.
carousels
;
// 轮播图组件
this
.
projectName
=
res
.
data
.
projectName
;
// 项目名称
this
.
projectName
=
this
.
getLength
(
this
.
projectName
,
8
);
}
else
{
this
.
$toast
(
res
.
message
);
}
});
console
.
log
(
this
.
$route
.
meta
);
// {requiresAuth: true}
},
methods
:
{
...
...
src/views/exam/exam_history.vue
浏览文件 @
7d3c9951
<
template
>
<scroller
show-scrollbar=
"false"
class=
"back-fff"
>
<div
class=
"contenter"
>
<exam-history
:showHeaderH=
"showHeaderH"
:historyList=
"historyList"
:examId=
"id"
:examType=
"examType"
></exam-history>
<pica-header
title=
"考试记录"
@
goBack=
"goBack"
showHeader=
"true"
></pica-header>
<div
class=
"history-nomore"
v-if=
"historyList.length > 0"
>
<div
class=
"nomore-text"
>
没有更多记录了
</div>
</div>
<
template
>
<scroller
show-scrollbar=
"false"
class=
"back-fff"
>
<div
class=
"contenter"
>
<exam-history
:show-header-h=
"showHeaderH"
:history-list=
"historyList"
:exam-id=
"id"
:exam-type=
"examType"
/>
<pica-header
title=
"考试记录"
show-header=
"true"
@
goBack=
"goBack"
/>
<div
v-if=
"historyList.length > 0"
class=
"history-nomore"
>
<div
class=
"nomore-text"
>
没有更多记录了
</div>
</scroller>
</div>
</div>
</scroller>
</
template
>
<
style
scoped
>
...
...
@@ -22,43 +38,43 @@
</
style
>
<
script
>
import
storejs
from
'storejs'
;
import
picaHeader
from
'@/components/stroke/picaHeader'
import
examHistory
from
'@/components/stroke/examHistory'
import
{
getCoopExamResultNews
,
getCoopResultNewsLocal
}
from
'@/api/exam.js'
;
export
default
{
data
:
()
=>
({
id
:
''
,
isPassExam
:
false
,
showHeaderH
:
false
,
historyList
:[],
examType
:
''
,
token
:
""
}),
computed
:
{
},
components
:{
picaHeader
,
examHistory
},
created
()
{
// this.historyList = this.$route.query.historyList
this
.
id
=
this
.
$route
.
query
.
examId
;
this
.
token
=
storejs
.
get
(
'token'
);
this
.
init
()
},
methods
:
{
init
(){
let
funCoop
=
getCoopExamResultNews
if
(
this
.
$route
.
query
.
examType
==
'local'
){
funCoop
=
getCoopResultNewsLocal
}
funCoop
({
examId
:
this
.
id
,
token
:
this
.
token
}).
catch
(
res
=>
{
this
.
historyList
=
res
.
data
.
examRecordList
this
.
historyList
.
map
(
res
=>
{
res
.
createdTime
=
res
.
createdTime
.
substring
(
0
,
10
)
})
})
import
storejs
from
'storejs'
;
import
picaHeader
from
'@/components/stroke/picaHeader'
;
import
examHistory
from
'@/components/stroke/examHistory'
;
import
{
getCoopExamResultNews
,
getCoopResultNewsLocal
}
from
'@/api/exam.js'
;
export
default
{
components
:{
picaHeader
,
examHistory
},
data
:
()
=>
({
id
:
''
,
isPassExam
:
false
,
showHeaderH
:
false
,
historyList
:[],
examType
:
''
,
token
:
''
}),
computed
:
{
},
created
()
{
// this.historyList = this.$route.query.historyList
this
.
id
=
this
.
$route
.
query
.
examId
;
this
.
token
=
storejs
.
get
(
'token'
);
this
.
init
();
},
methods
:
{
init
()
{
let
funCoop
=
getCoopExamResultNews
;
if
(
this
.
$route
.
query
.
examType
==
'local'
)
{
funCoop
=
getCoopResultNewsLocal
;
}
}
}
funCoop
({
examId
:
this
.
id
,
token
:
this
.
token
}).
catch
(
res
=>
{
this
.
historyList
=
res
.
data
.
examRecordList
;
this
.
historyList
.
map
(
res
=>
{
res
.
createdTime
=
res
.
createdTime
.
substring
(
0
,
10
);
});
});
}
}
};
</
script
>
<
style
scoped
>
.history-nomore
{
...
...
src/views/exam/exam_wrong.vue
浏览文件 @
7d3c9951
<
template
>
<list>
<cell>
<div
class=
"head-fixed"
>
<div
class=
"head-bg"
:style=
"
{backgroundColor: headBg, height: '5px'}">
</div>
<div
class=
"head wrap"
>
<img
@
click=
"back"
src=
"http://pica-pro.oss-cn-shanghai.aliyuncs.com/md_resources/back_gray.png"
style=
"width: 25px; height: 25px;"
/>
<text
class=
"title"
>
错题集
</text>
<text
class=
"empty"
></text>
</div>
</div>
<div
class=
"img-wrap"
>
<img
src=
"https://pica-pro.oss-cn-shanghai.aliyuncs.com/eagle_plan/icon_report_grey.png"
style=
"width: 53px; height: 65px;"
/>
</div>
<div
class=
"result-wrap"
>
<div
style=
"font-size: 16px;"
>
正确题目数 :
{{
rightNum
}}
题
</div>
<div
style=
"padding-left: 15px;font-size: 16px;"
>
错误题目数 :
</div>
<div
style=
"color: #d84a38;font-size: 16px;"
>
{{
wrongNum
}}
题
</div>
</div>
<div
style=
"padding: 0 15px"
>
<div
class=
"separator"
></div>
</div>
<div
class=
"info"
>
<div
style=
"font-size: 20px; padding-bottom: 20px; padding-top: 10px;"
>
试题分析
</div>
<div
class=
"detail"
v-for=
"(wrong,index) in wrongList"
:key=
"index"
>
<div
class=
"question-index"
>
第
{{
wrong
.
seqNo
}}
题:
</div>
<div
class=
"question-title"
>
{{
wrong
.
question
}}
</div>
<div
class=
"answer"
style=
"color: #d84a38;"
>
您的答案:
{{
wrong
.
answer
}}
</div>
<div
class=
"answer"
style=
"color: #35CBCA;"
>
正确答案:
{{
wrong
.
correctAnswer
}}
</div>
</div>
</div>
<!--
<wxc-loading
:show=
"showLoading"
></wxc-loading>
-->
</cell>
</list>
<list>
<cell>
<div
class=
"head-fixed"
>
<div
class=
"head-bg"
:style=
"
{backgroundColor: headBg, height: '5px'}"
/>
<div
class=
"head wrap"
>
<img
src=
"http://pica-pro.oss-cn-shanghai.aliyuncs.com/md_resources/back_gray.png"
style=
"width: 25px; height: 25px;"
@
click=
"back"
>
<text
class=
"title"
>
错题集
</text>
<text
class=
"empty"
/>
</div>
</div>
<div
class=
"img-wrap"
>
<img
src=
"https://pica-pro.oss-cn-shanghai.aliyuncs.com/eagle_plan/icon_report_grey.png"
style=
"width: 53px; height: 65px;"
>
</div>
<div
class=
"result-wrap"
>
<div
style=
"font-size: 16px;"
>
正确题目数 :
{{
rightNum
}}
题
</div>
<div
style=
"padding-left: 15px;font-size: 16px;"
>
错误题目数 :
</div>
<div
style=
"color: #d84a38;font-size: 16px;"
>
{{
wrongNum
}}
题
</div>
</div>
<div
style=
"padding: 0 15px"
>
<div
class=
"separator"
/>
</div>
<div
class=
"info"
>
<div
style=
"font-size: 20px; padding-bottom: 20px; padding-top: 10px;"
>
试题分析
</div>
<div
v-for=
"(wrong,index) in wrongList"
:key=
"index"
class=
"detail"
>
<div
class=
"question-index"
>
第
{{
wrong
.
seqNo
}}
题:
</div>
<div
class=
"question-title"
>
{{
wrong
.
question
}}
</div>
<div
class=
"answer"
style=
"color: #d84a38;"
>
您的答案:
{{
wrong
.
answer
}}
</div>
<div
class=
"answer"
style=
"color: #35CBCA;"
>
正确答案:
{{
wrong
.
correctAnswer
}}
</div>
</div>
</div>
<!--
<wxc-loading
:show=
"showLoading"
></wxc-loading>
-->
</cell>
</list>
</
template
>
<
style
scoped
>
...
...
@@ -114,47 +152,47 @@
<
script
>
// import { WxcLoading } from 'weex-ui'
// import WxcLoading from '../../components/wxc-loading'
//let modal = weex.requireModule('modal')
//import WxcLoading from '../../components/wxc-loading'
//
let modal = weex.requireModule('modal')
//
import WxcLoading from '../../components/wxc-loading'
import
{
getCoopExamWrongRecords
}
from
'@/api/exam.js'
;
export
default
{
//
components: { WxcLoading },
data
:
()
=>
({
showLoading
:
false
,
wrongList
:
[],
rightNum
:
''
,
wrongNum
:
''
,
headBg
:
'#ffffff'
,
headHeight
:
0
,
token
:
""
}),
computed
:
{
export
default
{
//
components: { WxcLoading },
data
:
()
=>
({
showLoading
:
false
,
wrongList
:
[],
rightNum
:
''
,
wrongNum
:
''
,
headBg
:
'#ffffff'
,
headHeight
:
0
,
token
:
''
}),
computed
:
{
},
created
()
{
this
.
token
=
this
.
$storejs
.
get
(
'token'
);
this
.
init
();
},
methods
:
{
init
()
{
this
.
showLoading
=
true
;
le
t
para
=
{
answerResultId
:
this
.
$route
.
query
.
answerResultId
,
type
:
5
,
created
()
{
this
.
token
=
this
.
$storejs
.
get
(
'token'
);
this
.
init
();
},
methods
:
{
init
()
{
this
.
showLoading
=
true
;
cons
t
para
=
{
answerResultId
:
this
.
$route
.
query
.
answerResultId
,
type
:
5
,
token
:
this
.
token
};
getCoopExamWrongRecords
(
para
).
catch
(
res
=>
{
this
.
showLoading
=
false
le
t
data
=
res
.
data
;
if
(
data
.
respCode
==
200
)
{
this
.
wrongList
=
data
.
wrongList
this
.
rightNum
=
data
.
correctNo
this
.
wrongNum
=
data
.
wrongNo
}
else
{
this
.
$toast
(
data
.
respMsg
);
}
})
// this.GET('app/projectExam/wrongs', para, res => {
// this.showLoading = false
getCoopExamWrongRecords
(
para
).
catch
(
res
=>
{
this
.
showLoading
=
false
;
cons
t
data
=
res
.
data
;
if
(
data
.
respCode
==
200
)
{
this
.
wrongList
=
data
.
wrongList
;
this
.
rightNum
=
data
.
correctNo
;
this
.
wrongNum
=
data
.
wrongNo
;
}
else
{
this
.
$toast
(
data
.
respMsg
);
}
})
;
// this.GET('app/projectExam/wrongs', para, res => {
// this.showLoading = false
// let data = res.data;
// if(data.respCode == 200) {
// this.wrongList = data.wrongList
...
...
@@ -163,11 +201,11 @@
// } else {
// this.$toast(data.respMsg);
// }
// })
},
back
()
{
this
.
$router
.
go
(
-
1
)
}
}
}
// })
},
back
()
{
this
.
$router
.
go
(
-
1
);
}
}
};
</
script
>
\ No newline at end of file
src/views/exam/index.vue
浏览文件 @
7d3c9951
此差异已折叠。
点击以展开。
src/views/exam/local_exam_history.vue
浏览文件 @
7d3c9951
<
template
>
<div
class=
"contenter"
>
<lives-exam-history
:showHeaderH=
"false"
:localHistoryList=
"historyList"
@
goExamStart=
"goExamStart"
@
watchResult=
"watchResult"
></lives-exam-history>
<div
class=
"history-nomore"
v-if=
"historyList.length > 0"
>
<div
class=
"nomore-text"
>
没有更多记录了
</div>
<div
class=
"contenter"
>
<lives-exam-history
:show-header-h=
"false"
:local-history-list=
"historyList"
@
goExamStart=
"goExamStart"
@
watchResult=
"watchResult"
/>
<div
v-if=
"historyList.length > 0"
class=
"history-nomore"
>
<div
class=
"nomore-text"
>
没有更多记录了
</div>
<pica-header
title=
"考试记录"
@
goBack=
"goBack"
showHeader=
"true"
></pica-header>
</div>
<pica-header
title=
"考试记录"
show-header=
"true"
@
goBack=
"goBack"
/>
</div>
</
template
>
<
style
scoped
>
...
...
@@ -19,83 +33,76 @@
</
style
>
<
script
>
import
picaHeader
from
'@/components/stroke/picaHeader'
import
livesExamHistory
from
"@/components/stroke/livesExamHistory"
;
import
picaHeader
from
'@/components/stroke/picaHeader'
;
import
livesExamHistory
from
'@/components/stroke/livesExamHistory'
;
import
{
getCoopLiveExam
}
from
'@/api/storke.js'
;
export
default
{
data
:
()
=>
({
id
:
''
,
isPassExam
:
false
,
showHeaderH
:
false
,
historyList
:[],
export
default
{
components
:{
livesExamHistory
,
picaHeader
},
data
:
()
=>
({
id
:
''
,
isPassExam
:
false
,
showHeaderH
:
false
,
historyList
:[],
livesList
:{
examId
:
''
,
examResultId
:
''
,
endDate
:
''
examId
:
''
,
examResultId
:
''
,
endDate
:
''
},
token
:
""
}),
computed
:
{
},
components
:{
livesExamHistory
,
picaHeader
},
created
()
{
this
.
token
=
this
.
$storejs
.
get
(
'token'
);
this
.
id
=
this
.
$route
.
query
.
projectId
this
.
init
()
},
methods
:
{
init
(){
/*this.GET('app/exam/lives/results',{examId:id,pageNo:1,pageSize:15},res=>{
console.log("所有现场考试记录",res)
this.historyList = res.data.examRecordList
this.historyList.map(res=>{
// res.createdTime = res.createdTime.substring(0,10)
})
})*/
let
_self
=
this
getCoopLiveExam
({
id
:
id
,
token
:
this
.
token
}).
catch
(
res
=>
{
if
(
res
&&
res
.
data
){
if
(
res
.
data
.
pLiveExamList
&&
res
.
data
.
pLiveExamList
.
length
){
_self
.
historyList
=
res
.
data
.
pLiveExamList
_self
.
historyList
=
_self
.
historyList
.
concat
([])
}
else
{
_self
.
historyList
=
[]
}
}
else
{
this
.
$toast
(
'网络异常,请稍后再试'
);
}
});
},
//重考
goExamStart
(
obj
){
this
.
$router
.
push
({
path
:
'/exam-result'
,
query
:{
examId
:
obj
.
id
,
origin
:
'start'
,
examType
:
'local'
,
endDate
:
obj
.
endDate
,
answerResultId
:
obj
.
examResultId
}
})
},
//查看
watchResult
(
obj
){
this
.
$router
.
push
({
path
:
'/exam-result'
,
query
:{
examId
:
obj
.
id
,
origin
:
''
,
examType
:
'local'
,
endDate
:
obj
.
endDate
,
answerResultId
:
obj
.
examResultId
}
})
token
:
''
}),
computed
:
{
},
created
()
{
this
.
token
=
this
.
$storejs
.
get
(
'token'
);
this
.
id
=
this
.
$route
.
query
.
projectId
;
this
.
init
();
},
methods
:
{
init
()
{
const
_self
=
this
;
getCoopLiveExam
({
id
:
this
.
id
,
token
:
this
.
token
}).
catch
(
res
=>
{
if
(
res
&&
res
.
data
)
{
if
(
res
.
data
.
pLiveExamList
&&
res
.
data
.
pLiveExamList
.
length
)
{
_self
.
historyList
=
res
.
data
.
pLiveExamList
;
_self
.
historyList
=
_self
.
historyList
.
concat
([]);
}
else
{
_self
.
historyList
=
[];
}
}
}
}
else
{
this
.
$toast
(
'网络异常,请稍后再试'
);
}
});
},
// 重考
goExamStart
(
obj
)
{
this
.
$router
.
push
({
path
:
'/exam-result'
,
query
:{
examId
:
obj
.
id
,
origin
:
'start'
,
examType
:
'local'
,
endDate
:
obj
.
endDate
,
answerResultId
:
obj
.
examResultId
}
});
},
// 查看
watchResult
(
obj
)
{
this
.
$router
.
push
({
path
:
'/exam-result'
,
query
:{
examId
:
obj
.
id
,
origin
:
''
,
examType
:
'local'
,
endDate
:
obj
.
endDate
,
answerResultId
:
obj
.
examResultId
}
});
}
}
};
</
script
>
<
style
scoped
>
.history-nomore
{
...
...
src/views/examResult/index.vue
浏览文件 @
7d3c9951
此差异已折叠。
点击以展开。
src/views/stroke/index.js
浏览文件 @
7d3c9951
此差异已折叠。
点击以展开。
src/views/stroke/index.vue
浏览文件 @
7d3c9951
此差异已折叠。
点击以展开。
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录