Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
campSite
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
杨梦雪
campSite
Commits
adef92ff
Commit
adef92ff
authored
Feb 21, 2023
by
杨梦雪
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改】查看和提交作业(用户端)
parent
20834103
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
527 additions
and
532 deletions
+527
-532
src/components/index/SignUp/referInfo.vue
src/components/index/SignUp/referInfo.vue
+3
-1
src/views/index/camp/homework/refer.vue
src/views/index/camp/homework/refer.vue
+524
-531
No files found.
src/components/index/SignUp/referInfo.vue
View file @
adef92ff
...
...
@@ -1442,7 +1442,9 @@ export default {
let
_this
=
this
;
let
obj
=
{};
if
(
this
.
configJson
.
name
==
1
)
{
obj
.
name
=
_this
.
referForm
.
name
;
obj
.
name
=
_this
.
ref
erForm
.
name
;
}
if
(
this
.
configJson
.
gender
==
1
)
{
obj
.
gender
=
_this
.
referForm
.
gender
;
...
...
src/views/index/camp/homework/refer.vue
View file @
adef92ff
...
...
@@ -49,7 +49,6 @@
<div
class=
"item_name"
>
暂无相关附件
</div>
</div>
</div>
<div
style=
"clear: both"
></div>
</div>
<!-- 我的作业(未提交) -->
...
...
@@ -72,6 +71,7 @@
:disabled=
"student_status == 1 || student_status == 2"
/>
</el-form-item>
<!-- 上传相关附件 -->
<el-form-item
label=
"相关附件"
prop=
"stu_enclosure_url"
>
<div
class=
"fj_info"
>
1、请上传1-10份相关附件;
</div>
<div
class=
"fj_info"
>
...
...
@@ -80,24 +80,23 @@
<div
class=
"upload_box"
>
<div
class=
"img_list"
v-for=
"(item, index) in fileList"
v-for=
"(item, index) in
stu_
fileList"
:key=
"index"
>
<div>
<el-image
class=
"home_icon"
:src=
"fileImg"
></el-image>
<div
class=
"item_name"
>
{{
item
.
name
}}
</div>
<div
class=
"flex"
>
<div
v-show=
"student_status == 0"
class=
"item_remove"
@
click=
"handleRemove(item)"
>
删除
</div>
<div
v-show=
"student_status == 0"
class=
"item_remove"
@
click=
"handleCheck(item.url)"
@
click=
"handleCheck(item.url
_open
)"
>
查看作业
</div>
...
...
@@ -110,21 +109,27 @@
append-to-body
>
<el-image
:src=
"item.url"
:lazy=
'true'
:src=
"item.url_open"
:preview-src-list=
"srcList"
></el-image>
</el-dialog>
</div>
</div>
</div>
<!--
<div
v-if=
"stu_fileList.length
<
=
0
"
class=
"img_list"
>
-->
<!--
<div>
-->
<!--
<div
class=
"item_name"
>
暂无相关附件
</div>
-->
<!--
</div>
-->
<!--
</div>
-->
<!--
</div>
-->
<el-upload
v-if=
"
fileList.length
<
10
&&
student_status =
=
0
"
v-if=
"
stu_fileList.length
<
10
"
ref=
"stu_enclosure_url"
name=
"multipartFile"
action=
"#"
:file-list=
"fileList"
:disabled=
"isUploading || fileList.length >= 10"
:file-list=
"
stu_
fileList"
:disabled=
"isUploading ||
stu_
fileList.length >= 10"
:limit=
"10"
list-type=
"picture-card"
:show-file-list=
"false"
...
...
@@ -140,26 +145,7 @@
class=
"el-icon-loading avatar-uploader-icon"
></i>
</el-upload>
<div
class=
"upload_box"
v-if=
"student_status == 1 || student_status == 2"
>
<div
class=
"img_list"
v-for=
"(item, index) in stu_fileList"
:key=
"index"
>
<div>
<el-image
:src=
"fileImg"
></el-image>
<div
class=
"item_name"
>
{{
item
.
name
}}
</div>
</div>
</div>
<div
v-if=
"stu_fileList.length
<
=
0
"
class=
"img_list"
>
<div>
<div
class=
"item_name"
>
暂无相关附件
</div>
</div>
</div>
</div>
</div>
<!--
</div>
-->
</el-form-item>
...
...
@@ -214,8 +200,6 @@
</div>
<div
v-if=
"this.time_out != 3"
class=
"cont_title_2"
>
导师评分
</div>
<div
v-if=
"this.time_out != 3"
class=
"cont_info"
>
{{
score
}}
</div>
<div
v-if=
"this.time_out == 3"
class=
"cont_title_2"
>
导师评语
</div>
<div
v-if=
"this.time_out == 3"
v-html=
"teacher_commment"
class=
"cont_info"
>
}
</div>
<div
v-if=
"this.time_out != 3"
class=
"cont_title_2"
>
相关附件
</div>
...
...
@@ -247,9 +231,10 @@
</div>
</div>
<el-form-item
class=
"btn"
v-if=
"student_status == 0"
>
<el-form-item
class=
"btn"
>
<el-button
type=
"primary"
v-preventReClick=
"1000"
@
click=
"confirm"
>
提交
</el-button
>
提交
</el-button
>
</el-form-item>
</el-form>
...
...
@@ -259,537 +244,545 @@
</
template
>
<
script
>
import
{
PostWorkStudentOss
,
delPic
,
getStudentWork
,
subStudentWork
,
downloadTeacherWork
,
}
from
"
r/index/homework
"
;
import
fileImg
from
"
@/assets/img/homework/file_img.png
"
;
export
default
{
name
:
"
ReadForm
"
,
props
:
{
dialogVisibleFu
:
Boolean
,
timeOut
:
[
Number
,
String
],
//判断是超时
work_contexts
:
[
Number
,
String
],
//作业内容
enclosure_urls
:
[
Object
,
String
],
//老师作业地址
work_nums
:
[
Number
],
workName
:
[
String
],
//作业名字
student_status
:
[
Number
],
//作业状态
order_nums
:
[
Number
],
//作业状态
},
data
()
{
var
validateNum
=
(
rule
,
value
,
callback
)
=>
{
console
.
log
(
value
,
"
value
"
);
// let code = this.$store.state.indexIdentity;
// this.formData.stu_enclosure_url = window.localStorage.getItem(
// "student_file_" + window.localStorage.getItem("phone" + code) + code
// );
// console.log(
// this.stu_fileList,' this.stu_fileList'
// );
// return
// this.formData.stu_enclosure_url = this.stu_fileList
console
.
log
(
this
.
formData
.
stu_answer
);
console
.
log
(
this
.
formData
.
stu_enclosure_url
);
if
(
this
.
formData
.
stu_answer
==
""
&&
this
.
formData
.
stu_enclosure_url
==
""
)
{
callback
(
new
Error
(
"
请至少填写一项
"
));
}
else
{
callback
();
}
};
import
{
delPic
,
downloadTeacherWork
,
getStudentWork
,
PostWorkStudentOss
,
subStudentWork
,}
from
"
r/index/homework
"
;
import
fileImg
from
"
@/assets/img/homework/file_img.png
"
;
return
{
dialogVisibleImage
:
false
,
referRules
:
{
stu_answer
:
[
{
required
:
true
,
validator
:
validateNum
,
trigger
:
"
blur
"
},
],
stu_enclosure_url
:
[
{
required
:
true
,
validator
:
validateNum
,
trigger
:
"
blur
"
},
],
},
titleName
:
""
,
isUploading
:
false
,
// 图片上传蒙层
work_context
:
""
,
//简介
work_name
:
""
,
//作业名称
time_out
:
1
,
fileImg
:
fileImg
,
loading
:
false
,
dialogVisible
:
this
.
dialogVisibleFu
,
dialogVisibleimage
:
false
,
formData
:
{
teacher_id
:
""
,
stu_answer
:
""
,
stu_enclosure_url
:
""
,
},
// 老师-评阅结果
disabled
:
false
,
//限制输入框
stu_fileListoss
:
""
,
// 学生-上传相关附件(展示-存在缓存)
teaFileList
:
[],
// 老师-布置作业附件
fileList
:
[],
//学生上传的作业文件
stu_fileList
:
[],
//学生上传的文件(传给接口的格式)
score
:
""
,
//老师评分
teacher_commment
:
""
,
//老师评语
tea_scoreFileList
:
[],
//老师评语的附件
srcList
:
[],
//在线预览图片-放大
};
},
created
()
{
// console.log(this.formData.stu_enclosure_url);
let
code
=
this
.
$store
.
state
.
indexIdentity
;
let
stu_fileListoss
=
window
.
localStorage
.
getItem
(
"
student_file_
"
+
window
.
localStorage
.
getItem
(
"
phone
"
+
code
)
+
code
);
if
(
stu_fileListoss
&&
JSON
.
parse
(
stu_fileListoss
).
length
>
0
)
{
this
.
stu_fileListoss
=
JSON
.
parse
(
stu_fileListoss
);
}
},
methods
:
{
open
()
{
console
.
log
(
this
.
timeOut
)
console
.
log
(
this
.
time_out
)
// console.log(this.student_status);
this
.
titleName
=
this
.
order_nums
;
// console.log(this.student_status);
this
.
getTeachList
();
if
(
this
.
student_status
==
0
)
{
this
.
formData
=
{};
}
else
if
(
this
.
student_status
==
1
)
{
this
.
getStudentWork
(
this
.
student_status
);
}
else
if
(
this
.
student_status
==
2
)
{
this
.
getStudentWork
(
this
.
student_status
);
}
},
//老师作业展示
getTeachList
()
{
let
url
=
this
.
enclosure_urls
;
// console.log(this.enclosure_urls);
if
(
this
.
enclosure_urls
)
{
let
arr
=
url
.
split
(
"
,
"
);
arr
.
forEach
((
item
)
=>
{
this
.
teaFileList
.
push
({
url
:
item
,
name
:
item
.
split
(
"
work/
"
)[
1
],
status
:
"
success
"
,
});
});
}
else
{
this
.
stu_fileList
=
[];
}
export
default
{
name
:
"
ReadForm
"
,
props
:
{
dialogVisibleFu
:
Boolean
,
timeOut
:
[
Number
,
String
],
//判断是超时
work_contexts
:
[
Number
,
String
],
//作业内容
enclosure_urls
:
[
Object
,
String
],
//老师作业地址
work_nums
:
[
Number
],
workName
:
[
String
],
//作业名字
student_status
:
[
Number
],
//作业状态
order_nums
:
[
Number
],
//作业状态
},
// 下载老师附件
downloadStuFile
(
url
)
{
// this.download(
// "http://api.campcenter.cn/web/download/downloadTeacherWork",
// {
// enclosure_url: url,
// identity: this.$store.state.indexIdentity
// },
// ""
// );
downloadTeacherWork
({
enclosure_url
:
url
}).
then
((
res
)
=>
{
// console.log(res, "res");
if
(
res
.
data
.
code
!=
200
)
{
return
this
.
$message
.
error
(
res
.
data
.
message
);
}
let
url
=
res
.
data
.
url
;
let
reg
=
/^.+
(\.
pdf|
\.
txt|
\.
mp3|
\.
mp4
)
$/
;
if
(
reg
.
test
(
url
))
{
window
.
open
(
url
,
"
_black
"
);
data
()
{
var
validateNum
=
(
rule
,
value
,
callback
)
=>
{
console
.
log
(
value
,
"
value
"
);
// let code = this.$store.state.indexIdentity;
// this.formData.stu_enclosure_url = window.localStorage.getItem(
// "student_file_" + window.localStorage.getItem("phone" + code) + code
// );
// console.log(
// this.stu_fileList,' this.stu_fileList'
// );
// return
// this.formData.stu_enclosure_url = this.stu_fileList
console
.
log
(
this
.
formData
.
stu_answer
);
console
.
log
(
this
.
formData
.
stu_enclosure_url
);
if
(
this
.
formData
.
stu_answer
==
""
&&
this
.
formData
.
stu_enclosure_url
==
""
)
{
callback
(
new
Error
(
"
请至少填写一项
"
));
}
else
{
window
.
open
(
url
,
"
_self
"
);
callback
(
);
}
this
.
$message
.
success
(
"
下载成功
"
);
});
};
return
{
dialogVisibleImage
:
false
,
referRules
:
{
stu_answer
:
[
{
required
:
true
,
validator
:
validateNum
,
trigger
:
"
blur
"
},
],
stu_enclosure_url
:
[
{
required
:
true
,
validator
:
validateNum
,
trigger
:
"
blur
"
},
],
},
titleName
:
""
,
isUploading
:
false
,
// 图片上传蒙层
work_context
:
""
,
//简介
work_name
:
""
,
//作业名称
time_out
:
1
,
fileImg
:
fileImg
,
loading
:
false
,
dialogVisible
:
this
.
dialogVisibleFu
,
dialogVisibleimage
:
false
,
formData
:
{
teacher_id
:
""
,
stu_answer
:
""
,
stu_enclosure_url
:
""
,
},
// 老师-评阅结果
disabled
:
false
,
//限制输入框
stu_enclosure_url
:
""
,
//学生的已经提交的相关附件
stu_fileListoss
:
""
,
// 学生-上传相关附件(展示-存在缓存)
teaFileList
:
[],
// 老师-布置作业附件
stu_fileList
:
[],
//学生上传的文件(传给接口的格式)
score
:
""
,
//老师评分
teacher_commment
:
""
,
//老师评语
tea_scoreFileList
:
[],
//老师评语的附件
srcList
:
[],
//在线预览图片-放大
};
},
// 下载老师评分结果
downloadScoreFile
(
url
)
{
downloadTeacherWork
({
enclosure_url
:
url
}).
then
((
res
)
=>
{
// console.log(res, "res");
if
(
res
.
data
.
code
!=
200
)
{
return
this
.
$message
.
error
(
res
.
data
.
message
);
}
let
url
=
res
.
data
.
url
;
let
reg
=
/^.+
(\.
pdf|
\.
txt|
\.
mp3|
\.
mp4
)
$/
;
if
(
reg
.
test
(
url
))
{
window
.
open
(
url
,
"
_black
"
);
}
else
{
window
.
open
(
url
,
"
_self
"
);
}
this
.
$message
.
success
(
"
下载成功
"
);
});
created
()
{
// console.log(this.formData.stu_enclosure_url);
let
code
=
this
.
$store
.
state
.
indexIdentity
;
let
stu_fileListoss
=
window
.
localStorage
.
getItem
(
"
student_file_
"
+
window
.
localStorage
.
getItem
(
"
phone
"
+
code
)
+
code
);
console
.
log
(
stu_fileListoss
);
if
(
stu_fileListoss
&&
JSON
.
parse
(
stu_fileListoss
).
length
>
0
)
{
this
.
stu_fileListoss
=
JSON
.
parse
(
stu_fileListoss
);
}
},
// 学生作业回显
getStudentWork
(
student_status
)
{
// console.log(student_status, "student_status");
let
stu_work_num
=
this
.
work_nums
;
// console.log(stu_work_num);
// console.log(this.formData);
// return
getStudentWork
({
teacher_id
:
stu_work_num
}).
then
((
res
)
=>
{
// console.log(res, "getStudentWork");
if
(
res
.
data
.
code
!=
200
)
{
return
this
.
$message
.
error
(
res
.
data
.
message
);
methods
:
{
open
()
{
console
.
log
(
this
.
timeOut
)
console
.
log
(
this
.
time_out
)
// console.log(this.student_status);
this
.
titleName
=
this
.
order_nums
;
// console.log(this.student_status);
this
.
getTeachList
();
if
(
this
.
student_status
==
0
)
{
this
.
formData
=
{};
}
else
if
(
this
.
student_status
==
1
)
{
this
.
getStudentWork
(
this
.
student_status
);
}
else
if
(
this
.
student_status
==
2
)
{
this
.
getStudentWork
(
this
.
student_status
);
}
this
.
$message
.
success
(
res
.
data
.
message
);
if
(
student_status
==
1
)
{
// 学生已提交
this
.
formData
.
stu_answer
=
res
.
data
.
data
.
stu_answer
;
// console.log(this.formData
);
let
gotfileList
=
res
.
data
.
data
.
stu_enclosure_url_arr
;
if
(
gotfileList
)
{
this
.
stu_fileList
=
gotfileList
.
map
((
item
)
=>
{
return
{
name
:
item
.
split
(
"
/work/
"
)[
1
]
,
url
:
item
,
};
},
//老师作业展示
getTeachList
()
{
let
url
=
this
.
enclosure_urls
;
// console.log(this.enclosure_urls
);
if
(
this
.
enclosure_urls
)
{
let
arr
=
url
.
split
(
"
,
"
);
arr
.
forEach
((
item
)
=>
{
this
.
teaFileList
.
push
(
{
url
:
item
,
name
:
item
.
split
(
"
work/
"
)[
1
]
,
status
:
"
success
"
,
});
});
}
else
{
this
.
stu_fileList
=
[];
}
},
// 下载老师附件
downloadStuFile
(
url
)
{
// this.download(
// "http://api.campcenter.cn/web/download/downloadTeacherWork",
// {
// enclosure_url: url,
// identity: this.$store.state.indexIdentity
// },
// ""
// );
downloadTeacherWork
({
enclosure_url
:
url
}).
then
((
res
)
=>
{
// console.log(res, "res");
if
(
res
.
data
.
code
!=
200
)
{
return
this
.
$message
.
error
(
res
.
data
.
message
);
}
this
.
$forceUpdate
();
}
else
if
(
student_status
==
2
)
{
//老师已评阅
this
.
formData
.
stu_answer
=
res
.
data
.
data
.
stu_answer
;
let
gotfileList
=
res
.
data
.
data
.
stu_enclosure_url_arr
;
if
(
gotfileList
)
{
this
.
stu_fileList
=
gotfileList
.
map
((
item
)
=>
{
return
{
name
:
item
.
split
(
"
/work/
"
)[
1
],
url
:
item
,
};
});
let
url
=
res
.
data
.
url
;
let
reg
=
/^.+
(\.
pdf|
\.
txt|
\.
mp3|
\.
mp4
)
$/
;
if
(
reg
.
test
(
url
))
{
window
.
open
(
url
,
"
_black
"
);
}
else
{
window
.
open
(
url
,
"
_self
"
);
}
this
.
score
=
res
.
data
.
data
.
score
;
//老师评分
this
.
teacher_commment
=
res
.
data
.
data
.
teacher_commment
;
//老师评语
// console.log(res.data.data.teacher_commment, " this.teacher_commment");
let
scoreFileList
=
res
.
data
.
data
.
teacher_url
;
if
(
scoreFileList
)
{
let
arr
=
scoreFileList
.
split
(
"
,
"
);
// console.log(arr, "arr");
this
.
tea_scoreFileList
=
arr
.
map
((
item
)
=>
{
return
{
name
:
item
.
split
(
"
workforstudent/
"
)[
1
],
url
:
item
,
};
});
this
.
$message
.
success
(
"
下载成功
"
);
});
},
// 下载老师评分结果
downloadScoreFile
(
url
)
{
downloadTeacherWork
({
enclosure_url
:
url
}).
then
((
res
)
=>
{
// console.log(res, "res");
if
(
res
.
data
.
code
!=
200
)
{
return
this
.
$message
.
error
(
res
.
data
.
message
);
}
this
.
$forceUpdate
();
//强制刷新
}
});
},
// 未完成
notReadHandle
()
{
this
.
formData
.
teacher_id
=
this
.
work_nums
;
// if (!this.formData.stu_enclosure_url) {
// delete this.formData.stu_enclosure_url;
// } else {
this
.
formData
.
stu_enclosure_url
=
this
.
stu_fileListoss
;
// }
// if (!this.formData.stu_answer) {
// delete this.formData.stu_answer;
// }
// console.log(this.stu_fileList, "this.stu_fileList");
// return
subStudentWork
(
this
.
formData
)
.
then
((
response
)
=>
{
// console.log(response);
if
(
response
.
data
.
code
!=
200
)
{
return
this
.
$message
.
error
(
response
.
data
.
message
);
let
url
=
res
.
data
.
url
;
let
reg
=
/^.+
(\.
pdf|
\.
txt|
\.
mp3|
\.
mp4
)
$/
;
if
(
reg
.
test
(
url
))
{
window
.
open
(
url
,
"
_black
"
);
}
else
{
window
.
open
(
url
,
"
_self
"
);
}
this
.
$message
.
success
(
response
.
data
.
message
);
this
.
cancelBtnTrue
();
})
.
catch
((
error
)
=>
{
console
.
log
(
error
);
this
.
$message
.
success
(
"
下载成功
"
);
});
},
// 成功确认取消,关闭弹框,修改父组件的值
cancelBtnTrue
()
{
let
code
=
this
.
$store
.
state
.
indexIdentity
;
window
.
localStorage
.
removeItem
(
"
student_file_
"
+
window
.
localStorage
.
getItem
(
"
phone
"
+
code
)
+
code
);
this
.
stu_fileList
=
[];
this
.
fileList
=
[];
this
.
stu_fileListoss
=
""
;
this
.
teaFileList
=
[];
this
.
$refs
[
"
formRef_stu
"
].
resetFields
();
this
.
dialogVisible
=
false
;
this
.
$emit
(
"
closeDialog
"
,
this
.
dialogVisible
,
true
);
// this.$parent.getTeacherWork();
// location.reload();
},
// 取消,关闭弹框,修改父组件的值
cancelBtn
()
{
let
code
=
this
.
$store
.
state
.
indexIdentity
;
window
.
localStorage
.
removeItem
(
"
student_file_
"
+
window
.
localStorage
.
getItem
(
"
phone
"
+
code
)
+
code
);
this
.
stu_fileList
=
[];
this
.
fileList
=
[];
this
.
stu_fileListoss
=
""
;
this
.
teaFileList
=
[];
this
.
dialogVisible
=
false
;
this
.
$emit
(
"
closeDialog
"
,
this
.
dialogVisible
,
false
);
},
//上传前
beforeAvatarUpload
(
file
)
{
const
isLt500M
=
file
.
size
/
1024
/
1024
<
500
;
if
(
!
isLt500M
)
{
this
.
$message
.
info
(
"
上传图片大小不能超过 500MB!
"
);
}
return
isLt500M
;
},
},
// 学生作业回显
getStudentWork
(
student_status
)
{
// console.log(student_status, "student_status");
let
stu_work_num
=
this
.
work_nums
;
// console.log(stu_work_num);
// console.log(this.formData);
// return
getStudentWork
({
teacher_id
:
stu_work_num
}).
then
((
res
)
=>
{
// console.log(res, "getStudentWork");
if
(
res
.
data
.
code
!=
200
)
{
return
this
.
$message
.
error
(
res
.
data
.
message
);
}
this
.
$message
.
success
(
res
.
data
.
message
);
if
(
student_status
==
1
)
{
// 学生已提交
this
.
formData
.
stu_answer
=
res
.
data
.
data
.
stu_answer
;
// console.log(this.formData);
//学生的已经提交的相关附件
this
.
stu_enclosure_url
=
res
.
data
.
data
.
stu_enclosure_url
;
let
gotfileList
=
res
.
data
.
data
.
work
;
if
(
gotfileList
)
{
this
.
stu_fileList
=
gotfileList
.
map
((
item
)
=>
{
return
{
name
:
item
.
url
.
split
(
"
/work/
"
)[
1
],
url
:
item
.
url
,
url_open
:
item
.
url_open
,
type
:
item
.
type
,
};
});
uploadPicture
(
params
)
{
this
.
isUploading
=
true
;
// console.log("已经准备好上传图片", params);
this
.
file
=
params
.
file
;
// console.log(this.file, "1111");
console
.
log
(
this
.
file
,
"
1111
"
);
let
raw
=
params
.
file
;
let
image
=
{
name
:
raw
.
name
,
size
:
raw
.
size
,
type
:
raw
.
type
,
};
this
.
getOssConfigs
(
image
,
params
.
file
);
},
async
getOssConfigs
(
image
,
file
)
{
let
obj
=
{
url
:
""
,
savefile
:
""
,
};
await
PostWorkStudentOss
({
image
:
image
,
teacher_id
:
this
.
work_nums
,
})
.
then
((
res
)
=>
{
// console.log(res, "开始上传图片");
if
(
res
.
data
.
code
===
200
)
{
let
oss_url
=
res
.
data
.
config
.
host
;
let
filename
=
res
.
data
.
config
.
file
;
let
formData
=
new
FormData
();
formData
.
append
(
"
OSSAccessKeyId
"
,
res
.
data
.
config
.
accessid
);
formData
.
append
(
"
policy
"
,
res
.
data
.
config
.
policy
);
formData
.
append
(
"
signature
"
,
res
.
data
.
config
.
signature
);
formData
.
append
(
"
filename
"
,
res
.
data
.
config
.
file
);
formData
.
append
(
"
key
"
,
res
.
data
.
config
.
savefile
);
formData
.
append
(
"
callback
"
,
res
.
data
.
config
.
callback
);
formData
.
append
(
"
success_action_status
"
,
200
);
formData
.
append
(
"
file
"
,
file
);
// console.log(formData);
this
.
upload
(
oss_url
,
formData
)
.
then
((
ress
)
=>
{
console
.
log
(
ress
,
"
ress
"
);
if
(
ress
.
data
.
code
!=
200
)
{
// console.log(ress, "ress");
this
.
isUploading
=
false
;
return
this
.
$message
.
error
(
ress
.
data
.
message
);
}
this
.
resultPicture
=
filename
+
"
?t=
"
+
Date
.
parse
(
new
Date
());
this
.
$forceUpdate
();
this
.
$message
.
success
(
"
上传成功
"
);
obj
=
{
url
:
ress
.
data
.
picture_path
,
savefile
:
res
.
data
.
config
.
savefile
,
name
:
res
.
data
.
config
.
savefile
.
split
(
"
/work/
"
)[
1
],
console
.
log
(
this
.
stu_fileList
);
}
this
.
$forceUpdate
();
}
else
if
(
student_status
==
2
)
{
//老师已评阅
this
.
formData
.
stu_answer
=
res
.
data
.
data
.
stu_answer
;
let
gotfileList
=
res
.
data
.
data
.
work
;
if
(
gotfileList
)
{
this
.
stu_fileList
=
gotfileList
.
map
((
item
)
=>
{
return
{
name
:
item
.
url
.
split
(
"
/work/
"
)[
1
],
url
:
item
.
url
,
url_open
:
item
.
url_open
,
type
:
item
.
type
,
};
this
.
fileList
.
push
(
obj
);
// console.log(this.fileList, "fileList");
this
.
stu_fileListoss
=
this
.
fileList
.
map
((
item
)
=>
{
return
item
.
url
;
})
.
join
(
"
,
"
);
this
.
formData
.
stu_enclosure_url
=
this
.
stu_fileListoss
;
// console.log(this.stu_fileListoss, "stu_fileListoss");
let
code
=
this
.
$store
.
state
.
indexIdentity
;
window
.
localStorage
.
setItem
(
"
student_file_
"
+
+
window
.
localStorage
.
getItem
(
"
phone
"
+
code
)
+
code
,
JSON
.
stringify
(
this
.
stu_fileListoss
)
);
this
.
isUploading
=
false
;
})
.
catch
((
err
)
=>
{
this
.
isUploading
=
false
;
this
.
$message
.
error
(
err
);
});
}
else
{
this
.
isUploading
=
false
;
this
.
$message
.
error
(
res
.
data
.
message
);
}
this
.
score
=
res
.
data
.
data
.
score
;
//老师评分
this
.
teacher_commment
=
res
.
data
.
data
.
teacher_commment
;
//老师评语
// console.log(res.data.data.teacher_commment, " this.teacher_commment");
let
scoreFileList
=
res
.
data
.
data
.
teacher_url
;
if
(
scoreFileList
)
{
let
arr
=
scoreFileList
.
split
(
"
,
"
);
// console.log(arr, "arr");
this
.
tea_scoreFileList
=
arr
.
map
((
item
)
=>
{
return
{
name
:
item
.
split
(
"
workforstudent/
"
)[
1
],
url
:
item
,
};
});
}
this
.
$forceUpdate
();
//强制刷新
}
})
.
catch
((
err
)
=>
{
this
.
isUploading
=
false
;
// console.log(err);
});
},
// 下载证明资料图片
handleDownload
(
file
)
{
// console.log(file,'file22');
window
.
location
.
href
=
file
.
url
;
},
//删除图片
handleRemove
(
file
)
{
// console.log(file, "file");
this
.
$confirm
(
"
此操作将永久删除该文件, 是否继续?
"
,
"
提示
"
,
{
confirmButtonText
:
"
确定
"
,
cancelButtonText
:
"
取消
"
,
type
:
"
warning
"
,
})
.
then
(()
=>
{
let
getfile
=
file
.
url
;
// console.log(savefile.match(/^(?:[^\/]|\/\/)*/),'222222');//获取域名
let
str
=
getfile
.
split
(
"
https://campiste.oss-cn-beijing.aliyuncs.com/
"
);
//https://yingdi-achievement.oss-cn-beijing.aliyuncs.com/进行分割,
// console.log(str, "str");
let
savefile
=
str
[
1
];
// console.log(savefile, "savefile");
let
stu_work_num
=
this
.
work_nums
;
delPic
({
object
:
savefile
,
teacher_id
:
stu_work_num
}).
then
((
res
)
=>
{
// console.log(res, "delpic");
if
(
res
.
data
.
code
!=
200
)
{
return
this
.
$message
.
error
(
res
.
data
.
message
);
},
// 未完成
notReadHandle
()
{
this
.
formData
.
teacher_id
=
this
.
work_nums
;
// if (!this.formData.stu_enclosure_url) {
// delete this.formData.stu_enclosure_url;
// } else {
this
.
formData
.
stu_enclosure_url
=
this
.
stu_enclosure_url
+
'
,
'
+
this
.
stu_fileListoss
;
// console.log(this.formData.stu_enclosure_url , "this.formData.stu_enclosure_url ");
// }
// if (!this.formData.stu_answer) {
// delete this.formData.stu_answer;
// }
// console.log(this.stu_fileList, "this.stu_fileList");
// return
subStudentWork
(
this
.
formData
)
.
then
((
response
)
=>
{
// console.log(response);
if
(
response
.
data
.
code
!=
200
)
{
return
this
.
$message
.
error
(
response
.
data
.
message
);
}
// console.log(this.fileList);
// console.log(this.stu_fileListoss);
this
.
fileList
.
forEach
((
item
,
idx
)
=>
{
// console.log(idx, "idx");
// console.log(item.url == file.url);
if
(
item
.
url
==
file
.
url
)
{
this
.
fileList
.
splice
(
idx
,
1
);
let
code
=
this
.
$store
.
state
.
indexIdentity
;
window
.
localStorage
.
setItem
(
"
student_file_
"
+
window
.
localStorage
.
getItem
(
"
phone
"
+
code
)
+
code
,
JSON
.
stringify
(
this
.
stu_fileListoss
)
);
}
});
this
.
stu_fileListoss
=
this
.
fileList
.
map
(
function
(
item
,
index
)
{
undefined
;
return
item
.
url
;
})
.
join
(
"
,
"
);
// console.log(this.stu_fileListoss);
// console.log(this.fileList);
this
.
$message
.
success
(
res
.
data
.
message
);
this
.
$message
.
success
(
response
.
data
.
message
);
this
.
cancelBtnTrue
();
})
.
catch
((
error
)
=>
{
console
.
log
(
error
);
});
})
.
catch
((
err
)
=>
{
// console.log(err, "err");
this
.
$message
({
type
:
"
info
"
,
message
:
"
取消删除
"
,
}
);
})
;
},
// 查看已上传的学生作业
handleCheck
(
url
)
{
console
.
log
(
url
,
"
url
"
)
;
// console.log(url.match(/\.(jpeg|jpg|gif|png)$/) != null)
// 是否为图片
if
(
url
.
match
(
/
\.(
jpeg|jpg|gif|png
)
$/
)
!=
null
)
{
this
.
dialogVisibleImage
=
true
;
// console.log(url.split(" "),'111')
this
.
srcList
=
url
.
split
(
"
"
);
}
else
{
let
onlineViewType
=
[
"
doc
"
,
"
docx
"
,
"
xls
"
,
"
xlsx
"
,
"
xlsm
"
,
"
ppt
"
,
"
pptx
"
,
]
;
let
fileTypeName
=
url
.
substring
(
url
.
lastIndexOf
(
"
.
"
)
+
1
,
url
.
length
)
.
split
(
"
?
"
)[
0
];
let
isWord
=
onlineViewType
.
find
((
type
)
=>
type
===
fileTypeName
)
;
if
(
isWord
)
{
url
=
"
http://view.officeapps.live.com/op/view.aspx?src=
"
+
url
;
},
// 成功确认取消,关闭弹框,修改父组件的值
cancelBtnTrue
()
{
let
code
=
this
.
$store
.
state
.
indexIdentity
;
window
.
localStorage
.
removeItem
(
"
student_file_
"
+
window
.
localStorage
.
getItem
(
"
phone
"
+
code
)
+
code
);
this
.
stu_fileList
=
[]
;
this
.
stu_fileListoss
=
""
;
this
.
teaFileList
=
[];
this
.
$refs
[
"
formRef_stu
"
].
resetFields
();
this
.
dialogVisible
=
false
;
this
.
$emit
(
"
closeDialog
"
,
this
.
dialogVisible
,
true
);
// this.$parent.getTeacherWork();
// location.reload();
},
// 取消,关闭弹框,修改父组件的值
cancelBtn
()
{
let
code
=
this
.
$store
.
state
.
indexIdentity
;
window
.
localStorage
.
removeItem
(
"
student_file_
"
+
window
.
localStorage
.
getItem
(
"
phone
"
+
code
)
+
code
);
this
.
stu_fileList
=
[];
this
.
stu_fileListoss
=
""
;
this
.
teaFileList
=
[];
this
.
dialogVisible
=
false
;
this
.
$emit
(
"
closeDialog
"
,
this
.
dialogVisible
,
false
)
;
},
//上传前
beforeAvatarUpload
(
file
)
{
const
isLt500M
=
file
.
size
/
1024
/
1024
<
500
;
if
(
!
isLt500M
)
{
this
.
$message
.
info
(
"
上传图片大小不能超过 500MB!
"
)
;
}
window
.
open
(
url
,
"
_blank
"
);
}
},
handleImageClose
(
done
)
{
this
.
$confirm
(
"
确认关闭?
"
)
.
then
((
_
)
=>
{
done
();
return
isLt500M
;
},
uploadPicture
(
params
)
{
this
.
isUploading
=
true
;
// console.log("已经准备好上传图片", params);
this
.
file
=
params
.
file
;
// console.log(this.file, "1111");
console
.
log
(
this
.
file
,
"
1111
"
);
let
raw
=
params
.
file
;
let
image
=
{
name
:
raw
.
name
,
size
:
raw
.
size
,
type
:
raw
.
type
,
};
this
.
getOssConfigs
(
image
,
params
.
file
);
},
async
getOssConfigs
(
image
,
file
)
{
let
obj
=
{
url
:
""
,
savefile
:
""
,
};
await
PostWorkStudentOss
({
image
:
image
,
teacher_id
:
this
.
work_nums
,
})
.
catch
((
_
)
=>
{});
},
// 提交按钮
confirm
()
{
this
.
$confirm
(
"
提交后不可以修改本次作业和填写其他作业,您确认要提交本次作业吗?
"
,
"
提示
"
,
{
.
then
((
res
)
=>
{
// console.log(res, "开始上传图片");
if
(
res
.
data
.
code
===
200
)
{
let
oss_url
=
res
.
data
.
config
.
host
;
let
filename
=
res
.
data
.
config
.
file
;
let
formData
=
new
FormData
();
formData
.
append
(
"
OSSAccessKeyId
"
,
res
.
data
.
config
.
accessid
);
formData
.
append
(
"
policy
"
,
res
.
data
.
config
.
policy
);
formData
.
append
(
"
signature
"
,
res
.
data
.
config
.
signature
);
formData
.
append
(
"
filename
"
,
res
.
data
.
config
.
file
);
formData
.
append
(
"
key
"
,
res
.
data
.
config
.
savefile
);
formData
.
append
(
"
callback
"
,
res
.
data
.
config
.
callback
);
formData
.
append
(
"
success_action_status
"
,
200
);
formData
.
append
(
"
file
"
,
file
);
// console.log(formData);
this
.
upload
(
oss_url
,
formData
)
.
then
((
ress
)
=>
{
console
.
log
(
ress
,
"
ress
"
);
if
(
ress
.
data
.
code
!=
200
)
{
// console.log(ress, "ress");
this
.
isUploading
=
false
;
return
this
.
$message
.
error
(
ress
.
data
.
message
);
}
this
.
resultPicture
=
filename
+
"
?t=
"
+
Date
.
parse
(
new
Date
());
this
.
$forceUpdate
();
this
.
$message
.
success
(
"
上传成功
"
);
obj
=
{
url_open
:
ress
.
data
.
picture_path
,
savefile
:
res
.
data
.
config
.
savefile
,
name
:
res
.
data
.
config
.
savefile
.
split
(
"
/work/
"
)[
1
],
};
this
.
stu_fileList
.
push
(
obj
);
console
.
log
(
this
.
stu_fileList
,
"
this.stu_fileList
"
);
this
.
stu_fileListoss
=
this
.
stu_fileList
.
map
((
item
)
=>
{
return
item
.
url_open
;
})
.
join
(
"
,
"
);
console
.
log
(
this
.
stu_fileListoss
,
"
stu_fileListoss
"
);
// this.formData.stu_enclosure_url = this.stu_fileListoss;
let
code
=
this
.
$store
.
state
.
indexIdentity
;
console
.
log
(
typeof
(
this
.
stu_fileListoss
))
window
.
localStorage
.
setItem
(
"
student_file_
"
+
+
window
.
localStorage
.
getItem
(
"
phone
"
+
code
)
+
code
,
JSON
.
stringify
(
this
.
stu_fileListoss
)
);
console
.
log
(
'
student_file_
'
)
this
.
isUploading
=
false
;
})
.
catch
((
err
)
=>
{
this
.
isUploading
=
false
;
this
.
$message
.
error
(
err
);
});
}
else
{
this
.
isUploading
=
false
;
this
.
$message
.
error
(
res
.
data
.
message
);
}
})
.
catch
((
err
)
=>
{
this
.
isUploading
=
false
;
// console.log(err);
});
},
// 下载证明资料图片
handleDownload
(
file
)
{
// console.log(file,'file22');
window
.
location
.
href
=
file
.
url
;
},
//删除图片
handleRemove
(
file
)
{
console
.
log
(
file
,
"
file
"
);
console
.
log
(
this
.
stu_fileList
);
console
.
log
(
file
.
url_open
,
"
file
"
);
this
.
$confirm
(
"
此操作将永久删除该文件, 是否继续?
"
,
"
提示
"
,
{
confirmButtonText
:
"
确定
"
,
cancelButtonText
:
"
取消
"
,
type
:
"
warning
"
,
})
.
then
(()
=>
{
let
getfile
=
file
.
url_open
;
// console.log(savefile.match(/^(?:[^\/]|\/\/)*/),'222222');//获取域名
let
str
=
getfile
.
split
(
"
https://campiste.oss-cn-beijing.aliyuncs.com/
"
);
//https://yingdi-achievement.oss-cn-beijing.aliyuncs.com/进行分割,
console
.
log
(
str
,
"
str
"
);
let
savefile
=
str
[
1
];
// console.log(savefile, "savefile");
let
stu_work_num
=
this
.
work_nums
;
delPic
({
object
:
savefile
,
teacher_id
:
stu_work_num
}).
then
((
res
)
=>
{
// console.log(res, "delpic");
if
(
res
.
data
.
code
!=
200
)
{
return
this
.
$message
.
error
(
res
.
data
.
message
);
}
console
.
log
(
this
.
stu_fileList
);
// console.log(this.stu_fileListoss);
this
.
stu_fileList
.
forEach
((
item
,
idx
)
=>
{
// console.log(idx, "idx");
console
.
log
(
111111
);
console
.
log
(
item
.
url
);
console
.
log
(
file
.
url
);
// return
console
.
log
(
item
.
url
==
file
.
url
);
if
(
item
.
url
==
file
.
url
)
{
this
.
stu_fileList
.
splice
(
idx
,
1
);
let
code
=
this
.
$store
.
state
.
indexIdentity
;
this
.
stu_fileListoss
=
this
.
stu_fileList
.
map
(
function
(
item
,
index
)
{
return
item
.
url
;
})
.
join
(
"
,
"
);
console
.
log
(
this
.
stu_fileListoss
);
console
.
log
(
this
.
stu_fileList
);
this
.
$message
.
success
(
res
.
data
.
message
);
window
.
localStorage
.
setItem
(
"
student_file_
"
+
window
.
localStorage
.
getItem
(
"
phone
"
+
code
)
+
code
,
this
.
stu_fileListoss
);
}
});
});
console
.
log
(
this
.
stu_fileListoss
);
console
.
log
(
this
.
stu_fileList
);
})
.
catch
((
err
)
=>
{
// console.log(err, "err");
this
.
$message
({
type
:
"
info
"
,
message
:
"
取消删除
"
,
});
});
},
// 查看已上传的学生作业
handleCheck
(
url
)
{
console
.
log
(
url
,
"
url
"
);
// console.log(url.match(/\.(jpeg|jpg|gif|png)$/) != null)
// 是否为图片
if
(
url
.
match
(
/
\.(
jpeg|jpg|gif|png
)
$/
)
!=
null
)
{
this
.
dialogVisibleImage
=
true
;
// console.log(url.split(" "), '111')
this
.
srcList
=
url
.
split
(
"
"
);
}
else
{
let
onlineViewType
=
[
"
doc
"
,
"
docx
"
,
"
xls
"
,
"
xlsx
"
,
"
xlsm
"
,
"
ppt
"
,
"
pptx
"
,
];
let
fileTypeName
=
url
.
substring
(
url
.
lastIndexOf
(
"
.
"
)
+
1
,
url
.
length
)
.
split
(
"
?
"
)[
0
];
let
isWord
=
onlineViewType
.
find
((
type
)
=>
type
===
fileTypeName
);
if
(
isWord
)
{
url
=
"
http://view.officeapps.live.com/op/view.aspx?src=
"
+
url
;
}
window
.
open
(
url
,
"
_blank
"
);
}
)
.
then
(()
=>
{
this
.
$refs
[
"
formRef_stu
"
].
validate
((
valid
)
=>
{
if
(
!
valid
)
return
;
// console.log(valid, "valid");
// 未完成
// return
this
.
notReadHandle
();
},
handleImageClose
(
done
)
{
this
.
$confirm
(
"
确认关闭?
"
)
.
then
((
_
)
=>
{
done
();
})
.
catch
((
_
)
=>
{
});
})
.
catch
(()
=>
{
this
.
$message
({
type
:
"
info
"
,
message
:
"
已取消
"
,
},
// 提交按钮
confirm
()
{
if
(
this
.
stu_fileList
.
length
==
0
)
{
return
this
.
$message
.
success
(
'
请上传相关附件再提交
'
)
}
this
.
$confirm
(
"
提交后不可以填写其他作业,但在截止日期前仍可以修改本次作业,江毅最后一次提交的为准。您确认要提交本次作业吗?
"
,
"
提示
"
,
{
confirmButtonText
:
"
确定
"
,
cancelButtonText
:
"
取消
"
,
type
:
"
warning
"
,
}
)
.
then
(()
=>
{
this
.
$refs
[
"
formRef_stu
"
].
validate
((
valid
)
=>
{
if
(
!
valid
)
return
;
// console.log(valid, "valid");
// 未完成
// return
this
.
notReadHandle
();
});
})
.
catch
(()
=>
{
this
.
$message
({
type
:
"
info
"
,
message
:
"
已取消
"
,
});
});
});
},
},
},
watch
:
{
dialogVisibleFu
()
{
this
.
dialogVisible
=
this
.
dialogVisibleFu
;
},
work_nums
()
{
this
.
formData
.
teacher_id
=
this
.
work_nums
;
},
workName
()
{
this
.
work_name
=
this
.
workName
;
},
timeOut
()
{
this
.
time_out
=
this
.
timeOut
;
console
.
log
(
this
.
time_out
,
"
timeout
"
);
watch
:
{
dialogVisibleFu
()
{
this
.
dialogVisible
=
this
.
dialogVisibleFu
;
},
work_nums
()
{
this
.
formData
.
teacher_id
=
this
.
work_nums
;
},
workName
()
{
this
.
work_name
=
this
.
workName
;
},
timeOut
()
{
this
.
time_out
=
this
.
timeOut
;
console
.
log
(
this
.
time_out
,
"
timeout
"
);
},
},
},
};
};
</
script
>
<
style
scoped
lang=
"scss"
>
@import
"a/scss/btn"
;
@import
"a/scss/homework/refer"
;
.flex
{
display
:
flex
;
}
@import
"a/scss/btn"
;
@import
"a/scss/homework/refer"
;
.flex
{
display
:
flex
;
}
</
style
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment