Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
lmp_web
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
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
yujian
lmp_web
Commits
5c7015ff
Commit
5c7015ff
authored
Dec 22, 2023
by
mhw
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'ljgc-web' of
http://218.76.0.69:3000/lmp/lmp_web
into ljgc-web
parents
e60e7e52
86c5a6a6
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
438 additions
and
10 deletions
+438
-10
KnowledgeManage.js
src/api/GptController/KnowledgeManage.js
+22
-7
index.vue
src/views/gptTraining/knowledgeBase/card/index.vue
+12
-1
edit.vue
...tTraining/knowledgeBase/dialog/authKnowledgeUser/edit.vue
+215
-0
index.vue
...Training/knowledgeBase/dialog/authKnowledgeUser/index.vue
+186
-0
index.vue
.../modelService/testOnline/components/contentView/index.vue
+3
-2
No files found.
src/api/GptController/KnowledgeManage.js
View file @
5c7015ff
...
...
@@ -8,7 +8,7 @@ export default class KnowledgeManage {
static
recreate
(
sender
,
params
,
axiosOption
,
httpOption
)
{
return
sender
.
doUrl
(
'/admin/app/knowledgeManage/recreate'
,
'post'
,
params
,
axiosOption
,
httpOption
);
}
static
searchDocs
(
sender
,
params
,
axiosOption
,
httpOption
)
{
return
sender
.
doUrl
(
'/admin/app/knowledgeManage/searchDocs'
,
'post'
,
params
,
axiosOption
,
httpOption
);
}
...
...
@@ -18,34 +18,49 @@ export default class KnowledgeManage {
static
uploadDocs
(
sender
,
params
,
axiosOption
,
httpOption
)
{
return
sender
.
doUrl
(
'/admin/app/knowledgeManage/uploadDocs'
,
'post'
,
params
,
axiosOption
,
httpOption
);
}
static
view
(
sender
,
params
,
axiosOption
,
httpOption
)
{
return
sender
.
doUrl
(
'/admin/app/knowledgeManage/view'
,
'get'
,
params
,
axiosOption
,
httpOption
);
}
static
export
(
sender
,
params
,
fileName
)
{
return
sender
.
download
(
'/admin/app/knowledgeManage/export'
,
params
,
fileName
);
}
static
add
(
sender
,
params
,
axiosOption
,
httpOption
)
{
return
sender
.
doUrl
(
'/admin/app/knowledgeManage/add'
,
'post'
,
params
,
axiosOption
,
httpOption
);
}
static
update
(
sender
,
params
,
axiosOption
,
httpOption
)
{
return
sender
.
doUrl
(
'/admin/app/knowledgeManage/update'
,
'post'
,
params
,
axiosOption
,
httpOption
);
}
static
delete
(
sender
,
params
,
axiosOption
,
httpOption
)
{
return
sender
.
doUrl
(
'/admin/app/knowledgeManage/delete'
,
'post'
,
params
,
axiosOption
,
httpOption
);
}
static
deleteDocs
(
sender
,
params
,
axiosOption
,
httpOption
)
{
return
sender
.
doUrl
(
'/admin/app/knowledgeManage/deleteDocs'
,
'post'
,
params
,
axiosOption
,
httpOption
);
}
static
listForTree
(
sender
,
params
,
axiosOption
,
httpOption
)
{
return
sender
.
doUrl
(
'/admin/app/knowledgeManage/listForTree'
,
'post'
,
params
,
axiosOption
,
httpOption
);
}
static
load
(
sender
,
params
,
axiosOption
,
httpOption
)
{
return
sender
.
doUrl
(
'/admin/app/knowledgeManage/load'
,
'post'
,
params
,
axiosOption
,
httpOption
);
}
static
addKnowledgeUser
(
sender
,
params
,
axiosOption
,
httpOption
)
{
return
sender
.
doUrl
(
'/admin/app/knowledgeManage/addKnowledgeUser'
,
'post'
,
params
,
axiosOption
,
httpOption
);
}
static
listNotInKnowledgeUser
(
sender
,
params
,
axiosOption
,
httpOption
)
{
return
sender
.
doUrl
(
'/admin/app/knowledgeManage/listNotInKnowledgeUser'
,
'post'
,
params
,
axiosOption
,
httpOption
);
}
static
getSysUserListByKnowledgeId
(
sender
,
params
,
axiosOption
,
httpOption
)
{
return
sender
.
doUrl
(
'/admin/app/knowledgeManage/listKnowledgeUser'
,
'post'
,
params
,
axiosOption
,
httpOption
);
}
static
deleteKnowledgeUser
(
sender
,
params
,
axiosOption
,
httpOption
)
{
return
sender
.
doUrl
(
'/admin/app/knowledgeManage/deleteKnowledgeUser'
,
'post'
,
params
,
axiosOption
,
httpOption
);
}
}
src/views/gptTraining/knowledgeBase/card/index.vue
View file @
5c7015ff
...
...
@@ -36,8 +36,9 @@
</el-tooltip>
</div>
-->
<div
style=
"margin-bottom:10px"
>
<el-button
:size=
"defaultFormItemSize"
:plain=
"true"
@
click=
"handleCommand('auth',item)"
>
授权
</el-button>
<el-button
:size=
"defaultFormItemSize"
:plain=
"true"
@
click=
"handleCommand('edit',item)"
>
编辑
</el-button>
<el-button
:size=
"defaultFormItemSize"
:plain=
"true"
@
click=
"handleCommand('del',item)"
>
删除
</el-button>
<el-button
:size=
"defaultFormItemSize"
:plain=
"true"
@
click=
"handleCommand('del',item)"
>
删除
</el-button>
</div>
</div>
</el-card>
...
...
@@ -47,6 +48,7 @@
<
script
>
import
{
KnowledgeManage
}
from
'@/api/gptController.js'
;
import
editOrAdd
from
'../dialog/editOrAdd'
;
import
authKnowledgeUser
from
'../dialog/authKnowledgeUser/index'
;
export
default
{
data
()
{
return
{
...
...
@@ -95,6 +97,13 @@ export default {
this
.
refresh
();
}).
catch
(
e
=>
{
this
.
refresh
();
});
},
auth
(
item
)
{
this
.
$dialog
.
show
(
'授权知识库'
,
authKnowledgeUser
,
{
area
:
[
'1100px'
,
'600px'
]
},
{
knowledgeId
:
item
.
knowledgeId
}).
then
(
res
=>
{
this
.
refresh
();
}).
catch
(
e
=>
{
this
.
refresh
();
});
},
del
(
item
)
{
this
.
$confirm
(
'是否确认删除'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
...
...
@@ -123,6 +132,8 @@ export default {
this
.
del
(
item
)
}
else
if
(
command
===
'copy'
)
{
this
.
copy
(
item
)
}
else
if
(
command
===
'auth'
)
{
this
.
auth
(
item
)
}
}
}
...
...
src/views/gptTraining/knowledgeBase/dialog/authKnowledgeUser/edit.vue
0 → 100644
View file @
5c7015ff
<
template
>
<div
style=
"position: relative;"
>
<el-form
ref=
"formKnowledgeUsers"
:model=
"formData"
label-width=
"75px"
:size=
"defaultFormItemSize"
label-position=
"right"
@
submit
.
native
.
prevent
>
<filter-box
:item-width=
"325"
>
<el-form-item
label=
"用户状态"
prop=
"formFilter.sysUserStatus"
>
<el-select
class=
"filter-item"
v-model=
"formData.formFilter.sysUserStatus"
:clearable=
"true"
placeholder=
"用户状态"
:loading=
"formData.sysUserStatus.impl.loading"
@
visible-change=
"onSysUserStatusVisibleChange"
>
<el-option
v-for=
"item in formData.sysUserStatus.impl.dropdownList"
:key=
"item.id"
:value=
"item.id"
:label=
"item.name"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"用户名"
prop=
"formFilter.sysUserLoginName"
>
<el-input
class=
"filter-item"
v-model=
"formData.formFilter.sysUserLoginName"
maxlength=
"12"
:clearable=
"true"
placeholder=
"用户名"
/>
</el-form-item>
<el-button
slot=
"operator"
type=
"default"
:plain=
"true"
:size=
"defaultFormItemSize"
@
click=
"onReset"
>
重置
</el-button>
<el-button
slot=
"operator"
type=
"primary"
:plain=
"true"
:size=
"defaultFormItemSize"
@
click=
"refreshFormKnowledgeUserList(true)"
>
查询
</el-button>
<div
style=
"float: right"
>
<el-button
:size=
"defaultFormItemSize"
type=
"primary"
:plain=
"false"
@
click=
"onSetUser"
:disabled=
"selectUsers == null || selectUsers.length
<
=
0
"
>
授权人员
</el-button>
</div>
</filter-box>
</el-form>
<el-row>
<el-col
:span=
"24"
>
<el-table
:data=
"formData.SysUser.impl.dataList"
:size=
"defaultFormItemSize"
row-key=
"userId"
ref=
"userTable"
header-cell-class-name=
"table-header-gray"
@
selection-change=
"onTableSelectionChange"
>
<el-table-column
label=
"序号"
header-align=
"center"
align=
"center"
type=
"index"
width=
"50px"
:index=
"formData.SysUser.impl.getTableIndex"
/>
<el-table-column
header-align=
"center"
align=
"center"
type=
"selection"
width=
"50px"
:reserve-selection=
"true"
/>
<el-table-column
label=
"用户名"
prop=
"loginName"
>
</el-table-column>
<el-table-column
label=
"昵称"
prop=
"showName"
>
</el-table-column>
<el-table-column
label=
"账号类型"
>
<template
slot-scope=
"scope"
>
<span>
{{
SysUserType
.
getValue
(
scope
.
row
.
userType
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"状态"
>
<
template
slot-scope=
"scope"
>
<el-tag
:type=
"getUserStatusType(scope.row.userStatus)"
:size=
"defaultFormItemSize"
>
{{
SysUserStatus
.
getValue
(
scope
.
row
.
userStatus
)
}}
</el-tag>
</
template
>
</el-table-column>
</el-table>
<el-col
:span=
"24"
>
<el-row
type=
"flex"
justify=
"end"
style=
"margin-top: 10px;"
>
<el-pagination
:total=
"formData.SysUser.impl.totalCount"
:current-page=
"formData.SysUser.impl.currentPage"
:page-size=
"formData.SysUser.impl.pageSize"
:page-sizes=
"[10, 20, 50, 100]"
layout=
"total, prev, pager, next, sizes"
@
current-change=
"formData.SysUser.impl.onCurrentPageChange"
@
size-change=
"formData.SysUser.impl.onPageSizeChange"
>
</el-pagination>
</el-row>
</el-col>
</el-col>
</el-row>
</div>
</template>
<
script
>
import
{
mapGetters
}
from
'vuex'
;
/* eslint-disable-next-line */
import
{
DropdownWidget
,
TableWidget
}
from
'@/utils/widget.js'
;
/* eslint-disable-next-line */
import
{
uploadMixin
,
statsDateRangeMixin
,
cachePageMixin
}
from
'@/core/mixins'
;
/* eslint-disable-next-line */
import
{
DictionaryController
}
from
'@/api'
;
import
{
KnowledgeManage
}
from
'@/api/gptController.js'
;
export
default
{
name
:
'formKnowledgeUsers'
,
props
:
{
knowledgeId
:
{
type
:
[
String
,
Number
],
required
:
true
}
},
mixins
:
[
uploadMixin
,
statsDateRangeMixin
,
cachePageMixin
],
data
()
{
return
{
formData
:
{
formFilter
:
{
sysUserStatus
:
undefined
,
sysUserLoginName
:
undefined
},
formFilterCopy
:
{
sysUserStatus
:
undefined
,
sysUserLoginName
:
undefined
},
sysUserStatus
:
{
impl
:
new
DropdownWidget
(
this
.
loadSysUserStatusDropdownList
)
},
SysUser
:
{
impl
:
new
TableWidget
(
this
.
loadSysUserData
,
this
.
loadSysUserVerify
,
true
,
false
)
},
isInit
:
false
},
selectUsers
:
[]
}
},
methods
:
{
/**
* 用户状态下拉数据获取函数
*/
loadSysUserStatusDropdownList
()
{
return
new
Promise
((
resolve
,
reject
)
=>
{
let
params
=
{};
DictionaryController
.
dictSysUserStatus
(
this
,
params
).
then
(
res
=>
{
resolve
(
res
.
getList
());
}).
catch
(
e
=>
{
reject
(
e
);
});
});
},
/**
* 用户状态下拉框显隐
*/
onSysUserStatusVisibleChange
(
show
)
{
this
.
formData
.
sysUserStatus
.
impl
.
onVisibleChange
(
show
).
catch
(
e
=>
{});
},
getUserStatusType
(
status
)
{
if
(
status
===
this
.
SysUserStatus
.
NORMAL
)
{
return
'success'
;
}
else
if
(
status
===
this
.
SysUserStatus
.
LOCKED
)
{
return
'danger'
;
}
else
{
return
'info'
;
}
},
onTableSelectionChange
(
values
)
{
this
.
selectUsers
=
values
;
},
onSetUser
()
{
let
params
=
{
knowledgeId
:
this
.
knowledgeId
,
userIdListString
:
this
.
selectUsers
.
map
((
item
)
=>
{
return
item
.
userId
}).
join
(
','
)
}
KnowledgeManage
.
addKnowledgeUser
(
this
,
params
).
then
(
res
=>
{
this
.
$message
.
success
(
'授权成功'
);
this
.
refreshFormKnowledgeUserList
(
true
);
this
.
$refs
.
userTable
.
clearSelection
();
this
.
selectUsers
=
[];
}).
catch
(
e
=>
{});
},
onCancel
()
{
this
.
$router
.
go
(
-
1
);
},
onReset
()
{
this
.
$refs
.
formKnowledgeUsers
.
resetFields
();
this
.
refreshFormKnowledgeUserList
(
true
);
},
loadSysUserData
(
params
)
{
params
.
knowledgeId
=
this
.
knowledgeId
;
params
.
sysUserDtoFilter
=
{
loginName
:
this
.
formData
.
formFilterCopy
.
sysUserLoginName
,
userStatus
:
this
.
formData
.
formFilterCopy
.
sysUserStatus
}
return
new
Promise
((
resolve
,
reject
)
=>
{
KnowledgeManage
.
listNotInKnowledgeUser
(
this
,
params
).
then
(
res
=>
{
resolve
({
dataList
:
res
.
data
.
dataList
,
totalCount
:
res
.
data
.
totalCount
});
}).
catch
(
e
=>
{
reject
(
e
);
});
});
},
/**
* 获取检测函数,返回true正常获取数据,返回false停止获取数据
*/
loadSysUserVerify
()
{
this
.
formData
.
formFilterCopy
.
sysUserLoginName
=
this
.
formData
.
formFilter
.
sysUserLoginName
;
this
.
formData
.
formFilterCopy
.
sysUserStatus
=
this
.
formData
.
formFilter
.
sysUserStatus
;
return
true
;
},
refreshFormKnowledgeUserList
(
reloadData
=
false
)
{
// 重新获取数据组件的数据
if
(
reloadData
)
{
this
.
formData
.
SysUser
.
impl
.
refreshTable
(
true
,
1
);
}
else
{
this
.
formData
.
SysUser
.
impl
.
refreshTable
();
}
this
.
formData
.
sysUserStatus
.
impl
.
onVisibleChange
(
true
).
catch
(
e
=>
{});
this
.
formData
.
isInit
=
true
;
},
initFormData
()
{
},
formInit
()
{
this
.
initFormData
();
this
.
refreshFormKnowledgeUserList
();
}
},
computed
:
{
getContextHeightStyle
()
{
return
[
{
'height'
:
(
this
.
getClientHeight
-
142
)
+
'px'
}
]
},
...
mapGetters
([
'getClientHeight'
])
},
created
()
{
this
.
formInit
();
}
}
</
script
>
<
style
>
</
style
>
src/views/gptTraining/knowledgeBase/dialog/authKnowledgeUser/index.vue
0 → 100644
View file @
5c7015ff
<
template
>
<div
style=
"position: relative;"
>
<el-form
ref=
"formKnowledgeUser"
:model=
"formData"
label-width=
"75px"
:size=
"defaultFormItemSize"
label-position=
"right"
@
submit
.
native
.
prevent
>
<filter-box
:item-width=
"350"
>
<el-form-item
label=
"用户名"
prop=
"formFilter.sysUserLoginName"
>
<el-input
class=
"filter-item"
v-model=
"formData.formFilter.sysUserLoginName"
maxlength=
"12"
:clearable=
"true"
placeholder=
"输入用户名 / 昵称查询"
@
change=
"refreshFormKnowledgeUser(true)"
/>
</el-form-item>
<el-button
slot=
"operator"
type=
"default"
:size=
"defaultFormItemSize"
:plain=
"true"
@
click=
"onReset"
>
重置
</el-button>
<el-button
slot=
"operator"
type=
"primary"
:size=
"defaultFormItemSize"
:plain=
"true"
@
click=
"refreshFormKnowledgeUser(true)"
>
查询
</el-button>
<div
style=
"float: right"
>
<el-button
slot=
"operator"
type=
"primary"
:size=
"defaultFormItemSize"
:plain=
"false"
@
click=
"onAddRow()"
>
添加用户
</el-button>
</div>
</filter-box>
</el-form>
<el-row>
<el-col
:span=
"24"
>
<el-table
:data=
"formData.SysUser.impl.dataList"
:size=
"defaultFormItemSize"
@
sort-change=
"formData.SysUser.impl.onSortChange"
header-cell-class-name=
"table-header-gray"
>
<el-table-column
label=
"序号"
header-align=
"center"
align=
"center"
type=
"index"
width=
"50px"
:index=
"formData.SysUser.impl.getTableIndex"
/>
<el-table-column
label=
"用户名"
prop=
"loginName"
>
</el-table-column>
<el-table-column
label=
"昵称"
prop=
"showName"
>
</el-table-column>
<el-table-column
label=
"账号类型"
>
<template
slot-scope=
"scope"
>
<span>
{{
SysUserType
.
getValue
(
scope
.
row
.
userType
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"状态"
>
<
template
slot-scope=
"scope"
>
<el-tag
:type=
"getUserStatusType(scope.row.userStatus)"
:size=
"defaultFormItemSize"
>
{{
SysUserStatus
.
getValue
(
scope
.
row
.
userStatus
)
}}
</el-tag>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
fixed=
"right"
width=
"80px"
>
<
template
slot-scope=
"scope"
>
<el-button
class=
"btn-table-delete"
type=
"text"
:size=
"defaultFormItemSize"
@
click=
"onDeleteRow(scope.row)"
>
移除
</el-button>
</
template
>
</el-table-column>
</el-table>
<el-col
:span=
"24"
>
<el-row
type=
"flex"
justify=
"end"
style=
"margin-top: 10px;"
>
<el-pagination
:total=
"formData.SysUser.impl.totalCount"
:current-page=
"formData.SysUser.impl.currentPage"
:page-size=
"formData.SysUser.impl.pageSize"
:page-sizes=
"[10, 20, 50, 100]"
layout=
"total, prev, pager, next, sizes"
@
current-change=
"formData.SysUser.impl.onCurrentPageChange"
@
size-change=
"formData.SysUser.impl.onPageSizeChange"
>
</el-pagination>
</el-row>
</el-col>
</el-col>
</el-row>
</div>
</template>
<
script
>
import
{
mapGetters
}
from
'vuex'
;
/* eslint-disable-next-line */
import
{
TableWidget
}
from
'@/utils/widget.js'
;
/* eslint-disable-next-line */
import
{
uploadMixin
,
statsDateRangeMixin
,
cachePageMixin
}
from
'@/core/mixins'
;
/* eslint-disable-next-line */
import
{
KnowledgeManage
}
from
'@/api/gptController.js'
;
import
formKnowLedgeUserEdit
from
'./edit.vue'
;
export
default
{
name
:
'formKnowledgeUser'
,
props
:
{
knowledgeId
:
{
type
:
[
String
,
Number
],
required
:
true
}
},
mixins
:
[
uploadMixin
,
statsDateRangeMixin
,
cachePageMixin
],
data
()
{
return
{
formData
:
{
formFilter
:
{
sysUserLoginName
:
undefined
},
SysUser
:
{
impl
:
new
TableWidget
(
this
.
loadSysUserData
,
this
.
loadSysUserVerify
,
true
,
false
)
},
isInit
:
false
}
}
},
methods
:
{
onReset
()
{
this
.
$refs
.
formKnowledgeUser
.
resetFields
();
this
.
refreshFormKnowledgeUser
(
true
);
},
getUserStatusType
(
status
)
{
if
(
status
===
this
.
SysUserStatus
.
NORMAL
)
{
return
'success'
;
}
else
if
(
status
===
this
.
SysUserStatus
.
LOCKED
)
{
return
'danger'
;
}
else
{
return
'info'
;
}
},
onAddRow
()
{
this
.
$dialog
.
show
(
'添加授权用户'
,
formKnowLedgeUserEdit
,
{
area
:
[
'1100px'
,
'600px'
]
},
{
knowledgeId
:
this
.
knowledgeId
}).
catch
(
e
=>
{
this
.
refreshFormKnowledgeUser
(
true
);
});
},
onDeleteRow
(
row
)
{
this
.
$confirm
(
'是否移除此用户?'
).
then
(
res
=>
{
let
params
=
{
knowledgeId
:
this
.
knowledgeId
,
userId
:
row
.
userId
}
return
KnowledgeManage
.
deleteKnowledgeUser
(
this
,
params
);
}).
then
(
res
=>
{
this
.
$message
.
success
(
'移除授权用户成功'
);
this
.
refreshFormKnowledgeUser
(
true
);
}).
catch
(
e
=>
{});
},
/**
* 用户管理数据获取函数,返回Primise
*/
loadSysUserData
(
params
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
params
.
knowledgeId
=
this
.
knowledgeId
;
params
.
sysUserDtoFilter
=
{
loginName
:
this
.
formData
.
formFilter
.
sysUserLoginName
}
KnowledgeManage
.
getSysUserListByKnowledgeId
(
this
,
params
).
then
(
res
=>
{
resolve
({
dataList
:
res
.
data
.
dataList
,
totalCount
:
res
.
data
.
totalCount
});
}).
catch
(
e
=>
{
reject
(
e
);
});
});
},
/**
* 用户管理数据获取检测函数,返回true正常获取数据,返回false停止获取数据
*/
loadSysUserVerify
()
{
return
true
;
},
/**
* 更新用户管理
*/
refreshFormKnowledgeUser
(
reloadData
=
false
)
{
// 重新获取数据组件的数据
if
(
reloadData
)
{
this
.
formData
.
SysUser
.
impl
.
refreshTable
(
true
,
1
);
}
else
{
this
.
formData
.
SysUser
.
impl
.
refreshTable
();
}
this
.
formData
.
isInit
=
true
;
},
onResume
()
{
this
.
refreshFormKnowledgeUser
();
},
initFormData
()
{
},
formInit
()
{
this
.
initFormData
();
this
.
refreshFormKnowledgeUser
();
}
},
computed
:
{
getTableHeight
()
{
return
(
this
.
getMainContextHeight
-
92
);
},
...
mapGetters
([
'getMainContextHeight'
])
},
created
()
{
this
.
formInit
();
}
}
</
script
>
src/views/gptTraining/modelService/testOnline/components/contentView/index.vue
View file @
5c7015ff
...
...
@@ -56,12 +56,13 @@ export default {
anchorTags
.
forEach
((
aTag
)
=>
{
let
tagUrl
=
aTag
.
getAttribute
(
'href'
)
let
isFile
=
[
'pdf'
,
'jpg'
,
'gif'
,
'jpeg'
,
'png'
,
'docx'
,
'doc'
,
'xlsx'
,
'xls'
,
'mp4'
,
'webm'
,
'ogg'
,
'ogv'
,
'txt'
].
indexOf
(
tagUrl
.
split
(
'.'
).
pop
().
toLowerCase
())
!==
-
1
if
(
isFile
)
{
let
isFile2
=
[
'html'
,
'md'
,
'json'
,
'jsonl'
,
'csv'
,
'pdf'
,
'png'
,
'jpg'
,
'jpeg'
,
'bmp'
,
'eml'
,
'msg'
,
'epub'
,
'xlsx'
,
'xlsd'
,
'ipynb'
,
'odt'
,
'py'
,
'rst'
,
'rtf'
,
'srt'
,
'toml'
,
'tsv'
,
'docx'
,
'doc'
,
'xml'
,
'ppt'
,
'pptx'
,
'txt'
,
'htm'
]
if
(
isFile2
)
{
// 判断知识库以及文件对话 的文件类型,并添加dom以及样式
this
.
setDescribeStyle
(
aTag
)
}
aTag
.
addEventListener
(
'click'
,
function
(
event
)
{
let
url
;
if
(
isFile
)
{
if
(
isFile
)
{
// 判断可预览文件类型
// 阻止默认点击事件
event
.
preventDefault
();
...
...
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