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
提交
ff59bca6
提交
ff59bca6
编写于
10月 08, 2021
作者:
xiaoping.di
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
提交
上级
a66cacc4
变更
21
展开全部
隐藏空白字符变更
内嵌
并排
正在显示
21 个修改的文件
包含
613 行增加
和
3314 行删除
+613
-3314
package.json
package.json
+1
-0
exam.js
src/api/exam.js
+15
-0
item.vue
src/components/pica-radio/item.vue
+23
-22
examHistory.vue
src/components/stroke/examHistory.vue
+28
-66
examInfo.vue
src/components/stroke/examInfo.vue
+46
-33
livesExam
src/components/stroke/livesExam
+0
-633
localExamHistory.vue
src/components/stroke/localExamHistory.vue
+20
-61
picaHeader.vue
src/components/stroke/picaHeader.vue
+8
-52
projectContent-200422.vue
src/components/stroke/projectContent-200422.vue
+0
-726
projectContent.0131.vue
src/components/stroke/projectContent.0131.vue
+0
-729
projectContent.1.vue
src/components/stroke/projectContent.1.vue
+0
-727
projectContent.vue
src/components/stroke/projectContent.vue
+14
-5
index.js
src/router/index.js
+12
-2
exam_history.vue
src/views/exam/exam_history.vue
+71
-0
exam_wrong.vue
src/views/exam/exam_wrong.vue
+26
-28
index.vue
src/views/exam/index.vue
+193
-122
local_exam_history.vue
src/views/exam/local_exam_history.vue
+112
-0
index.vue
src/views/examResult/index.vue
+9
-7
index.js
src/views/stroke/index.js
+25
-98
index.vue
src/views/stroke/index.vue
+5
-3
yarn.lock
yarn.lock
+5
-0
未找到文件。
package.json
浏览文件 @
ff59bca6
...
...
@@ -27,6 +27,7 @@
"
lodash
"
:
"
^4.17.15
"
,
"
md5
"
:
"
^2.3.0
"
,
"
pre-commit
"
:
"
^1.2.2
"
,
"
storejs
"
:
"
^2.0.1
"
,
"
vant
"
:
"
^2.8.4
"
,
"
vconsole
"
:
"
^3.3.4
"
,
"
vue
"
:
"
^2.6.11
"
,
...
...
src/api/exam.js
浏览文件 @
ff59bca6
...
...
@@ -41,6 +41,13 @@ export const getCoopExamResultNews = async (param) => {
params
:
param
,
});
};
export
const
getCoopResultNewsLocal
=
async
(
param
)
=>
{
return
request
({
url
:
'app/exam/lives/results'
,
method
:
'GET'
,
params
:
param
,
});
};
// 当前用户的进行中问诊数据查询
export
const
getCoopExamWrongRecords
=
async
(
param
)
=>
{
return
request
({
...
...
@@ -55,3 +62,11 @@ export const getHotCache = async () => {
method
:
'get'
,
});
};
export
const
getAnwserExam
=
async
(
param
)
=>
{
return
request
({
url
:
'app/projectExam/apply'
,
method
:
'POST'
,
data
:
param
});
};
src/components/pica-radio/item.vue
浏览文件 @
ff59bca6
...
...
@@ -2,34 +2,38 @@
<!-- Created by Tw93 on 17/07/28. -->
<
template
>
<
!--
<van-cell
title=
"单元格"
value=
"内容"
/
>
<van-cell
title=
"单元格"
value=
"内容"
label=
"描述信息"
/>
-->
<div
:has-bottom-border=
"false
"
@
wxcCellClicked=
"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
>
<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>
</div>
</
template
>
<
style
scoped
>
.radio-all
{
display
:
flex
;
align-items
:
center
;
margin-top
:
10px
;
}
.radio
{
width
:
36px
;
height
:
36px
;
margin-right
:
20px
;
margin-top
:
5px
;
width
:
18px
;
height
:
18px
;
margin-right
:
10px
;
}
.title-text
{
font-size
:
32
px
;
font-size
:
18
px
;
color
:
rgb
(
102
,
102
,
102
);
overflow
:
visible
;
line-height
:
45
px
;
line-height
:
23
px
;
}
</
style
>
...
...
@@ -72,11 +76,10 @@
}),
computed
:
{
radioIcon
()
{
const
{
icon
,
disabled
,
checked
,
config
}
=
this
;
const
{
icon
,
checked
,
config
}
=
this
;
const
mergeIcon
=
icon
;
config
.
checkedIcon
&&
(
mergeIcon
[
0
]
=
config
.
checkedIcon
);
config
.
disabledIcon
&&
(
mergeIcon
[
1
]
=
config
.
disabledIcon
);
// return checked ? mergeIcon[disabled ? 1 : 0] : '';
return
checked
?
CHECKED
:
UNCHECKED
;
},
backgroundColor
()
{
...
...
@@ -85,8 +88,6 @@
},
color
()
{
const
{
disabled
,
checked
,
config
}
=
this
;
// let checkedColor = '#EE9900';
// let checkedColor = '#35cbca';
let
checkedColor
=
'rgb(42, 185, 165)'
;
config
.
checkedColor
&&
(
checkedColor
=
config
.
checkedColor
);
return
checked
&&
!
disabled
?
checkedColor
:
'#3D3D3D'
;
...
...
src/components/stroke/examHistory.vue
浏览文件 @
ff59bca6
...
...
@@ -110,48 +110,10 @@
},
methods
:
{
historyMore
()
{
if
(
this
.
$route
.
name
===
'exam_start'
)
{
// this.appBuryingPointEntrust({
// ...click_all_history,
// createdTime: new Date().getTime()
// });
}
else
if
(
this
.
$route
.
name
===
'exam_result'
)
{
// this.appBuryingPointEntrust({
// ...click_all_history_result,
// createdTime: new Date().getTime()
// });
}
this
.
$emit
(
'watchHistory'
,
'options'
);
// this.$router.push({
// path:'/exam_history',
// query:{
// examId: this.examId,
// examType: this.$route.jquery.examType
// }
// })
},
goExamError
(
obj
)
{
if
(
obj
.
wrongNo
>
0
)
{
if
(
this
.
$route
.
name
===
'exam_start'
)
{
// this.appBuryingPointEntrust({
// ...click_check_wrong_collection,
// createdTime: new Date().getTime(),
// labelvalue:this.exam.name
// });
}
else
if
(
this
.
$route
.
name
===
'exam_history'
)
{
// this.appBuryingPointEntrust({
// ...click_check_wrong_collection_history,
// createdTime: new Date().getTime(),
// labelvalue:obj.name
// });
}
else
if
(
this
.
$route
.
name
===
'exam_result'
)
{
// this.appBuryingPointEntrust({
// ...click_down_wrong_collection,
// createdTime: new Date().getTime(),
// labelvalue:this.exam.name
// });
}
if
(
obj
.
wrongNo
>
0
)
{
this
.
$router
.
push
({
path
:
'/exam-wrong'
,
query
:
{
...
...
@@ -172,48 +134,47 @@
justify-content
:
center
;
align-items
:
center
;
background-color
:
#ffffff
;
padding-top
:
2
0px
;
padding-top
:
1
0px
;
}
.history_title
{
flex-direction
:
row
;
padding-left
:
30px
;
padding-right
:
30px
;
padding-top
:
22px
;
padding-bottom
:
30px
;
padding
:
11px
15px
15px
15px
;
justify-content
:
space-between
;
}
.history_title_text
{
font-size
:
32
px
;
font-size
:
16
px
;
/*font-weight:600;*/
}
.history_title_right
{
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
}
.history_title_total
{
font-size
:
28
px
;
font-size
:
14
px
;
color
:
rgba
(
153
,
153
,
153
,
1
);
}
.history_title_img
{
height
:
30
px
;
width
:
30
px
;
height
:
15
px
;
width
:
15
px
;
}
.history_items
{
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
justify-content
:
space-between
;
padding-left
:
30px
;
padding-right
:
30px
;
height
:
75px
;
padding
:
0
15px
;
height
:
auto
;
}
.history_item_time
{
font-size
:
28
px
;
font-size
:
14
px
;
color
:
rgba
(
153
,
153
,
153
,
1
);
flex
:
5
;
/* flex:5; */
}
.history_item_result
{
font-size
:
28
px
;
flex
:
4
;
font-size
:
14
px
;
/* flex:4; */
}
.color-success
{
color
:
rgba
(
42
,
185
,
165
,
1
);
...
...
@@ -222,16 +183,17 @@
color
:
rgba
(
255
,
114
,
114
,
1
);
}
.history_item_info
{
font-size
:
28
px
;
font-size
:
14
px
;
color
:
rgba
(
153
,
153
,
153
,
1
);
flex
:
4
;
padding-left
:
10
px
;
padding-left
:
5
px
;
}
.flex-8
{
flex
:
8
;
}
.history_item_right
{
display
:
flex
;
flex-direction
:
row
;
flex
:
5
;
justify-content
:
center
;
...
...
@@ -240,22 +202,21 @@
line-height
:
30px
;
}
.history_item_seemore
{
font-size
:
28
px
;
font-size
:
14
px
;
color
:
rgba
(
153
,
153
,
153
,
1
);
padding-right
:
4px
;
padding-left
:
22px
;
padding-left
:
6px
;
}
.history_item_right_img
{
width
:
30
px
;
height
:
30
px
;
width
:
15
px
;
height
:
15
px
;
}
.history_item_radio
{
width
:
16
px
;
height
:
16
px
;
margin-top
:
10
px
;
width
:
8
px
;
height
:
8
px
;
margin-top
:
5
px
;
}
.history_item_radio_bottom
{
margin-top
:
8
px
;
margin-top
:
5
px
;
width
:
2px
;
height
:
45px
;
background-color
:
rgba
(
222
,
222
,
222
,
1
)
...
...
@@ -264,5 +225,6 @@
align-items
:
center
;
justify-content
:
space-between
;
flex
:
2
;
margin-left
:
5px
;
}
</
style
>
src/components/stroke/examInfo.vue
浏览文件 @
ff59bca6
...
...
@@ -146,9 +146,8 @@
// ...click_mid_wrong_collection,
// createdTime: new Date().getTime()
// });
this
.
$router
.
push
({
path
:
'/exam
_
wrong'
,
path
:
'/exam
-
wrong'
,
query
:
{
answerResultId
:
obj
.
answerResultId
,
examType
:
this
.
$route
.
query
.
examType
...
...
@@ -164,7 +163,7 @@
const
endDate
=
new
Date
(
this
.
options
.
endDate
);
const
date
=
new
Date
();
if
(
date
>
endDate
)
{
this
.
showExamFinishedTip
=
true
;
this
.
showExamFinishedTip
=
true
;
this
.
$dialog
.
alert
({
title
:
''
,
message
:
"考试已结束"
,
...
...
@@ -196,7 +195,10 @@
// createdTime: new Date().getTime()
// });
if
(
this
.
examType
==
'common'
)
{
weex
.
requireModule
(
'CourseModule'
).
goBack
(
2
);
this
.
$router
.
push
({
path
:
'/stoke'
});
//weex.requireModule('CourseModule').goBack(2);
}
else
{
this
.
$router
.
push
({
path
:
'/'
...
...
@@ -225,81 +227,92 @@
.container
{
justify-content
:
center
;
align-items
:
center
;
margin-bottom
:
2
0px
;
padding-bottom
:
1
0px
;
background-color
:
#ffffff
;
height
:
798px
;
width
:
750px
;
height
:
auto
;
width
:
100%
;
}
.result_content
{
justify-content
:
center
;
align-items
:
center
;
background-color
:
#ffffff
;
padding-top
:
100px
;
padding-left
:
30px
;
padding-right
:
30px
;
padding
:
25px
7px
0
7px
;
}
.result_image
{
width
:
240px
;
height
:
240px
;
width
:
120px
;
height
:
120px
;
display
:
block
;
margin
:
0
auto
;
}
.exam_name
{
margin-top
:
40px
;
margin-bottom
:
30px
;
margin-top
:
20px
;
margin-bottom
:
15px
;
margin
:
0
auto
;
}
.exam_name_text
{
font-size
:
34
px
;
font-size
:
17
px
;
color
:
rgba
(
51
,
51
,
51
,
1
);
font-weight
:
700
;
font-weight
:
600
;
text-align
:
center
;
margin-top
:
15px
;
}
.exam_time
{
flex-direction
:
row
;
}
.exam_time_text
{
font-size
:
28
px
;
font-size
:
14
px
;
color
:
rgba
(
153
,
153
,
153
,
1
);
margin-right
:
20px
;
margin-right
:
10px
;
margin-top
:
10px
;
text-align
:
center
;
}
.exam_time_status
{
flex-direction
:
row
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
margin-top
:
10px
;
}
.exam_time_wrang
{
font-size
:
28
px
;
font-size
:
14
px
;
color
:
rgba
(
51
,
51
,
51
,
1
);
}
.exam_time_img
{
width
:
28
px
;
height
:
28
px
;
width
:
16
px
;
height
:
16
px
;
}
.exam_button
{
height
:
7
6px
;
height
:
3
6px
;
background-color
:
rgba
(
88
,
181
,
168
,
1
);
justify-content
:
center
;
align-items
:
center
;
border-radius
:
44px
;
padding-left
:
65px
;
padding-right
:
65px
;
margin-top
:
40px
;
margin-bottom
:
40px
;
width
:
380px
;
border-radius
:
20px
;
padding
:
0px
30px
;
width
:
50%
;
line-height
:
36px
;
text-align
:
center
;
margin
:
0
auto
;
margin-top
:
10px
;
margin-bottom
:
10px
;
}
.exam_button_text
{
font-size
:
32
px
;
font-size
:
16
px
;
color
:
#ffffff
;
border-radius
:
44
px
;
border-radius
:
20
px
;
}
.retry
{
display
:
flex
;
justify-content
:
center
;
flex-direction
:
row
;
align-items
:
center
;
}
.retry_text
{
font-size
:
28
px
;
font-size
:
14
px
;
color
:
rgba
(
153
,
153
,
153
,
1
);
margin-right
:
10px
;
}
.go_retry
{
font-size
:
28
px
;
font-size
:
14
px
;
color
:
rgba
(
42
,
185
,
165
,
1
);
border-bottom-style
:
solid
;
border-bottom-width
:
2px
;
...
...
src/components/stroke/livesExam
已删除
100644 → 0
浏览文件 @
a66cacc4
此差异已折叠。
点击以展开。
src/components/stroke/localExamHistory.vue
浏览文件 @
ff59bca6
...
...
@@ -4,18 +4,18 @@
v-if=
"showHeaderH"
class=
"history_title"
>
<
text
class=
"history_title_text"
>
<
div
class=
"history_title_text"
>
考试记录
</
text
>
</
div
>
<div
v-if=
"historyList.length > 2"
class=
"history_title_right"
@
click=
"historyMore"
>
<
text
class=
"history_title_total"
>
<
div
class=
"history_title_total"
>
全部
</
text
>
<im
age
</
div
>
<im
g
class=
"history_title_img"
src=
"https://pica-pro.oss-cn-shanghai.aliyuncs.com/eagle_plan/arrow_right_gray%403x.png"
/>
...
...
@@ -28,22 +28,22 @@
class=
"history-item"
>
<div
class=
"his-left"
>
<
text
class=
"his-title"
>
<
div
class=
"his-title"
>
{{
value
.
name
}}
</
text
>
<
text
class=
"his-detail"
>
</
div
>
<
div
class=
"his-detail"
>
{{
value
.
passFlag
==
5
?
'通过'
:
'未通过'
}}
共
{{
value
.
correctNo
+
value
.
wrongNo
}}
题 对
{{
value
.
correctNo
}}
题 错
{{
value
.
wrongNo
}}
题
</
text
>
</
div
>
</div>
<div
v-if=
"value.restTimes
<
0
&&
value
.
restTimes
!=
-1
"
class=
"his-right"
@
click=
"goExamError(value)"
>
<
text
class=
"set_text_see"
>
<
div
class=
"set_text_see"
>
查看
</
text
>
<im
age
</
div
>
<im
g
class=
"item3_right_arrow"
src=
"https://pica-pro.oss-cn-shanghai.aliyuncs.com/eagle_plan/arrow_right_black%403x.png"
/>
...
...
@@ -53,41 +53,28 @@
class=
"his-right"
@
click=
"goExamStart"
>
<
text
class=
"re-exam"
>
<
div
class=
"re-exam"
>
重考
</
text
>
</
div
>
</div>
</div>
<!--
<div
class=
"history-item"
>
<div
class=
"his-left"
>
<text
class=
"his-title"
>
高血压中老年考试考试题,目高血压中老年考试考试题目高,血压中老年考试考试题目高血压中老年考试考试题目
</text>
<text
class=
"his-detail"
>
成绩:优秀 共30题 对18题 错12题
</text>
</div>
<div
class=
"his-right"
>
<text
class=
"re-exam"
>
重考
</text>
</div>
</div>
-->
<div
v-if=
"localHistoryList == 0"
class=
"history-empty"
>
<im
age
<im
g
class=
"empty-img"
src=
"https://pica-pro.oss-cn-shanghai.aliyuncs.com/eagle_plan/wu%402x.png"
/>
<
text
class=
"empty-text"
>
<
div
class=
"empty-text"
>
暂无现场考试记录
</
text
>
</
div
>
</div>
</div>
</
template
>
<
script
>
// text collapse
import
{
click_retest
}
from
'../../util/buryingPoint'
;
export
default
{
components
:
{},
props
:[
'localHistoryList'
,
'showHeaderH'
,
'examId'
],
...
...
@@ -97,19 +84,8 @@
},
computed
:
{
// historyListBak:function(){//备份
// return this.historyList.concat([])
// },
// historys:function(){
// var newList = this.limit?this.historyList.splice(0,this.limit):this.historyList
// return newList
// }
},
created
()
{
// this.historys = this.historyList
// this.historyListBak = this.historyList.concat([])//拷贝一份
// console.log(this.$props['historyList'])
// this.historys = this.$props.historyListBak.splice(0,3)
},
mounted
()
{
...
...
@@ -117,14 +93,14 @@
methods
:
{
historyMore
()
{
this
.
$router
.
push
({
path
:
'/exam
_
history'
,
query
:{
examId
:
this
.
examId
}
path
:
'/exam
-
history'
,
query
:{
examId
:
this
.
examId
}
});
},
// 查看
goExamError
(
obj
)
{
if
(
obj
.
wrongNo
>
0
)
{
this
.
$router
.
push
({
path
:
'/exam
_
wrong'
,
path
:
'/exam
-
wrong'
,
query
:
{
answerResultId
:
obj
.
answerResultId
}
...
...
@@ -132,13 +108,8 @@
}
},
examWrongPage
(
obj
)
{
// 查看错题
this
.
appBuryingPointEntrust
({
...
click_mid_wrong_collection
,
createdTime
:
new
Date
().
getTime
()
});
this
.
$router
.
push
({
path
:
'/exam
_
wrong'
,
path
:
'/exam
-
wrong'
,
query
:
{
answerResultId
:
obj
.
answerResultId
}
...
...
@@ -146,19 +117,7 @@
},
// 重考
goExamStart
(
obj
)
{
// 我要重考
/* if (this.endNum != undefined && this.endNum != null && this.endNum == 0){
modal.toast({
message: "您尚未完成相关培训课程的学习",
duration: 1.0
})
}else {
this.$emit("reExamStart")
}*/
this
.
$emit
(
'reExamStart'
);
this
.
appBuryingPointEntrust
({
...
click_retest
,
createdTime
:
new
Date
().
getTime
()
});
}
},
...
...
src/components/stroke/picaHeader.vue
浏览文件 @
ff59bca6
...
...
@@ -3,27 +3,26 @@
<div
class=
"head-fixed"
>
<div
class=
"head-bg"
:style=
"
{backgroundColor: headBg, height:
headHeight + 'px
'}"
:style=
"
{backgroundColor: headBg, height:
'auto
'}"
/>
<div
class=
"head wrap"
:style=
"
{paddingTop: (70 - headHeight) + 'px'}"
>
<img
v-if=
"type != 2"
src=
"http://pica-pro.oss-cn-shanghai.aliyuncs.com/md_resources/back_gray.png"
style=
"width:
50px; height: 50
px;"
style=
"width:
25px; height: 25
px;"
@
click=
"goBack"
/>
<div
v-if=
"!showHeader"
style=
"width:
50px;height: 50
px;"
style=
"width:
25px;height: 25
px;"
>
</div>
<img
v-if=
"type == 2"
src=
"https://pica-pro.oss-cn-shanghai.aliyuncs.com/eagle_plan/close%403x.png"
style=
"width:
50px; height: 50
px;"
style=
"width:
35px; height: 35
px;"
@
click=
"goBack"
/>
<div
class=
"title"
>
...
...
@@ -56,9 +55,6 @@
created
()
{
if
(
this
.
isAndroid
)
{
this
.
headBg
=
'#999999'
;
// weex.requireModule('eventModule').getStatusBarSize(res => {
// this.headHeight = parseInt(res.height) / 1.5;
// });
}
},
mounted
()
{
...
...
@@ -76,11 +72,8 @@
},
},
};
</
script
>
<
style
scoped
>
.head-fixed
{
position
:
fixed
;
...
...
@@ -98,51 +91,14 @@
border-bottom-color
:
#e7e7e7
;
}
.wrap
{
padding
:
70px
30px
20px
30
px
;
padding
:
10px
15
px
;
}
.empty
{
width
:
50
px
;
height
:
3
px
;
width
:
25
px
;
height
:
1
px
;
}
.title
{
font-size
:
38px
;
/*font-weight: 600;*/
font-size
:
19px
;
color
:
#333333
;
}
/*.result_header{*/
/*position:fixed;*/
/*top:0;*/
/*left:0;*/
/*height:140px;*/
/*width:750px;*/
/*background-color:#ffffff;*/
/*padding-left:20px;*/
/*flex-direction: row;*/
/*align-items:center;*/
/*justify-content: space-between;*/
/*border-bottom-style: solid;*/
/*border-bottom-width: 1px;*/
/*border-bottom-color: #e7e7e7;*/
/*}*/
/*.back_wrap{*/
/*flex-direction: row;*/
/*}*/
/*.back_image{*/
/*width: 50px;*/
/*height: 50px;*/
/*margin-top:35px;*/
/*}*/
/*.title{*/
/*font-size:36px;*/
/*color:rgba(51,51,51,1);*/
/*width:750px;*/
/*position:absolute;*/
/*top:0;*/
/*left:0;*/
/*height:140px;*/
/*text-align:center;*/
/*margin-top:70px;*/
/*}*/
</
style
>
src/components/stroke/projectContent-200422.vue
已删除
100644 → 0
浏览文件 @
a66cacc4
此差异已折叠。
点击以展开。
src/components/stroke/projectContent.0131.vue
已删除
100644 → 0
浏览文件 @
a66cacc4
此差异已折叠。
点击以展开。
src/components/stroke/projectContent.1.vue
已删除
100644 → 0
浏览文件 @
a66cacc4
此差异已折叠。
点击以展开。
src/components/stroke/projectContent.vue
浏览文件 @
ff59bca6
...
...
@@ -250,6 +250,7 @@
if
(
sendObj
.
user_role_list
==
"R004"
){
this
.
dataOkForExam
();
}
alert
(
123
)
//configurationModule.checkIDCardAndEducation(sendObj); 111
}
else
{
this
.
$toast
(
"网络异常,请稍后再试"
);
...
...
@@ -460,19 +461,27 @@
// modal.alert({message:'999'})
configurationModule
.
intoCourse
(
obj
);
}
else
{
// modal.alert({message:'xxxxxx'})
const
lastItem
=
this
.
examContent
.
allLists
[
index
-
1
];
if
((
lastItem
.
testNumFlag
>
0
&&
lastItem
.
answerResultModel
.
pass_flag
==
5
)
||
lastItem
.
progress
>=
0
)
{
configurationModule
.
intoCourse
(
obj
);
}
else
{
modal
.
toast
({
message
:
'请按顺序完成学习及考试'
,
duration
:
1.0
});
this
.
$toast
(
'请按顺序完成学习及考试'
)
}
}
}
},
goStudyNative
(
obj
){
this
.
appModuleModel
=
[{
}]
const
paramList
=
setEventByModuleCode
(
JSON
.
parse
(
JSON
.
stringify
(
this
.
appModuleModel
))
);
this
.
$rocNative
.
dispatchEventByModuleCode
({
modeCode
:
'M200'
,
jsonString
:
paramList
,
});
},
diaLogConfirm
(){
this
.
$dialog
.
confirm
({
...
...
src/router/index.js
浏览文件 @
ff59bca6
import
{
router
}
from
'@pica-cli/vue-cli-plugin-pica-cli-plugin/auto'
;
import
Index
from
'@/views/Home.vue'
;
//
import Index from '@/views/Home.vue';
import
{
toggleSkeletonRouter
}
from
'mn-template/plugins/toggleSkeleton.js'
;
import
handleAllRouter
from
'../public_uat'
;
const
routerConfig
=
[
{
path
:
'/'
,
name
:
'Index'
,
component
:
Index
component
:
()
=>
import
(
'@/views/stroke/index.vue'
)
},
{
path
:
'/stroke'
,
...
...
@@ -28,6 +28,16 @@ const routerConfig = [
name
:
'exam-wrong'
,
component
:
()
=>
import
(
'@/views/exam/exam_wrong.vue'
)
},
{
path
:
'/exam-history'
,
name
:
'exam-history'
,
component
:
()
=>
import
(
'@/views/exam/exam_history.vue'
)
},
{
path
:
'/local-exam-history'
,
name
:
'local-exam-history'
,
component
:
()
=>
import
(
'@/views/exam/local_exam_history'
)
},
{
path
:
'*'
,
redirect
:
process
.
env
.
VUE_APP_BASE_ROUTE
...
...
src/views/exam/exam_history.vue
0 → 100644
浏览文件 @
ff59bca6
<
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>
</div>
</scroller>
</
template
>
<
style
scoped
>
.back-fff
{
background-color
:
#ffffff
;
}
.contenter
{
padding-top
:
150px
;
background-color
:
#ffffff
;
}
</
style
>
<
script
>
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
:
''
}),
computed
:
{
},
components
:{
picaHeader
,
examHistory
},
created
()
{
// this.historyList = this.$route.query.historyList
this
.
id
=
this
.
$route
.
query
.
examId
this
.
init
()
},
methods
:
{
init
(){
let
funCoop
=
getCoopExamResultNews
if
(
this
.
$route
.
query
.
examType
==
'local'
){
funCoop
=
getCoopResultNewsLocal
}
funCoop
({
examId
:
this
.
id
}).
catch
(
res
=>
{
this
.
historyList
=
res
.
data
.
examRecordList
this
.
historyList
.
map
(
res
=>
{
res
.
createdTime
=
res
.
createdTime
.
substring
(
0
,
10
)
})
})
}
}
}
</
script
>
<
style
scoped
>
.history-nomore
{
align-items
:
center
;
margin-top
:
15px
;
padding-bottom
:
15px
;
}
.nomore-text
{
color
:
rgba
(
153
,
153
,
153
,
1
);
font-size
:
15px
;
}
</
style
>
\ No newline at end of file
src/views/exam/exam_wrong.vue
浏览文件 @
ff59bca6
...
...
@@ -2,26 +2,26 @@
<list>
<cell>
<div
class=
"head-fixed"
>
<div
class=
"head-bg"
:style=
"
{backgroundColor: headBg, height:
headHeight + '
px'}">
</div>
<div
class=
"head wrap"
:style=
"
{paddingTop: (70 - headHeight) + 'px'}"
>
<img
@
click=
"back"
src=
"http://pica-pro.oss-cn-shanghai.aliyuncs.com/md_resources/back_gray.png"
style=
"width:
50px; height: 50
px;"
/>
<div
class=
"head-bg"
:style=
"
{backgroundColor: headBg, height:
'5
px'}">
</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: 25
px;"
/>
<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:
106px; height: 130
px;"
/>
<img
src=
"https://pica-pro.oss-cn-shanghai.aliyuncs.com/eagle_plan/icon_report_grey.png"
style=
"width:
53px; height: 65
px;"
/>
</div>
<div
class=
"result-wrap"
>
<div
style=
"font-size:
32
px;"
>
正确题目数 :
{{
rightNum
}}
题
</div>
<div
style=
"padding-left:
30px;font-size: 32
px;"
>
错误题目数 :
</div>
<div
style=
"color: #d84a38;font-size:
32
px;"
>
{{
wrongNum
}}
题
</div>
<div
style=
"font-size:
16
px;"
>
正确题目数 :
{{
rightNum
}}
题
</div>
<div
style=
"padding-left:
15px;font-size: 16
px;"
>
错误题目数 :
</div>
<div
style=
"color: #d84a38;font-size:
16
px;"
>
{{
wrongNum
}}
题
</div>
</div>
<div
style=
"padding: 0
30
px"
>
<div
style=
"padding: 0
15
px"
>
<div
class=
"separator"
></div>
</div>
<div
class=
"info"
>
<div
style=
"font-size:
40px; padding-bottom: 40px; padding-top: 2
0px;"
>
试题分析
</div>
<div
style=
"font-size:
20px; padding-bottom: 20px; padding-top: 1
0px;"
>
试题分析
</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>
...
...
@@ -40,34 +40,34 @@
}
.detail
{
position
:
relative
;
/*padding-left: 30px;*/
padding-bottom
:
15px
;
}
.question-index
{
position
:
absolute
;
top
:
0px
;
left
:
2
0px
;
left
:
1
0px
;
font-weight
:
600
;
font-size
:
32
px
;
font-size
:
16
px
;
}
.answer
{
font-size
:
32
px
;
line-height
:
50
px
;
font-size
:
15
px
;
line-height
:
25
px
;
font-weight
:
600
;
padding-left
:
150
px
;
padding-left
:
65
px
;
}
.question-title
{
font-size
:
32
px
;
font-size
:
16
px
;
font-weight
:
600
;
padding-bottom
:
10
px
;
padding-left
:
150
px
;
padding-bottom
:
5
px
;
padding-left
:
65
px
;
/*text-indent: -150px;*/
}
.result-wrap
{
display
:
flex
;
flex-direction
:
row
;
justify-content
:
center
;
padding
:
60px
0
10
0px
;
padding
:
30px
0
5
0px
;
}
.separator
{
border-bottom-style
:
solid
;
...
...
@@ -80,12 +80,11 @@
height
:
3px
;
}
.img-wrap
{
display
:
flex
;
flex-direction
:
row
;
justify-content
:
center
;
padding-top
:
22
0px
;
padding-top
:
11
0px
;
}
.head-fixed
{
position
:
fixed
;
top
:
0px
;
...
...
@@ -102,7 +101,7 @@
border-bottom-color
:
#e7e7e7
;
}
.wrap
{
padding
:
70px
30px
20px
2
0px
;
padding
:
1
0px
;
}
.title
{
...
...
@@ -117,6 +116,7 @@
// import WxcLoading from '../../components/wxc-loading'
//let modal = weex.requireModule('modal')
//import WxcLoading from '../../components/wxc-loading'
import
storejs
from
'storejs'
;
import
{
getCoopExamWrongRecords
}
from
'@/api/exam.js'
;
export
default
{
//components: { WxcLoading },
...
...
@@ -127,14 +127,12 @@
wrongNum
:
''
,
headBg
:
'#ffffff'
,
headHeight
:
0
,
token
:
"
E47F468E0BB34ED9ABD38DC16A95CAC2
"
token
:
"
FFA8F78823F44BEC86E5BD816BDA73D5
"
}),
computed
:
{
},
},
created
()
{
if
(
this
.
isAndroid
)
{
this
.
headBg
=
'#999999'
}
this
.
token
=
storejs
.
get
(
'token'
);
this
.
init
()
},
methods
:
{
...
...
src/views/exam/index.vue
浏览文件 @
ff59bca6
此差异已折叠。
点击以展开。
src/views/exam/local_exam_history.vue
0 → 100644
浏览文件 @
ff59bca6
<
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>
<pica-header
title=
"考试记录"
@
goBack=
"goBack"
showHeader=
"true"
></pica-header>
</div>
</
template
>
<
style
scoped
>
.back-fff
{
background-color
:
#ffffff
;
}
.contenter
{
padding-top
:
75px
;
background-color
:
#ffffff
;
}
</
style
>
<
script
>
import
storejs
from
'storejs'
;
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
:[],
livesList
:{
examId
:
''
,
examResultId
:
''
,
endDate
:
''
},
token
:
""
}),
computed
:
{
},
components
:{
livesExamHistory
,
picaHeader
},
created
()
{
this
.
token
=
storejs
.
get
(
"token"
);
// this.historyList = this.$route.query.historyList
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
}
})
}
}
}
</
script
>
<
style
scoped
>
.history-nomore
{
align-items
:
center
;
margin-top
:
15px
;
padding-bottom
:
15px
;
}
.nomore-text
{
color
:
rgba
(
153
,
153
,
153
,
1
);
font-size
:
15px
;
}
</
style
>
src/views/examResult/index.vue
浏览文件 @
ff59bca6
<
template
>
<!--
<scroller
show-scrollbar=
"false"
style=
"background-color: white;"
>
-->
<div>
<div
class=
"body_background"
>
...
...
@@ -15,10 +14,11 @@
<
style
scoped
>
.body_background
{
background-color
:
#f5f5f5
;
padding-top
:
120
px
;
padding-top
:
55
px
;
}
</
style
>
<
script
>
import
storejs
from
'storejs'
;
import
examInfo
from
'@/components/stroke/examInfo'
import
examHistory
from
'@/components/stroke/examHistory'
import
picaHeader
from
'@/components/stroke/picaHeader'
...
...
@@ -46,7 +46,7 @@ import { getCoopExam ,getCoopExamResultNew,getCoopExamResultNews} from '@/api/ex
testMsg
:
''
,
examType
:
'common'
,
hasWrong
:
false
,
token
:
"
E47F468E0BB34ED9ABD38DC16A95CAC2
"
token
:
""
}),
computed
:
{},
components
:{
...
...
@@ -55,6 +55,7 @@ import { getCoopExam ,getCoopExamResultNew,getCoopExamResultNews} from '@/api/ex
//WxcLoading
},
created
()
{
this
.
token
=
storejs
.
get
(
'token'
);
this
.
examId
=
this
.
$route
.
query
.
examId
this
.
from
=
this
.
$route
.
query
.
from
this
.
showHeader
=
this
.
from
!=
'exam'
...
...
@@ -117,10 +118,11 @@ import { getCoopExam ,getCoopExamResultNew,getCoopExamResultNews} from '@/api/ex
})
}
else
{
this
.
hasWrong
=
true
;
modal
.
toast
({
message
:
res
.
data
.
respMsg
,
duration
:
1.0
})
this
.
$toast
(
res
.
data
.
respMsg
)
// modal.toast({
// message: res.data.respMsg,
// duration: 1.0
// })
}
})
// this.GET('app/projectExam/results',{examId:this.examId,pageNo:1,pageSize:3, type: 5},res=>{
...
...
src/views/stroke/index.js
浏览文件 @
ff59bca6
...
...
@@ -16,7 +16,7 @@
//import WxcDialog from '../components/wxc-dialog'
import
storejs
from
'storejs'
;
import
componentMain
from
'@/components/stroke/componentMain'
;
import
CommonHeader
from
'@/components/common/header'
;
import
livesExamHistory
from
"@/components/stroke/livesExamHistory"
;
...
...
@@ -90,7 +90,7 @@ import { getCoopExamResult } from '@/api/exam.js';
needMarginBottom
:
false
,
marginBottom
:
'0px'
,
parms
:{
id
:
4
,
token
:
"
5CAB7524887647E983660A0F61EE219D
"
id
:
4
,
token
:
"
F693C3AF6D344B7B825D8CC39D495D8E
"
},
flagLoading
:
0
,
title
:
""
,
...
...
@@ -103,6 +103,11 @@ import { getCoopExamResult } from '@/api/exam.js';
keyIndex
(
newval
)
{
this
.
keyIndex
=
newval
;
},
flagLoading
(
newv
)
{
if
(
newv
==
4
)
{
this
.
getOrder
();
}
}
},
created
()
{
// modal.alert({message: 22})
...
...
@@ -110,6 +115,10 @@ import { getCoopExamResult } from '@/api/exam.js';
this
.
allowFlag
=
this
.
$route
.
query
.
allowFlag
||
1
;
this
.
projectId
=
this
.
$route
.
query
.
projectId
||
2
;
this
.
parms
.
id
=
this
.
projectId
;
//this.parms.token = this.$route.query.token || '';
storejs
.
set
(
'token'
,
this
.
parms
.
token
);
this
.
init
();
},
mounted
()
{
...
...
@@ -182,13 +191,12 @@ import { getCoopExamResult } from '@/api/exam.js';
}
else
if
(
res
.
data
.
respCode
==
401
||
res
.
data
.
respCode
==
404
)
{
return
this
.
$rocNative
.
gotoLogin
();
}
this
.
isShow
=
false
;
var
result
=
res
.
data
.
checkResult
;
let
flag
=
result
.
resultFlag
;
if
(
flag
==
1
)
{
this
.
$router
.
push
({
path
:
'/exam
_
result'
,
query
:{
'examId'
:
result
.
examId
,
'origin'
:
'start'
,
'examType'
:
'local'
,
'endDate'
:
result
.
endDate
}
path
:
'/exam
-
result'
,
query
:{
'examId'
:
result
.
examId
,
'origin'
:
'start'
,
'examType'
:
'local'
,
'endDate'
:
result
.
endDate
}
});
}
else
if
(
flag
==
5
)
{
this
.
showExamNotStartTip
=
true
;
...
...
@@ -260,7 +268,7 @@ import { getCoopExamResult } from '@/api/exam.js';
},
seeMoreHistory
()
{
this
.
$router
.
push
({
path
:
'/local
_exam_
history'
,
query
:{
projectId
:
this
.
projectId
}
path
:
'/local
-exam-
history'
,
query
:{
projectId
:
this
.
projectId
}
});
},
codeBtnClicked
()
{
...
...
@@ -407,34 +415,13 @@ import { getCoopExamResult } from '@/api/exam.js';
this
.
pLiveMapping
=
res
.
data
.
pLiveMapping
;
if
(
res
.
data
.
pLiveExamList
&&
res
.
data
.
pLiveExamList
.
length
)
{
this
.
localHistoryList
=
res
.
data
.
pLiveExamList
;
//_self.localHistoryList = _self
.localHistoryList.concat([]);
this
.
localHistoryList
=
this
.
localHistoryList
.
concat
([]);
}
}
else
{
this
.
$toast
(
"网络异常,请稍后再试"
);
}
this
.
getOrder
();
//
this.getOrder();
});
// this.GET('contents/projects/live/' + this.projectId, {}, function (res) {
// // _self.isShow = false
// if (res && res.data) {
// _self.pLiveMapping = res.data.pLiveMapping;
// if (res.data.pLiveExamList && res.data.pLiveExamList.length) {
// _self.localHistoryList = res.data.pLiveExamList;
// _self.localHistoryList.forEach(function (item) {
// });
// _self.localHistoryList = _self.localHistoryList.concat([]);
// }else {
// _self.localHistoryList = [];
// }
// }else{
// modal.toast({
// message: '网络异常,请稍后再试',
// duration: 1.0
// });
// }
// _self.getOrder();
// });
},
getOrder
()
{
...
...
@@ -444,7 +431,7 @@ import { getCoopExamResult } from '@/api/exam.js';
// 组件type
// module_type:1、轮播图组件 5、文案组件 10、考试组件 15、关联课程组件 20、链接组件 25、现场考试组件
if
(
this
.
flagLoading
!=
5
)
{
this
.
flagLoading
=
this
.
flagLoading
+
1
this
.
flagLoading
=
this
.
flagLoading
+
1
;
}
this
.
orderList
=
res
.
data
.
projectList
;
this
.
orderListFlag
=
this
.
orderList
.
some
(
item
=>
{
...
...
@@ -500,73 +487,6 @@ import { getCoopExamResult } from '@/api/exam.js';
this
.
$toast
(
"网络异常,请稍后再试"
);
}
});
// this.GET('contents/projects/' + this.projectId, {}, function (res) {
// if (res && res.data) {
// // 组件type
// // module_type:1、轮播图组件 5、文案组件 10、考试组件 15、关联课程组件 20、链接组件 25、现场考试组件
// _self.orderList = res.data.projectList;
// if (res.data.respCode != 200) {
// modal.toast({
// message: res.data.respMsg,
// duration: 1.0
// });
// return;
// }
// const arr = [{slot:'type_1'}, {slot:'type_2'}, {slot:'type_3'}, {slot:'type_4'}, {slot:'type_5'}];
// _self.slots.length = _self.orderList.length;
// for(let i = 0; i < _self.orderList.length; i++) {
// const number = _self.orderList[i].module_type;
// switch (number) {
// case 1:
// _self.slots[i] = arr[0];
// break;
// case 5:
// _self.slots[i] = arr[1];
// break;
// case 10:
// _self.slots[i] = arr[2];
// break;
// case 15:
// _self.slots[i] = arr[3];
// break;
// case 25:
// _self.slots[i] = arr[4];
// break;
// }
// }
// _self.slots = _self.slots.concat([]);
// _self.allComponentLists = [];
// console.log('===>', _self.slots);
// _self.sliderLists.forEach(function (item) {
// _self.allComponentLists.push(item);
// });
// _self.infoLists.forEach(function (item) {
// _self.allComponentLists.push(item);
// });
// _self.courseLists.forEach(function (item) {
// _self.allComponentLists.push(item);
// });
// _self.examLists.forEach(function (item) {
// _self.allComponentLists.push(item);
// });
// _self.livesExamLists.forEach(function (item) {
// _self.allComponentLists.push(item);
// });
// _self.allComponentLists.sort(function (a, b) {
// return a.seq_no - b.seq_no;
// });
// _self.allComponentLists = _self.allComponentLists.concat([]);// Object.assign([],)
// console.log('allComponentLists', _self.allComponentLists);
// if(_self.orderList.length == 5) {
// }
// }else{
// modal.toast({
// message: '网络异常,请稍后再试',
// duration: 1.0
// });
// }
// });
},
taggleSlot
()
{
if
(
this
.
slot
==
'title'
)
{
...
...
@@ -587,13 +507,20 @@ import { getCoopExamResult } from '@/api/exam.js';
this
.
show
=
true
;
},
goBack
()
{
storejs
.
set
(
'needFlash'
,
'true'
);
try
{
this
.
$rocNative
.
goBack
();
}
catch
(
err
)
{
console
.
log
(
err
);
this
.
$router
.
go
(
-
1
);
}
// storage.setItem('needFlash', 'true');
//configurationModule.goBack(); 11
},
// 重考
goExamStart
(
obj
)
{
this
.
$router
.
push
({
path
:
'/exam
_
result'
,
path
:
'/exam
-
result'
,
query
:{
examId
:
obj
.
id
,
origin
:
'start'
,
...
...
@@ -606,7 +533,7 @@ import { getCoopExamResult } from '@/api/exam.js';
// 查看
watchResult
(
obj
)
{
this
.
$router
.
push
({
path
:
'/exam
_
result'
,
path
:
'/exam
-
result'
,
query
:{
examId
:
obj
.
id
,
origin
:
''
,
...
...
src/views/stroke/index.vue
浏览文件 @
ff59bca6
...
...
@@ -156,7 +156,6 @@
</div>
</div>
</div>
</van-overlay>
</div>
</template>
...
...
@@ -165,9 +164,12 @@
import
stokeJs
from
'./index'
;
export
default
stokeJs
;
</
script
>
<
style
>
.top-error-message
{
display
:
none
;
}
</
style
>
<
style
scoped
lang=
"scss"
>
.project_advice_new
{
justify-content
:center
;
align-items
:center
;
...
...
yarn.lock
浏览文件 @
ff59bca6
...
...
@@ -12217,6 +12217,11 @@
dependencies:
"graceful-fs" "^4.1.3"
"storejs@^2.0.1":
"integrity" "sha1-NCT0yI/5eeOWJBPOYOpD/WYKllc="
"resolved" "http://192.168.110.93:4873/storejs/-/storejs-2.0.1.tgz"
"version" "2.0.1"
"stream-browserify@^2.0.1":
"integrity" "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg=="
"resolved" "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz"
...
...
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录