Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Z
ZiBoYingJI
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Kimber
ZiBoYingJI
Commits
00ddc6aa
Commit
00ddc6aa
authored
Aug 05, 2024
by
Kimber
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://h.gemho.cn:7099/18963165066/ziboyingji
parents
99d46dd4
2937edc9
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
646 additions
and
470 deletions
+646
-470
edoc.js
src/api/kd/edoc.js
+28
-0
auth.vue
src/views/edoc/auth.vue
+237
-0
index.vue
src/views/edoc/index.vue
+367
-466
videoConfig.vue
src/views/kd/e/video/videoConfig.vue
+14
-4
No files found.
src/api/kd/edoc.js
View file @
00ddc6aa
import
request
from
'
@/utils/request
'
export
default
{
/**
* 用户-文件夹 权限分配
*/
// 获取用户List
getDataList4User
:
(
pageParam
)
=>
{
return
request
({
url
:
'
api/users
'
,
method
:
'
get
'
,
params
:
pageParam
})
},
saveFolderAuth
:
(
data
)
=>
{
return
request
({
url
:
'
api/document-catalogue
'
,
method
:
'
post
'
,
data
})
},
/**
* 目录-文件 显示页面
* @param {*} pageParam
* @returns
*/
// 获取所有目录
getDataList
:
(
pageParam
)
=>
{
return
request
({
...
...
@@ -26,6 +53,7 @@ export default {
})
},
// 修改文件夹名称: (iotNormalMachine) => {
updateFolder
:
(
data
)
=>
{
return
request
({
url
:
'
api/document-catalogue
'
,
...
...
src/views/edoc/auth.vue
0 → 100644
View file @
00ddc6aa
<
template
>
<div
class=
"app-container"
>
<el-row
:gutter=
"15"
>
<!-- 用户列表 -->
<el-col
:span=
"10"
>
<el-card
class=
"box-card"
shadow=
"never"
>
<div
slot=
"header"
class=
"clearfix"
>
<el-input
v-model=
"query.blurry"
size=
"small"
clearable
placeholder=
"用户名/昵称"
style=
"width: 200px"
class=
"filter-item"
@
keyup.enter.native=
"crud.toQuery"
/>
<el-button
type=
"primary"
size=
"mini"
>
查询
</el-button>
</div>
<el-table
ref=
"table"
style=
"width: 100%"
:data=
"dataList"
@
current-change=
"handleCurrentChange4table"
>
<el-table-column
prop=
"nickName"
label=
"昵称"
align=
"center"
/>
<el-table-column
prop=
"username"
label=
"用户名"
align=
"center"
/>
</el-table>
<!--分页组件-->
<el-pagination
:current-page=
"page"
:page-sizes=
"[10, 20, 30, 40]"
:page-size=
"size"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"totalElement"
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
/>
</el-card>
</el-col>
<!-- 文件夹授权 -->
<el-col
:span=
"12"
style=
"margin-bottom: 10px"
>
<el-card
class=
"box-card"
shadow=
"never"
>
<div
slot=
"header"
class=
"clearfix"
>
<el-button
type=
"primary"
@
click=
"saveFolderAuth"
:loading=
"menuLoading"
>
保存
</el-button
>
</div>
<el-tree
ref=
"menu"
:data=
"folders"
:props=
"defaultProps"
check-strictly
accordion
node-key=
"id"
default-expand-all
:expand-on-click-node=
"false"
>
<div
class=
"custom-tree-node"
slot-scope=
"
{ node, data }">
<span>
{{
node
.
label
}}
</span>
<el-button
:type=
"`$
{data.editWhether ? 'primary' : 'default'}`"
icon="el-icon-edit"
circle
size="mini"
style="margin-left: 40px"
@click="data.editWhether = true"
>
</el-button>
<el-button
:type=
"`$
{data.deleteWhether ? 'primary' : 'default'}`"
icon="el-icon-delete"
circle
size="mini"
@click="data.deleteWhether = true"
>
</el-button>
<el-button
:type=
"`$
{data.uploadWhether ? 'primary' : 'default'}`"
icon="el-icon-upload2"
circle
size="mini"
@click="data.uploadWhether = true"
>
</el-button>
<el-button
:type=
"`$
{data.downloadWhether ? 'primary' : 'default'}`"
icon="el-icon-download"
circle
size="mini"
@click="data.downloadWhether = true"
>
</el-button>
</div>
</el-tree>
</el-card>
</el-col>
</el-row>
</div>
</
template
>
<
script
>
import
edocApi
from
"
@/api/kd/edoc
"
;
import
DateRangePicker
from
"
@/components/DateRangePicker
"
;
export
default
{
name
:
"
Folder
"
,
components
:
{
DateRangePicker
,
},
data
()
{
return
{
query
:
{
blurry
:
""
,
},
dataList
:
[],
totalElement
:
0
,
page
:
0
,
size
:
10
,
defaultProps
:
{
children
:
"
children
"
,
label
:
"
name
"
,
isLeaf
:
"
leaf
"
},
currentUserId
:
0
,
currentName
:
""
,
menuLoading
:
false
,
showButton
:
false
,
folders
:
[],
menuIds
:
[],
};
},
computed
:
{},
mounted
()
{
this
.
getDataList4User
();
// 获取所有文件夹
},
created
()
{},
methods
:
{
// 触发单选
handleCurrentChange4table
(
val
,
oldVal
)
{
if
(
val
)
{
const
loading
=
this
.
$loading
({
fullscreen
:
false
,
text
:
"
加载中...
"
,
background
:
"
transparent
"
,
});
this
.
currentUserId
=
val
.
id
// this.dataList = [];
this
.
getFolderByUserId
();
loading
.
close
();
}
},
// 当前页的条数变化
handleSizeChange
(
val
)
{
this
.
size
=
val
;
this
.
getDataList4User
();
},
// 当前第几页
handleCurrentChange
(
val
)
{
this
.
page
=
val
;
this
.
getFolderByUserId
();
},
getDataList4User
()
{
edocApi
.
getDataList4User
({
page
:
this
.
page
,
size
:
this
.
size
,
fluzz
:
this
.
query
.
fluzz
,
})
.
then
((
res
)
=>
{
console
.
log
(
"
res
"
,
res
);
this
.
dataList
=
res
.
content
;
});
},
getFolderByUserId
()
{
edocApi
.
getDataList
({
userId
:
this
.
currentUserId
,
}).
then
((
res
)
=>
{
this
.
folders
=
res
.
body
;
});
// edocApi
// .getFolderByUserId({
// userId: this.currentUserId,
// })
// .then((res) => {
// this.folders = res.body;
// });
},
confirmFolder
()
{
if
(
!
this
.
currentFolderId
)
{
this
.
$message
.
warning
(
"
请选择文件夹
"
);
return
;
}
this
.
$refs
[
"
folderForm
"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
edocApi
.
addFolder
({
...
this
.
folderForm
,
pid
:
this
.
currentFolderId
,
})
.
then
((
res
)
=>
{
this
.
$message
.
success
(
"
操作成功
"
);
this
.
getDataList4User
();
});
}
});
},
// 保存菜单
saveFolderAuth
()
{
if
(
!
this
.
currentUserId
)
{
this
.
$message
.
warning
(
"
请选择用户
"
);
return
;
}
const
loading
=
this
.
$loading
({
fullscreen
:
false
,
text
:
"
处理中...
"
,
background
:
"
transparent
"
,
});
edocApi
.
saveFolderAuth
({
data
:
this
.
folders
,
})
.
then
(()
=>
{
this
.
$message
.
success
(
"
操作成功
"
);
this
.
menuLoading
=
false
;
})
.
catch
((
err
)
=>
{
this
.
menuLoading
=
false
;
});
loading
.
close
()
},
},
};
</
script
>
<
style
rel=
"stylesheet/scss"
lang=
"scss"
scoped
>
</
style
>
\ No newline at end of file
src/views/edoc/index.vue
View file @
00ddc6aa
<
template
>
<div
class=
"app-container"
>
<!--工具栏-->
<!-- 表单渲染 -->
<el-dialog
append-to-body
:close-on-click-modal=
"false"
:before-close=
"crud.cancelCU"
:visible.sync=
"crud.status.cu > 0"
:title=
"crud.status.title"
width=
"520px"
>
<el-form
ref=
"form"
:inline=
"true"
:model=
"form"
:rules=
"rules"
size=
"small"
label-width=
"80px"
>
<el-form-item
label=
"角色名称"
prop=
"name"
>
<el-input
v-model=
"form.name"
style=
"width: 380px;"
/>
</el-form-item>
<el-form-item
label=
"角色级别"
prop=
"level"
>
<el-input-number
v-model.number=
"form.level"
:min=
"1"
controls-position=
"right"
style=
"width: 145px;"
/>
</el-form-item>
<el-form-item
label=
"数据范围"
prop=
"dataScope"
>
<el-select
v-model=
"form.dataScope"
style=
"width: 140px"
placeholder=
"请选择数据范围"
@
change=
"changeScope"
>
<el-option
v-for=
"item in dateScopes"
:key=
"item"
:label=
"item"
:value=
"item"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"描述信息"
prop=
"description"
>
<el-input
v-model=
"form.description"
style=
"width: 380px;"
rows=
"5"
type=
"textarea"
/>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"text"
@
click=
"crud.cancelCU"
>
取消
</el-button>
<el-button
:loading=
"crud.status.cu === 2"
type=
"primary"
@
click=
"crud.submitCU"
>
确认
</el-button>
</div>
</el-dialog>
<!-- 新增编辑文件夹窗口 -->
<el-dialog
title=
"文件夹"
:visible.sync=
"folderModal"
:close-on-click-modal=
"false"
width=
"500px"
>
<el-form
ref=
"folderForm"
label-width=
"120px"
:model=
"folderForm"
:rules=
"folderRules"
>
<el-form
ref=
"folderForm"
label-width=
"120px"
:model=
"folderForm"
:rules=
"folderRules"
>
<el-form-item
label=
"名称"
prop=
"name"
>
<el-input
v-model=
"folderForm.name"
size=
"small"
clearable
placeholder=
"请输入名称"
style=
"width: 200px;"
class=
"filter-item"
/>
<el-input
v-model=
"folderForm.name"
size=
"small"
clearable
placeholder=
"请输入名称"
style=
"width: 200px"
class=
"filter-item"
/>
</el-form-item>
<el-form-item
label=
"顺序"
prop=
"order"
>
<el-input
v-model=
"folderForm.order"
size=
"small"
clearable
placeholder=
"请输入顺序"
style=
"width: 200px;"
class=
"filter-item"
/>
<el-form-item
label=
"顺序"
prop=
"order"
v-if=
"!folderForm.id"
>
<el-input
v-model=
"folderForm.order"
size=
"small"
clearable
placeholder=
"请输入顺序"
style=
"width: 200px"
class=
"filter-item"
/>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"folderModal = false"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"confirmFolder"
>
确定
</el-button>
<el-button
type=
"primary"
@
click=
"confirmFolder"
:loading=
"modalBtnLoad"
>
确定
</el-button>
</div>
</el-dialog>
<!-- 新增
窗口 -->
<!-- 上传文件
窗口 -->
<el-dialog
title=
"文件
上传
"
title=
"文件
添加
"
:visible.sync=
"fileUploadModal"
:close-on-click-modal=
"false"
>
<el-form
ref=
"formInfo"
label-width=
"120px"
>
<el-form-item>
<el-input
v-model=
"fileType"
size=
"small"
clearable
placeholder=
"请输入文件分类"
style=
"width: 200px;"
class=
"filter-item"
/>
<el-input
v-model=
"fileType"
size=
"small"
clearable
placeholder=
"请输入文件分类"
style=
"width: 200px"
class=
"filter-item"
/>
</el-form-item>
<el-form-item>
<label
...
...
@@ -78,7 +76,7 @@
</label>
</el-form-item>
<el-form-item
label=
""
>
<div
v-for=
"(item, index) in
addEnterhdPic
s"
:key=
"item.name + index"
>
<div
v-for=
"(item, index) in
uploadedFile
s"
:key=
"item.name + index"
>
{{
item
.
name
}}
</div>
</el-form-item>
...
...
@@ -89,32 +87,33 @@
</div>
</el-dialog>
<el-row
:gutter=
"15"
>
<!-- 菜单授权 -->
<el-col
:span=
"6"
style=
"margin-bottom: 10px"
>
<el-card
class=
"box-card"
shadow=
"never"
>
<div
slot=
"header"
class=
"clearfix"
>
<el-button
icon=
"el-icon-minus"
size=
"mini"
style=
"float: right; margin-left:6px;
"
style=
"float: right; margin-left: 6px
"
type=
"danger"
@
click=
"delFolder"
>
删除
</el-button>
@
click=
"delFolder"
>
删除
</el-button
>
<el-button
icon=
"el-icon-plus"
size=
"mini"
style=
"float: right;
"
style=
"float: right
"
type=
"primary"
@
click=
"updateFolder"
>
修改
</el-button>
@
click=
"updateFolder"
>
修改
</el-button
>
<el-button
icon=
"el-icon-plus"
size=
"mini"
style=
"float: right;
"
style=
"float: right
"
type=
"primary"
@
click=
"addFolder"
>
添加
</el-button>
@
click=
"addFolder"
>
添加
</el-button
>
</div>
<el-tree
ref=
"menu"
...
...
@@ -127,20 +126,6 @@
@
check=
"menuChange"
@
node-click=
"menuClick"
/>
<!--
<el-tree
ref=
"menu"
lazy
:data=
"menus"
:default-checked-keys=
"menuIds"
:load=
"getMenuDatas"
:props=
"defaultProps"
check-strictly
accordion
show-checkbox
node-key=
"id"
@
check=
"menuChange"
@
node-click=
"menuClick"
/>
-->
</el-card>
</el-col>
...
...
@@ -148,29 +133,63 @@
<el-col
:span=
"16"
>
<el-card
class=
"box-card"
shadow=
"never"
>
<div
slot=
"header"
class=
"clearfix"
>
<el-button
type=
"primary"
size=
"mini"
@
click=
"fileUploadModal=true"
>
上传文件
</el-button>
<el-input
v-model=
"query.blurry"
size=
"small"
clearable
placeholder=
"查询文件分类"
style=
"width: 200px;"
class=
"filter-item"
@
keyup.enter.native=
"crud.toQuery"
/>
<el-button
type=
"primary"
size=
"mini"
@
click=
"fileUploadModal = true"
>
上传文件
</el-button
>
<el-input
v-model=
"query.type"
size=
"small"
clearable
placeholder=
"查询文件分类"
style=
"width: 200px"
class=
"filter-item"
@
keyup.enter.native=
"crud.toQuery"
/>
<date-range-picker
v-model=
"query.createTime"
class=
"date-item"
/>
<el-input
v-model=
"query.blurry"
size=
"small"
clearable
placeholder=
"查询文件名称"
style=
"width: 200px;"
class=
"filter-item"
@
keyup.enter.native=
"crud.toQuery"
/>
<el-button
type=
"primary"
size=
"mini"
>
查询
</el-button>
<el-input
v-model=
"query.name"
size=
"small"
clearable
placeholder=
"查询文件名称"
style=
"width: 200px"
class=
"filter-item"
/>
<el-button
type=
"primary"
size=
"mini"
@
click=
"search"
>
查询
</el-button>
</div>
<el-table
ref=
"table"
style=
"width: 100%;
"
:data=
"fileDataList"
>
<el-table
ref=
"table"
style=
"width: 100%
"
:data=
"fileDataList"
>
<el-table-column
type=
""
width=
"55"
/>
<el-table-column
prop=
"originallyName"
label=
"文件名称"
/>
<el-table-column
label=
"文件分类"
prop=
"classification"
width=
"100"
/>
<el-table-column
prop=
"originallyName"
label=
"文件名称"
/>
<el-table-column
label=
"文件分类"
prop=
"classification"
width=
"100"
/>
<el-table-column
width=
"200px"
prop=
"createTime"
label=
"录入时间"
/>
<el-table-column
label=
"操作"
width=
"230px"
align=
"center"
>
<template
slot-scope=
"scope"
>
<el-button
type=
"success"
size=
"mini"
@
click=
"downFileById(scope.row)"
>
下载
</el-button>
<el-button
type=
"danger"
size=
"mini"
@
click=
"delFileById(scope.row)"
>
删除
</el-button>
<el-button
type=
"success"
size=
"mini"
@
click=
"downFileById(scope.row)"
>
下载
</el-button
>
<el-button
type=
"danger"
size=
"mini"
@
click=
"delFileById(scope.row)"
>
删除
</el-button
>
</
template
>
</el-table-column>
</el-table>
<!--分页组件-->
<el-pagination
:current-page=
"currentP
age"
:current-page=
"p
age"
:page-sizes=
"[10, 20, 30, 40]"
:page-size=
"currenetPageDegre
e"
:page-size=
"siz
e"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"totalElement"
@
size-change=
"handleSizeChange"
...
...
@@ -180,128 +199,125 @@
</el-col>
</el-row>
</div>
</template>
</template>
<
script
>
import
crudRoles
from
'
@/api/system/role
'
// import edoc{ getfileByFolderId, getFolderList, addFileByFolderId, delfileById } from '@/api/kd/edoc'
import
edocApi
from
'
@/api/kd/edoc
'
import
edocApi
from
"
@/api/kd/edoc
"
;
import
DateRangePicker
from
"
@/components/DateRangePicker
"
;
import
{
getToken
}
from
"
@/utils/auth
"
;
import
axios
from
'
axios
'
import
{
getMenusTree
,
getChild
}
from
'
@/api/system/menu
'
import
CRUD
,
{
presenter
,
header
,
form
,
crud
}
from
'
@crud/crud
'
import
rrOperation
from
'
@crud/RR.operation
'
import
crudOperation
from
'
@crud/CRUD.operation
'
import
udOperation
from
'
@crud/UD.operation
'
import
pagination
from
'
@crud/Pagination
'
import
Treeselect
from
'
@riophae/vue-treeselect
'
import
'
@riophae/vue-treeselect/dist/vue-treeselect.css
'
import
{
LOAD_CHILDREN_OPTIONS
}
from
'
@riophae/vue-treeselect
'
import
DateRangePicker
from
'
@/components/DateRangePicker
'
import
{
mapGetters
}
from
'
vuex
'
import
{
getToken
}
from
'
@/utils/auth
'
const
defaultForm
=
{
id
:
null
,
name
:
null
,
depts
:
[],
description
:
null
,
dataScope
:
'
全部
'
,
level
:
3
}
export
default
{
name
:
'
Folder
'
,
components
:
{
Treeselect
,
pagination
,
crudOperation
,
rrOperation
,
udOperation
,
DateRangePicker
},
cruds
()
{
return
CRUD
({
title
:
'
角色
'
,
url
:
'
api/roles
'
,
sort
:
'
level,asc
'
,
crudMethod
:
{
...
crudRoles
}})
export
default
{
name
:
"
Folder
"
,
components
:
{
DateRangePicker
,
},
mixins
:
[
presenter
(),
header
(),
form
(
defaultForm
),
crud
()],
data
()
{
return
{
modalBtnLoad
:
false
,
query
:{
name
:
''
,
type
:
''
,
createTime
:
''
},
folderModal
:
false
,
folderForm
:
{
name
:
''
,
name
:
""
,
order
:
0
,
},
fileType
:
''
,
fileType
:
""
,
fileUploadModal
:
false
,
addEnterhdPics
:
[],
currentFolderId
:
''
,
currentCheckedFolderId
:
''
,
uploadedFiles
:
[],
currentFolderId
:
""
,
currentCheckedFolderId
:
""
,
currentCheckedFolderInfo
:
{},
fileDataList
:
[],
totalElement
:
0
,
currentPage
:
0
,
currenetPageDegree
:
10
,
dateScopes
:
[
"
全部
"
,
"
本级及以下
"
,
"
自定义
"
,],
defaultProps
:
{
children
:
'
children
'
,
label
:
'
name
'
,
isLeaf
:
'
leaf
'
},
page
:
0
,
size
:
10
,
defaultProps
:
{
children
:
"
children
"
,
label
:
"
name
"
,
isLeaf
:
"
leaf
"
},
level
:
3
,
currentId
:
0
,
currentName
:
''
,
menuLoading
:
false
,
showButton
:
false
,
menus
:
[],
menuIds
:
[],
depts
:
[],
deptDatas
:
[],
// 多选时使用
permission
:
{
add
:
[
'
admin
'
,
'
roles:add
'
],
edit
:
[
'
admin
'
,
'
roles:edit
'
],
del
:
[
'
admin
'
,
'
roles:del
'
]
},
currentId
:
0
,
currentName
:
""
,
menuLoading
:
false
,
showButton
:
false
,
menus
:
[],
menuIds
:
[],
folderRules
:
{
order
:
[
{
required
:
true
,
message
:
'
请输入顺序
'
,
trigger
:
'
blur
'
}
],
name
:
[
{
required
:
true
,
message
:
'
请输入名称
'
,
trigger
:
'
blur
'
}
]
}
}
order
:
[{
required
:
true
,
message
:
"
请输入顺序
"
,
trigger
:
"
blur
"
}],
name
:
[{
required
:
true
,
message
:
"
请输入名称
"
,
trigger
:
"
blur
"
}],
},
computed
:
{
};
},
mounted
(){
this
.
getDataList
()
// 获取所有文件夹
computed
:
{},
mounted
()
{
this
.
getDataList
();
// 获取所有文件夹
},
created
()
{
// crudRoles.getLevel().then(data => {
// this.level = data.level
// })
},
methods
:
{
// 当前页的条数变化
handleSizeChange
(
val
)
{
this
.
currenetPageDegre
e
=
val
;
this
.
siz
e
=
val
;
this
.
getfileByFolderId
();
},
// 当前第几页
handleCurrentChange
(
val
)
{
this
.
currentP
age
=
val
;
this
.
p
age
=
val
;
this
.
getfileByFolderId
();
},
getDataList
(){
edocApi
.
getDataList
({
}).
then
((
res
)
=>
{
this
.
menus
=
res
.
body
})
getDataList
()
{
edocApi
.
getDataList
({}).
then
((
res
)
=>
{
this
.
menus
=
res
.
body
;
});
},
confirmFolder
(){
if
(
!
this
.
currentFolderId
){
this
.
$message
.
warning
(
'
请选择文件夹
'
)
confirmFolder
()
{
this
.
$refs
[
"
folderForm
"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
this
.
modalBtnLoad
){
return
}
this
.
$refs
[
'
folderForm
'
].
validate
(
valid
=>
{
if
(
valid
)
{
edocApi
.
add
Folder
({
this
.
modalBtnLoad
=
true
if
(
this
.
folderForm
.
id
){
// 修改
edocApi
.
update
Folder
({
...
this
.
folderForm
,
pid
:
this
.
currentFolderId
,
}).
then
((
res
)
=>
{
this
.
$message
.
success
(
'
操作成功
'
)
this
.
getDataList
()
})
}
.
then
((
res
)
=>
{
this
.
folderModal
=
false
this
.
$message
.
success
(
"
操作成功
"
);
this
.
getDataList
();
});
}
else
{
// 新增
edocApi
.
addFolder
({
...
this
.
folderForm
,
pid
:
this
.
currentCheckedFolderId
,
})
.
then
((
res
)
=>
{
this
.
folderModal
=
false
this
.
$message
.
success
(
"
操作成功
"
);
this
.
getDataList
();
});
}
this
.
modalBtnLoad
=
false
}
});
},
addFolder
(){
this
.
folderModal
=
true
this
.
folderForm
=
{
name
:
''
,
order
:
''
}
addFolder
()
{
if
(
!
this
.
currentCheckedFolderId
)
{
this
.
$message
.
warning
(
"
请勾选文件夹
"
);
return
;
}
this
.
folderModal
=
true
;
this
.
folderForm
=
{
name
:
""
,
order
:
""
};
},
delFolder
(){
if
(
!
this
.
currentCheckedFolderId
)
{
this
.
$message
.
warning
(
'
请勾选要操作的文件夹
'
)
return
delFolder
()
{
if
(
!
this
.
currentCheckedFolderId
)
{
this
.
$message
.
warning
(
"
请勾选要操作的文件夹
"
);
return
;
}
this
.
$confirm
(
"
确定要删除吗?
"
,
"
提示
"
,
{
confirmButtonText
:
"
确定
"
,
...
...
@@ -309,10 +325,10 @@
type
:
"
warning
"
,
}).
then
(
()
=>
{
edocApi
.
delFolder
([
this
.
currentCheckedFolderId
]).
then
((
res
)
=>
{
this
.
$message
.
success
(
'
操作成功
'
)
this
.
getDataList
()
})
edocApi
.
delFolder
([
this
.
currentCheckedFolderId
]).
then
((
res
)
=>
{
this
.
$message
.
success
(
"
操作成功
"
);
this
.
getDataList
()
;
})
;
},
()
=>
{
this
.
$message
({
...
...
@@ -323,20 +339,33 @@
);
},
downFileById
(
row
)
{
if
(
this
.
isExportLoading
){
return
}
this
.
isExportLoading
=
true
;
// 导出信息
axios
.
defaults
.
headers
.
common
[
"
Authorization
"
]
=
getToken
();
const
apiUrl
=
(
process
.
env
.
VUE_APP_LOCAL_API
+
"
/api/document/download
"
).
replaceAll
(
"
'
"
,
""
)
axios
.
interceptors
.
response
.
use
(
function
(
response
)
{
// 对响应数据做点什么
console
.
log
(
"
响应头
"
,
response
);
return
response
;
},
function
(
error
)
{
// 对响应错误做点什么
return
Promise
.
reject
(
error
);
});
axios
({
url
:
process
.
env
.
VUE_APP_BASE_API
+
"
/api/thCompany/export
"
,
url
:
apiUrl
,
responseType
:
"
blob
"
,
method
:
"
get
"
,
params
:
{
county
:
localStorage
.
getItem
(
"
county
"
)
},
params
:
{
id
:
row
.
id
},
}).
then
((
res
)
=>
{
console
.
log
(
res
,
"
export
"
);
console
.
log
(
"
export
"
,
res
.
headers
[
"
content-disposition
"
]
);
let
data
=
res
.
data
;
let
dis
=
res
.
headers
[
"
content-disposition
"
];
let
url
=
URL
.
createObjectURL
(
data
);
let
fileName
=
dis
.
split
(
"
attachment;filename*=utf-8''
"
)[
1
];
let
dis
=
res
.
headers
[
"
content-disposition
"
];
let
fileName
=
dis
.
split
(
"
filename=
"
)[
1
];
this
.
down
(
url
,
fileName
);
this
.
isExportLoading
=
false
;
});
...
...
@@ -351,17 +380,17 @@
a
.
click
();
document
.
body
.
removeChild
(
a
);
},
delFileById
(
row
){
delFileById
(
row
)
{
this
.
$confirm
(
"
确定要删除吗?
"
,
"
提示
"
,
{
confirmButtonText
:
"
确定
"
,
cancelButtonText
:
"
取消
"
,
type
:
"
warning
"
,
}).
then
(
()
=>
{
edocApi
.
delFileById
([
row
.
id
]).
then
((
res
)
=>
{
this
.
$message
.
success
(
'
操作成功
'
)
this
.
getfileByFolderId
(
this
.
currentFolderId
)
})
edocApi
.
delFileById
([
row
.
id
]).
then
((
res
)
=>
{
this
.
$message
.
success
(
"
操作成功
"
);
this
.
getfileByFolderId
(
this
.
currentFolderId
)
;
})
;
},
()
=>
{
this
.
$message
({
...
...
@@ -371,40 +400,53 @@
}
);
},
updateFolder
(){
updateFolder
()
{
if
(
!
this
.
currentCheckedFolderId
)
{
this
.
$message
.
warning
(
"
请勾选文件夹
"
);
return
;
}
this
.
folderModal
=
true
;
this
.
folderForm
.
name
=
this
.
currentCheckedFolderInfo
.
name
this
.
folderForm
.
order
=
this
.
currentCheckedFolderInfo
.
order
this
.
folderForm
.
id
=
this
.
currentCheckedFolderInfo
.
id
},
getfileByFolderId
(){
edocApi
.
getfileByFolderId
({
search
(){
this
.
getfileByFolderId
()
},
getfileByFolderId
()
{
edocApi
.
getfileByFolderId
({
catalogueId
:
this
.
currentFolderId
,
page
:
this
.
currentPage
,
size
:
this
.
currenetPageDegree
}).
then
((
res
)
=>
{
this
.
fileDataList
=
res
.
body
.
results
this
.
totalElement
=
res
.
body
.
total
page
:
this
.
page
,
size
:
this
.
size
,
...
this
.
query
,
createTime
:
this
.
query
.
createTime
?
this
.
query
.
createTime
.
join
(
'
,
'
)
:
''
})
.
then
((
res
)
=>
{
this
.
fileDataList
=
res
.
body
.
results
;
this
.
totalElement
=
res
.
body
.
total
;
});
},
confirmUploadFile
()
{
if
(
!
this
.
currentFolderId
)
{
this
.
$message
.
warning
(
'
请选择文件夹
'
)
return
confirmUploadFile
()
{
if
(
!
this
.
currentFolderId
)
{
this
.
$message
.
warning
(
"
请选择文件夹
"
);
return
;
}
if
(
!
this
.
addEnterhdPics
.
length
)
{
this
.
$message
.
warning
(
'
请上传文件
'
)
return
if
(
!
this
.
uploadedFiles
.
length
)
{
this
.
$message
.
warning
(
"
请上传文件
"
);
return
;
}
const
formData
=
new
FormData
();
// console.log(this.formInfo.hdstatus1, "haStatus");
formData
.
append
(
'
fileList
'
,
this
.
addEnterhdPic
s
[
0
]);
formData
.
append
(
'
catalogueId
'
,
this
.
currentFolderId
);
formData
.
append
(
'
classification
'
,
this
.
fileType
);
formData
.
append
(
"
fileList
"
,
this
.
uploadedFile
s
[
0
]);
formData
.
append
(
"
catalogueId
"
,
this
.
currentFolderId
);
formData
.
append
(
"
classification
"
,
this
.
fileType
);
edocApi
.
addFileByFolderId
(
formData
).
then
((
res
)
=>
{
this
.
$message
.
success
(
'
操作成功
'
)
this
.
getfileByFolderId
()
this
.
fileUploadModal
=
false
})
edocApi
.
addFileByFolderId
(
formData
).
then
((
res
)
=>
{
this
.
$message
.
success
(
"
操作成功
"
);
this
.
getfileByFolderId
();
this
.
fileUploadModal
=
false
;
});
},
addhdPicChange
(
event
)
{
// event.target 是触发事件的 input 元素
...
...
@@ -417,185 +459,44 @@
console
.
log
(
`文件大小:
${
file
.
size
}
bytes`
);
console
.
log
(
`文件类型:
${
file
.
type
}
`
);
}
this
.
addEnterhdPics
=
[
files
[
0
]]
this
.
uploadedFiles
=
[
files
[
0
]];
},
getMenuDatas
(
node
,
resolve
)
{
setTimeout
(()
=>
{
getMenusTree
(
node
.
data
.
id
?
node
.
data
.
id
:
0
).
then
(
res
=>
{
if
(
this
.
user
&&
this
.
user
.
isAdmin
)
{
res
.
forEach
(
menu
=>
{
menu
.
label
=
(
menu
.
enterpriseType
===
0
?
'
局)
'
:
'
企)
'
)
+
menu
.
label
})
}
resolve
(
res
)
})
},
100
)
},
// 触发单选
handleCurrentChange
(
val
)
{
if
(
val
)
{
const
_this
=
this
// 清空菜单的选中
this
.
$refs
.
menu
.
setCheckedKeys
([])
// 保存当前的角色id
this
.
currentId
=
val
.
id
this
.
currentName
=
val
.
name
// 初始化默认选中的key
this
.
menuIds
=
[]
val
.
menus
.
forEach
(
function
(
data
)
{
_this
.
menuIds
.
push
(
data
.
id
)
})
this
.
showButton
=
true
}
},
menuClick
(
data
,
node
,
target
){
console
.
log
(
'
menuClick
'
,
data
,
node
,
target
)
menuClick
(
data
,
node
,
target
)
{
console
.
log
(
"
menuClick
"
,
data
,
node
,
target
);
// 传递文件夹ID,获取对应文件夹下的文件数据
this
.
currentFolderId
=
data
.
id
this
.
getfileByFolderId
()
this
.
currentFolderId
=
data
.
id
;
this
.
getfileByFolderId
();
},
menuChange
(
data
,
node
,
target
)
{
console
.
log
(
'
menuChange
'
,
data
,
node
,
target
)
const
menu
=
data
this
.
currentCheckedFolderId
=
node
.
checkedKeys
.
length
?
node
.
checkedKeys
[
0
]
:
''
// // 获取该节点的所有子节点,id 包含自身
// getChild(menu.id).then(childIds => {
// // 判断是否在 menuIds 中,如果存在则删除,否则添加
// if (this.menuIds.indexOf(menu.id) !== -1) {
// for (let i = 0; i
<
childIds
.
length
;
i
++
)
{
// const index = this.menuIds.indexOf(childIds[i])
// if (index !== -1) {
// this.menuIds.splice(index, 1)
// }
// }
// } else {
// for (let i = 0; i
<
childIds
.
length
;
i
++
)
{
// const index = this.menuIds.indexOf(childIds[i])
// if (index === -1) {
// this.menuIds.push(childIds[i])
// }
// }
// }
// this.$refs.menu.setCheckedKeys(this.menuIds)
// /**
// * 1 勾选菜单后
// *
// */
// })
},
// 保存菜单
saveMenu
()
{
this
.
menuLoading
=
true
const
role
=
{
id
:
this
.
currentId
,
menus
:
[]
}
// 得到已选中的 key 值
this
.
menuIds
.
forEach
(
function
(
id
)
{
const
menu
=
{
id
:
id
}
role
.
menus
.
push
(
menu
)
})
crudRoles
.
editMenu
(
role
).
then
(()
=>
{
this
.
crud
.
notify
(
'
保存成功
'
,
CRUD
.
NOTIFICATION_TYPE
.
SUCCESS
)
this
.
menuLoading
=
false
this
.
update
()
}).
catch
(
err
=>
{
this
.
menuLoading
=
false
console
.
log
(
err
.
response
.
data
.
message
)
})
},
// 改变数据
update
()
{
// 无刷新更新 表格数据
crudRoles
.
get
(
this
.
currentId
).
then
(
res
=>
{
for
(
let
i
=
0
;
i
<
this
.
crud
.
data
.
length
;
i
++
)
{
if
(
res
.
id
===
this
.
crud
.
data
[
i
].
id
)
{
this
.
crud
.
data
[
i
]
=
res
break
}
}
})
},
// 获取部门数据
getDepts
()
{
getDepts
({
enabled
:
true
}).
then
(
res
=>
{
this
.
depts
=
res
.
content
.
map
(
function
(
obj
)
{
if
(
obj
.
hasChildren
)
{
obj
.
children
=
null
}
return
obj
})
})
},
getSupDepts
(
depts
)
{
const
ids
=
[]
depts
.
forEach
(
dept
=>
{
ids
.
push
(
dept
.
id
)
})
getDeptSuperior
(
ids
).
then
(
res
=>
{
const
date
=
res
.
content
this
.
buildDepts
(
date
)
this
.
depts
=
date
})
console
.
log
(
"
menuChange
"
,
data
,
node
,
target
);
this
.
currentCheckedFolderInfo
=
data
const
menu
=
data
;
this
.
currentCheckedFolderId
=
node
.
checkedKeys
.
length
?
node
.
checkedKeys
[
0
]
:
""
;
},
buildDepts
(
depts
)
{
depts
.
forEach
(
data
=>
{
if
(
data
.
children
)
{
this
.
buildDepts
(
data
.
children
)
}
if
(
data
.
hasChildren
&&
!
data
.
children
)
{
data
.
children
=
null
}
})
},
// 获取弹窗内部门数据
loadDepts
({
action
,
parentNode
,
callback
})
{
if
(
action
===
LOAD_CHILDREN_OPTIONS
)
{
getDepts
({
enabled
:
true
,
pid
:
parentNode
.
id
}).
then
(
res
=>
{
parentNode
.
children
=
res
.
content
.
map
(
function
(
obj
)
{
if
(
obj
.
hasChildren
)
{
obj
.
children
=
null
}
return
obj
})
setTimeout
(()
=>
{
callback
()
},
200
)
})
}
},
// 如果数据权限为自定义则获取部门数据
changeScope
()
{
if
(
this
.
form
.
dataScope
===
'
自定义
'
)
{
this
.
getDepts
()
}
},
checkboxT
(
row
)
{
return
row
.
level
>=
this
.
level
}
}
}
</
script
>
};
</
script
>
<
style
rel=
"stylesheet/scss"
lang=
"scss"
>
.role-span
{
font-weight
:
bold
;
color
:
#303133
;
.role-span
{
font-weight
:
bold
;
color
:
#303133
;
font-size
:
15px
;
}
</
style
>
}
</
style
>
<
style
rel=
"stylesheet/scss"
lang=
"scss"
scoped
>
::v-deep
.el-input-number
.el-input__inner
{
::v-deep
.el-input-number
.el-input__inner
{
text-align
:
left
;
}
::v-deep
.vue-treeselect__multi-value
{
}
::v-deep
.vue-treeselect__multi-value
{
margin-bottom
:
0
;
}
::v-deep
.vue-treeselect__multi-value-item
{
}
::v-deep
.vue-treeselect__multi-value-item
{
border
:
0
;
padding
:
0
;
}
</
style
>
}
</
style
>
\ No newline at end of file
src/views/kd/e/video/videoConfig.vue
View file @
00ddc6aa
...
...
@@ -135,28 +135,35 @@
v-model=
"employee.channel"
placeholder=
"通道(如:1.hd.live)"
type=
"text"
style=
"width:
20
0px"
style=
"width:
15
0px"
:disabled=
"editState == 3"
/>
<el-input
v-model=
"employee.id"
placeholder=
"萤石云ID(G67791073)"
type=
"text"
style=
"width:
20
0px"
style=
"width:
15
0px"
:disabled=
"editState == 3"
/>
<el-input
v-model=
"employee.name"
placeholder=
"名称"
type=
"text"
style=
"width: 200px"
style=
"width: 150px"
:disabled=
"editState == 3"
/>
<el-input
v-model=
"employee.captcha"
placeholder=
"验证码"
type=
"text"
style=
"width: 150px"
:disabled=
"editState == 3"
/>
<el-input
v-model=
"employee.remark"
placeholder=
"备注"
type=
"text"
style=
"width:
20
0px"
style=
"width:
15
0px"
:disabled=
"editState == 3"
/>
<el-button
...
...
@@ -291,6 +298,7 @@ export default {
id
:
""
,
name
:
""
,
remark
:
""
,
captcha
:
''
},
],
},
...
...
@@ -308,6 +316,7 @@ export default {
id
:
""
,
name
:
""
,
remark
:
""
,
captcha
:
''
},
],
},
// 上次正在新增时的内容,下次打开dialog1窗口时记录下来
...
...
@@ -363,6 +372,7 @@ export default {
id
:
""
,
name
:
""
,
remark
:
""
,
captcha
:
''
});
},
deleteEmployee
(
index
,
eIndex
)
{
...
...
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