|
|
|
@ -4,19 +4,20 @@ |
|
|
|
<!-- 左侧分类菜单 --> |
|
|
|
<!-- 左侧分类菜单 --> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-form> |
|
|
|
<el-form> |
|
|
|
<el-form-item prop="userName"> |
|
|
|
<el-form-item prop="name"> |
|
|
|
<el-input |
|
|
|
<el-input |
|
|
|
v-model="deptFilterText" |
|
|
|
v-model="queryLeftParams.name" |
|
|
|
placeholder="输入部门名称过滤" |
|
|
|
placeholder="输入部门名称过滤" |
|
|
|
clearable |
|
|
|
clearable |
|
|
|
size="small" |
|
|
|
size="small" |
|
|
|
prefix-icon="el-icon-search" |
|
|
|
prefix-icon="el-icon-search" |
|
|
|
|
|
|
|
@keyup.enter.native="getKnowledgeCateList" |
|
|
|
> |
|
|
|
> |
|
|
|
<template slot="append"> |
|
|
|
<template slot="append"> |
|
|
|
<el-button |
|
|
|
<el-button |
|
|
|
slot="append" |
|
|
|
slot="append" |
|
|
|
icon="el-icon-refresh-right" |
|
|
|
icon="el-icon-refresh-right" |
|
|
|
@click="refreshMenu" |
|
|
|
@click="refreshKnowledgeCateList" |
|
|
|
/> |
|
|
|
/> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
</el-input> |
|
|
|
</el-input> |
|
|
|
@ -25,14 +26,14 @@ |
|
|
|
<el-menu :default-active="defaultActive" @select="handleSelect"> |
|
|
|
<el-menu :default-active="defaultActive" @select="handleSelect"> |
|
|
|
<!-- 内置标签 --> |
|
|
|
<!-- 内置标签 --> |
|
|
|
<el-menu-item |
|
|
|
<el-menu-item |
|
|
|
v-for="(dept, index) in builtInDepts" |
|
|
|
v-for="(item, index) in systemCateList" |
|
|
|
:key="`built-in-${index}`" |
|
|
|
:key="`built-in-${index}`" |
|
|
|
:index="`built-in-${index}`" |
|
|
|
:index="`built-in-${index}`" |
|
|
|
class="custom-item" |
|
|
|
class="custom-item" |
|
|
|
> |
|
|
|
> |
|
|
|
<div class="left"> |
|
|
|
<div class="left"> |
|
|
|
<i :class="getBuiltInIcon(index)" /> |
|
|
|
<i :class="getBuiltInIcon(index)" /> |
|
|
|
<span>{{ dept.label }}</span> |
|
|
|
<span>{{ item.name }}</span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<!-- 内置标签无操作按钮 --> |
|
|
|
<!-- 内置标签无操作按钮 --> |
|
|
|
</el-menu-item> |
|
|
|
</el-menu-item> |
|
|
|
@ -45,7 +46,7 @@ |
|
|
|
> |
|
|
|
> |
|
|
|
<div class="left"> |
|
|
|
<div class="left"> |
|
|
|
<i class="el-icon-collection-tag" /> |
|
|
|
<i class="el-icon-collection-tag" /> |
|
|
|
<span>{{ dept.label }}</span> |
|
|
|
<span>{{ dept.name }}</span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="right"> |
|
|
|
<div class="right"> |
|
|
|
<el-button |
|
|
|
<el-button |
|
|
|
@ -73,15 +74,15 @@ |
|
|
|
<el-col :span="18"> |
|
|
|
<el-col :span="18"> |
|
|
|
<!-- 搜索区域 --> |
|
|
|
<!-- 搜索区域 --> |
|
|
|
<el-form |
|
|
|
<el-form |
|
|
|
:model="queryParams" |
|
|
|
:model="queryRightParams" |
|
|
|
ref="queryForm" |
|
|
|
ref="queryForm" |
|
|
|
:inline="true" |
|
|
|
:inline="true" |
|
|
|
v-show="showSearch" |
|
|
|
v-show="showSearch" |
|
|
|
label-width="68px" |
|
|
|
label-width="68px" |
|
|
|
> |
|
|
|
> |
|
|
|
<el-form-item label="文件名称" prop="userName"> |
|
|
|
<el-form-item label="文件名称" prop="file_name"> |
|
|
|
<el-input |
|
|
|
<el-input |
|
|
|
v-model="queryParams.userName" |
|
|
|
v-model="queryRightParams.file_name" |
|
|
|
placeholder="请输入文件名称" |
|
|
|
placeholder="请输入文件名称" |
|
|
|
clearable |
|
|
|
clearable |
|
|
|
style="width: 240px" |
|
|
|
style="width: 240px" |
|
|
|
@ -115,16 +116,16 @@ |
|
|
|
<el-table v-loading="loading" :data="userList"> |
|
|
|
<el-table v-loading="loading" :data="userList"> |
|
|
|
<el-table-column |
|
|
|
<el-table-column |
|
|
|
label="缩略图" |
|
|
|
label="缩略图" |
|
|
|
prop="thumbnail" |
|
|
|
prop="thumbnail_path" |
|
|
|
align="center" |
|
|
|
align="center" |
|
|
|
v-if="columns.thumbnail.visible" |
|
|
|
v-if="columns.thumbnail_path.visible" |
|
|
|
width="250" |
|
|
|
width="250" |
|
|
|
> |
|
|
|
> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-image |
|
|
|
<el-image |
|
|
|
class="resource-thumb" |
|
|
|
class="resource-thumb" |
|
|
|
:src=" |
|
|
|
:src=" |
|
|
|
scope.row.thumbnail || defaultThumbnail(scope.row.fileType) |
|
|
|
scope.row.thumbnail_path || defaultthumbnail_path(scope.row.fileType) |
|
|
|
" |
|
|
|
" |
|
|
|
fit="contain" |
|
|
|
fit="contain" |
|
|
|
@click="handlePreview(scope.row)" |
|
|
|
@click="handlePreview(scope.row)" |
|
|
|
@ -136,8 +137,8 @@ |
|
|
|
<el-table-column |
|
|
|
<el-table-column |
|
|
|
label="文件名" |
|
|
|
label="文件名" |
|
|
|
align="center" |
|
|
|
align="center" |
|
|
|
prop="userName" |
|
|
|
prop="file_name" |
|
|
|
v-if="columns.userName.visible" |
|
|
|
v-if="columns.file_name.visible" |
|
|
|
:show-overflow-tooltip="true" |
|
|
|
:show-overflow-tooltip="true" |
|
|
|
/> |
|
|
|
/> |
|
|
|
<el-table-column |
|
|
|
<el-table-column |
|
|
|
@ -197,8 +198,8 @@ |
|
|
|
<pagination |
|
|
|
<pagination |
|
|
|
v-show="total > 0" |
|
|
|
v-show="total > 0" |
|
|
|
:total="total" |
|
|
|
:total="total" |
|
|
|
:page.sync="queryParams.pageNum" |
|
|
|
:page.sync="queryRightParams.pageNum" |
|
|
|
:limit.sync="queryParams.pageSize" |
|
|
|
:limit.sync="queryRightParams.pageSize" |
|
|
|
@pagination="getList" |
|
|
|
@pagination="getList" |
|
|
|
/> |
|
|
|
/> |
|
|
|
</el-col> |
|
|
|
</el-col> |
|
|
|
@ -245,9 +246,9 @@ |
|
|
|
ref="fileNameFormRef" |
|
|
|
ref="fileNameFormRef" |
|
|
|
label-width="80px" |
|
|
|
label-width="80px" |
|
|
|
> |
|
|
|
> |
|
|
|
<el-form-item label="文件名称" prop="userName"> |
|
|
|
<el-form-item label="文件名称" prop="file_name"> |
|
|
|
<el-input |
|
|
|
<el-input |
|
|
|
v-model="fileNameForm.userName" |
|
|
|
v-model="fileNameForm.file_name" |
|
|
|
placeholder="请输入文件名称" |
|
|
|
placeholder="请输入文件名称" |
|
|
|
show-word-limit |
|
|
|
show-word-limit |
|
|
|
maxlength="8" |
|
|
|
maxlength="8" |
|
|
|
@ -324,6 +325,9 @@ |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
|
|
<script> |
|
|
|
<script> |
|
|
|
|
|
|
|
import { getKnowledgeCateList, getKnowledgeList } from "@/api/knowledge"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import { listUser, delUser, deptTreeSelect } from "@/api/system/user"; |
|
|
|
import { listUser, delUser, deptTreeSelect } from "@/api/system/user"; |
|
|
|
import { getToken } from "@/utils/auth"; |
|
|
|
import { getToken } from "@/utils/auth"; |
|
|
|
import CreateGroupDialog from "@/views/message/components/CreateGroupDialog"; |
|
|
|
import CreateGroupDialog from "@/views/message/components/CreateGroupDialog"; |
|
|
|
@ -331,33 +335,34 @@ import CreateGroupDialog from "@/views/message/components/CreateGroupDialog"; |
|
|
|
export default { |
|
|
|
export default { |
|
|
|
name: "Knowledge", |
|
|
|
name: "Knowledge", |
|
|
|
components: { |
|
|
|
components: { |
|
|
|
CreateGroupDialog |
|
|
|
CreateGroupDialog, |
|
|
|
}, |
|
|
|
}, |
|
|
|
data() { |
|
|
|
data() { |
|
|
|
return { |
|
|
|
return { |
|
|
|
loading: true, |
|
|
|
defaultActive: "", |
|
|
|
total: 0, |
|
|
|
queryLeftParams: { |
|
|
|
userList: [], |
|
|
|
name: "", |
|
|
|
showSearch: true, |
|
|
|
}, |
|
|
|
queryParams: { |
|
|
|
systemCateList: [], |
|
|
|
|
|
|
|
userCateList: [], |
|
|
|
|
|
|
|
queryRightParams: { |
|
|
|
pageNum: 1, |
|
|
|
pageNum: 1, |
|
|
|
pageSize: 10, |
|
|
|
pageSize: 10, |
|
|
|
userName: undefined, |
|
|
|
total: 0, |
|
|
|
deptId: undefined, |
|
|
|
|
|
|
|
}, |
|
|
|
}, |
|
|
|
columns: { |
|
|
|
columns: { |
|
|
|
thumbnail: { label: "缩略图", visible: true }, |
|
|
|
thumbnail_path: { label: "缩略图", visible: true }, |
|
|
|
userName: { label: "文件名", visible: true }, |
|
|
|
file_name: { label: "文件名", visible: true }, |
|
|
|
createTime: { label: "上传时间", visible: true }, |
|
|
|
createTime: { label: "上传时间", visible: true }, |
|
|
|
fileSize: { label: "文件大小", visible: true }, |
|
|
|
fileSize: { label: "文件大小", visible: true }, |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
list: [], |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
loading: true, |
|
|
|
|
|
|
|
userList: [], |
|
|
|
|
|
|
|
showSearch: true, |
|
|
|
deptFilterText: "", |
|
|
|
deptFilterText: "", |
|
|
|
deptOptions: [], |
|
|
|
deptOptions: [], |
|
|
|
builtInDepts: [ |
|
|
|
|
|
|
|
{ label: "海信产品介绍", id: "built-in-0" }, |
|
|
|
|
|
|
|
{ label: "公共教学视频", id: "built-in-1" }, |
|
|
|
|
|
|
|
{ label: "个人收藏录像", id: "built-in-2" }, |
|
|
|
|
|
|
|
], |
|
|
|
|
|
|
|
currentTag: "", |
|
|
|
currentTag: "", |
|
|
|
// 标签弹窗 |
|
|
|
// 标签弹窗 |
|
|
|
tagDialogVisible: false, |
|
|
|
tagDialogVisible: false, |
|
|
|
@ -370,9 +375,9 @@ export default { |
|
|
|
}, |
|
|
|
}, |
|
|
|
// 文件名弹窗 |
|
|
|
// 文件名弹窗 |
|
|
|
fileNameDialogVisible: false, |
|
|
|
fileNameDialogVisible: false, |
|
|
|
fileNameForm: { userId: undefined, userName: "" }, |
|
|
|
fileNameForm: { userId: undefined, file_name: "" }, |
|
|
|
fileNameRules: { |
|
|
|
fileNameRules: { |
|
|
|
userName: [ |
|
|
|
file_name: [ |
|
|
|
{ required: true, message: "文件名不能为空", trigger: "blur" }, |
|
|
|
{ required: true, message: "文件名不能为空", trigger: "blur" }, |
|
|
|
], |
|
|
|
], |
|
|
|
}, |
|
|
|
}, |
|
|
|
@ -406,20 +411,86 @@ export default { |
|
|
|
}, |
|
|
|
}, |
|
|
|
}, |
|
|
|
}, |
|
|
|
created() { |
|
|
|
created() { |
|
|
|
this.getList(); |
|
|
|
this.getKnowledgeCateList(); |
|
|
|
this.getDeptTree(); |
|
|
|
// this.getList(); |
|
|
|
this.getContactList(); |
|
|
|
// this.getDeptTree(); |
|
|
|
|
|
|
|
// this.getContactList(); |
|
|
|
}, |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
methods: { |
|
|
|
refreshMenu() { |
|
|
|
refreshKnowledgeCateList() { |
|
|
|
this.deptFilterText = ""; |
|
|
|
this.queryLeftParams.name = ""; |
|
|
|
this.getDeptTree(); |
|
|
|
this.getKnowledgeCateList(); |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
getKnowledgeCateList() { |
|
|
|
|
|
|
|
// getKnowledgeCateList().then((res) => { |
|
|
|
|
|
|
|
let res = { |
|
|
|
|
|
|
|
code: 200, |
|
|
|
|
|
|
|
message: "成功", |
|
|
|
|
|
|
|
data: { |
|
|
|
|
|
|
|
system_cate_list: [ |
|
|
|
|
|
|
|
{ id: 2, name: "产品介绍" }, |
|
|
|
|
|
|
|
{ id: 0, name: "公共教学视频" }, |
|
|
|
|
|
|
|
{ id: 1, name: "个人收藏录像" }, |
|
|
|
|
|
|
|
], |
|
|
|
|
|
|
|
user_cate_list: [], |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
this.systemCateList = res.data.system_cate_list; |
|
|
|
|
|
|
|
this.defaultActive = this.systemCateList[0].id; |
|
|
|
|
|
|
|
this.userCateList = res.data.user_cate_list; |
|
|
|
|
|
|
|
// }) |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
handleSelect(key) { |
|
|
|
|
|
|
|
console.log(key); |
|
|
|
|
|
|
|
// const [type, idx] = key.split("-"); |
|
|
|
|
|
|
|
// this.currentTag = |
|
|
|
|
|
|
|
// type === "built-in" |
|
|
|
|
|
|
|
// ? this.systemCateList[idx].id |
|
|
|
|
|
|
|
// : this.filteredCustomDeptList[idx]?.id; |
|
|
|
|
|
|
|
this.queryRightParams.deptId = this.currentTag; |
|
|
|
|
|
|
|
this.handleQuery(); |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
getKnowledgeList() { |
|
|
|
|
|
|
|
// getKnowledgeList(this.queryRightParams).then((res) => { |
|
|
|
|
|
|
|
let res = { |
|
|
|
|
|
|
|
code: 200, |
|
|
|
|
|
|
|
message: "成功", |
|
|
|
|
|
|
|
data: { |
|
|
|
|
|
|
|
list: [ |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
id: 824, |
|
|
|
|
|
|
|
title: "1633500241136.mp4", |
|
|
|
|
|
|
|
thumbnail_path_path: |
|
|
|
|
|
|
|
"personal-test/video/688/1779759317/1633500241136.png", |
|
|
|
|
|
|
|
file_path: "personal-test/video/688/1779759317/1633500241136.mp4", |
|
|
|
|
|
|
|
file_name: "1633500241136.mp4", |
|
|
|
|
|
|
|
file_type: "MP4", |
|
|
|
|
|
|
|
file_size: 18794616, |
|
|
|
|
|
|
|
true_file_size: 18796714, |
|
|
|
|
|
|
|
creator_id: 688, |
|
|
|
|
|
|
|
play_times: 0, |
|
|
|
|
|
|
|
is_mine: 1, |
|
|
|
|
|
|
|
cate_id: 152, |
|
|
|
|
|
|
|
description: "", |
|
|
|
|
|
|
|
del_flag: 0, |
|
|
|
|
|
|
|
create_time: "2026-05-26 09:35:14", |
|
|
|
|
|
|
|
update_time: "2026-05-26 09:35:14", |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
], |
|
|
|
|
|
|
|
total: 1, |
|
|
|
|
|
|
|
is_mine: 0, |
|
|
|
|
|
|
|
cate_id: 152, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
this.list = res.data.list; |
|
|
|
|
|
|
|
this.queryRightParams.total = res.data.total; |
|
|
|
|
|
|
|
// }) |
|
|
|
}, |
|
|
|
}, |
|
|
|
getContactList() { |
|
|
|
getContactList() { |
|
|
|
listUser({ pageNum: 1, pageSize: 100 }).then((res) => { |
|
|
|
listUser({ pageNum: 1, pageSize: 100 }).then((res) => { |
|
|
|
this.recentContacts = res.rows.map((user) => ({ |
|
|
|
this.recentContacts = res.rows.map((user) => ({ |
|
|
|
id: user.userId, |
|
|
|
id: user.userId, |
|
|
|
name: user.nickName || user.userName, |
|
|
|
name: user.nickName || user.file_name, |
|
|
|
avatar: user.avatar || "", |
|
|
|
avatar: user.avatar || "", |
|
|
|
})); |
|
|
|
})); |
|
|
|
}); |
|
|
|
}); |
|
|
|
@ -435,7 +506,7 @@ export default { |
|
|
|
getFileIcon(t) { |
|
|
|
getFileIcon(t) { |
|
|
|
return t === "video" ? "el-icon-video-play" : "el-icon-document"; |
|
|
|
return t === "video" ? "el-icon-video-play" : "el-icon-document"; |
|
|
|
}, |
|
|
|
}, |
|
|
|
defaultThumbnail(t) { |
|
|
|
defaultthumbnail_path(t) { |
|
|
|
return t === "video" |
|
|
|
return t === "video" |
|
|
|
? "https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg" |
|
|
|
? "https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg" |
|
|
|
: "https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3794312f7670b85636.jpeg"; |
|
|
|
: "https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3794312f7670b85636.jpeg"; |
|
|
|
@ -451,15 +522,7 @@ export default { |
|
|
|
} |
|
|
|
} |
|
|
|
return s.toFixed(2) + u[i]; |
|
|
|
return s.toFixed(2) + u[i]; |
|
|
|
}, |
|
|
|
}, |
|
|
|
handleSelect(key) { |
|
|
|
|
|
|
|
const [type, idx] = key.split("-"); |
|
|
|
|
|
|
|
this.currentTag = |
|
|
|
|
|
|
|
type === "built-in" |
|
|
|
|
|
|
|
? this.builtInDepts[idx].id |
|
|
|
|
|
|
|
: this.filteredCustomDeptList[idx]?.id; |
|
|
|
|
|
|
|
this.queryParams.deptId = this.currentTag; |
|
|
|
|
|
|
|
this.handleQuery(); |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
handleAddTag() { |
|
|
|
handleAddTag() { |
|
|
|
this.tagForm = { id: null, label: "" }; |
|
|
|
this.tagForm = { id: null, label: "" }; |
|
|
|
this.tagDialogVisible = true; |
|
|
|
this.tagDialogVisible = true; |
|
|
|
@ -477,7 +540,7 @@ export default { |
|
|
|
.then(() => { |
|
|
|
.then(() => { |
|
|
|
this.$modal.msgSuccess("删除成功"); |
|
|
|
this.$modal.msgSuccess("删除成功"); |
|
|
|
this.getDeptTree(); |
|
|
|
this.getDeptTree(); |
|
|
|
this.migrateResource(tag.id, this.builtInDepts[2].id); |
|
|
|
this.migrateResource(tag.id, this.systemCateList[2].id); |
|
|
|
}) |
|
|
|
}) |
|
|
|
.catch(() => {}); |
|
|
|
.catch(() => {}); |
|
|
|
}, |
|
|
|
}, |
|
|
|
@ -485,7 +548,7 @@ export default { |
|
|
|
migrateResource(oldDeptId, newDeptId) { |
|
|
|
migrateResource(oldDeptId, newDeptId) { |
|
|
|
this.getList(); |
|
|
|
this.getList(); |
|
|
|
}, |
|
|
|
}, |
|
|
|
submitTagForm() { |
|
|
|
submitTagForm() { |
|
|
|
this.$refs["tagFormRef"].validate((valid) => { |
|
|
|
this.$refs["tagFormRef"].validate((valid) => { |
|
|
|
if (valid) { |
|
|
|
if (valid) { |
|
|
|
if (this.tagForm.id) { |
|
|
|
if (this.tagForm.id) { |
|
|
|
@ -504,18 +567,18 @@ export default { |
|
|
|
this.tagDialogVisible = false; |
|
|
|
this.tagDialogVisible = false; |
|
|
|
}, |
|
|
|
}, |
|
|
|
handleQuery() { |
|
|
|
handleQuery() { |
|
|
|
this.queryParams.pageNum = 1; |
|
|
|
this.queryRightParams.pageNum = 1; |
|
|
|
this.getList(); |
|
|
|
this.getList(); |
|
|
|
}, |
|
|
|
}, |
|
|
|
resetQuery() { |
|
|
|
resetQuery() { |
|
|
|
this.resetForm("queryForm"); |
|
|
|
this.resetForm("queryForm"); |
|
|
|
this.queryParams.deptId = null; |
|
|
|
this.queryRightParams.deptId = null; |
|
|
|
this.currentTag = ""; |
|
|
|
this.currentTag = ""; |
|
|
|
this.handleQuery(); |
|
|
|
this.handleQuery(); |
|
|
|
}, |
|
|
|
}, |
|
|
|
getList() { |
|
|
|
getList() { |
|
|
|
this.loading = true; |
|
|
|
this.loading = true; |
|
|
|
listUser(this.queryParams).then((res) => { |
|
|
|
listUser(this.queryRightParams).then((res) => { |
|
|
|
this.userList = res.rows; |
|
|
|
this.userList = res.rows; |
|
|
|
this.total = res.total; |
|
|
|
this.total = res.total; |
|
|
|
this.loading = false; |
|
|
|
this.loading = false; |
|
|
|
@ -579,7 +642,7 @@ export default { |
|
|
|
}, |
|
|
|
}, |
|
|
|
// 上传前校验 |
|
|
|
// 上传前校验 |
|
|
|
beforeUpload(file) { |
|
|
|
beforeUpload(file) { |
|
|
|
this.uploadParams.deptId = this.currentTag || this.builtInDepts[2].id; |
|
|
|
this.uploadParams.deptId = this.currentTag || this.systemCateList[2].id; |
|
|
|
this.uploadParams.fileType = this.currentFileType; |
|
|
|
this.uploadParams.fileType = this.currentFileType; |
|
|
|
this.uploadProgressDialogVisible = true; |
|
|
|
this.uploadProgressDialogVisible = true; |
|
|
|
this.uploadPercent = 0; |
|
|
|
this.uploadPercent = 0; |
|
|
|
|