Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
school-paper-admin-front
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
school-paper
school-paper-admin-front
Commits
41e7a6e5
Commit
41e7a6e5
authored
Jul 28, 2023
by
H.wb.wang.peixun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
接口对接
parent
b43868a1
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
192 additions
and
168 deletions
+192
-168
src/components/DragUpload/index.vue
+14
-79
src/components/Editor/index.vue
+65
-12
src/components/FileUpload/index.vue
+7
-5
src/views/school-paper/profile/index.vue
+67
-41
src/views/school-paper/questionBank/index.vue
+12
-8
src/views/system/user/profile/treeselect.vue
+27
-23
No files found.
src/components/DragUpload/index.vue
View file @
41e7a6e5
...
...
@@ -103,87 +103,22 @@ export default {
},
},
methods
:
{
// 上传前校检格式和大小
handleBeforeUpload
(
file
)
{
// 校检文件类型
if
(
this
.
fileType
)
{
const
fileName
=
file
.
name
.
split
(
'.'
);
const
fileExt
=
fileName
[
fileName
.
length
-
1
];
const
isTypeOk
=
this
.
fileType
.
indexOf
(
fileExt
)
>=
0
;
if
(
!
isTypeOk
)
{
this
.
$modal
.
msgError
(
`文件格式不正确, 请上传
${
this
.
fileType
.
join
(
"/"
)}
格式文件!`
);
return
false
;
}
}
// 校检文件大小
if
(
this
.
fileSize
)
{
const
isLt
=
file
.
size
/
1024
/
1024
<
this
.
fileSize
;
if
(
!
isLt
)
{
this
.
$modal
.
msgError
(
`上传文件大小不能超过
${
this
.
fileSize
}
MB!`
);
return
false
;
}
}
this
.
$modal
.
loading
(
"正在上传文件,请稍候..."
);
this
.
number
++
;
return
true
;
},
// 文件个数超出
handleExceed
()
{
this
.
$modal
.
msgError
(
`上传文件数量不能超过
${
this
.
limit
}
个!`
);
},
// 上传失败
handleUploadError
(
err
)
{
this
.
$modal
.
msgError
(
"上传文件失败,请重试"
);
this
.
$modal
.
closeLoading
();
},
// 上传成功回调
handleUploadSuccess
(
res
,
file
)
{
if
(
res
.
code
===
200
)
{
this
.
uploadList
.
push
({
name
:
res
.
data
.
fileName
,
url
:
res
.
data
.
url
,
ossId
:
res
.
data
.
ossId
});
this
.
uploadedSuccessfully
();
}
else
{
this
.
number
--
;
this
.
$modal
.
closeLoading
();
this
.
$modal
.
msgError
(
res
.
msg
);
this
.
$refs
.
fileUpload
.
handleRemove
(
file
);
this
.
uploadedSuccessfully
();
}
// 文件上传中处理
handleFileUploadProgress
(
event
,
file
,
fileList
)
{
this
.
upload
.
isUploading
=
true
;
},
// 删除文件
handleDelete
(
index
)
{
let
ossId
=
this
.
fileList
[
index
].
ossId
;
delOss
(
ossId
);
this
.
fileList
.
splice
(
index
,
1
);
this
.
$emit
(
"input"
,
this
.
listToString
(
this
.
fileList
));
},
// 上传结束处理
uploadedSuccessfully
()
{
if
(
this
.
number
>
0
&&
this
.
uploadList
.
length
===
this
.
number
)
{
this
.
fileList
=
this
.
fileList
.
concat
(
this
.
uploadList
);
this
.
uploadList
=
[];
this
.
number
=
0
;
this
.
$emit
(
"input"
,
this
.
listToString
(
this
.
fileList
));
this
.
$modal
.
closeLoading
();
}
},
// 获取文件名称
getFileName
(
name
)
{
// 如果是url那么取最后的名字 如果不是直接返回
if
(
name
.
lastIndexOf
(
"/"
)
>
-
1
)
{
return
name
.
slice
(
name
.
lastIndexOf
(
"/"
)
+
1
);
}
else
{
return
name
;
}
},
// 对象转成指定字符串分隔
listToString
(
list
,
separator
)
{
let
strs
=
""
;
separator
=
separator
||
","
;
for
(
let
i
in
list
)
{
strs
+=
list
[
i
].
ossId
+
separator
;
}
return
strs
!=
""
?
strs
.
substr
(
0
,
strs
.
length
-
1
)
:
""
;
// 文件上传成功处理
handleFileSuccess
(
response
,
file
,
fileList
)
{
this
.
upload
.
open
=
false
;
this
.
upload
.
isUploading
=
false
;
this
.
$refs
.
upload
.
clearFiles
();
this
.
$alert
(
"<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>"
+
response
.
msg
+
"</div>"
,
"导入结果"
,
{
dangerouslyUseHTMLString
:
true
});
this
.
getList
();
},
// 提交上传文件
submitFileForm
()
{
this
.
$refs
.
upload
.
submit
();
}
},
};
</
script
>
...
...
src/components/Editor/index.vue
View file @
41e7a6e5
<
template
>
<div>
<el-upload
:action=
"uploadUrl"
:before-upload=
"handleBeforeUpload"
:on-success=
"handleUploadSuccess"
:on-error=
"handleUploadError"
name=
"file"
:show-file-list=
"false"
:headers=
"headers"
style=
"display: none"
ref=
"upload"
v-if=
"this.type == 'url'"
>
<el-upload
:action=
"uploadUrl"
:before-upload=
"handleBeforeUpload"
:on-success=
"handleUploadSuccess"
:on-error=
"handleUploadError"
name=
"file"
:show-file-list=
"false"
:headers=
"headers"
style=
"display: none"
ref=
"upload"
v-if=
"this.type == 'url'"
>
</el-upload>
<div
class=
"editor"
ref=
"editor"
:style=
"styles"
></div>
</div>
...
...
@@ -23,6 +14,7 @@ import "quill/dist/quill.core.css";
import
"quill/dist/quill.snow.css"
;
import
"quill/dist/quill.bubble.css"
;
import
{
getToken
}
from
"@/utils/auth"
;
import
$axios
from
'axios'
export
default
{
name
:
"Editor"
,
...
...
@@ -111,10 +103,15 @@ export default {
watch
:
{
value
:
{
handler
(
val
)
{
console
.
log
(
val
,
'val-------------'
)
if
(
val
!==
this
.
currentValue
)
{
this
.
currentValue
=
val
===
null
?
""
:
val
;
console
.
log
(
this
.
currentValue
,
'val-------------11111111'
)
if
(
this
.
Quill
)
{
this
.
Quill
.
pasteHTML
(
this
.
currentValue
);
console
.
log
(
this
.
Quill
,
'val-------------2222222222222'
)
}
}
},
...
...
@@ -131,6 +128,48 @@ export default {
init
()
{
const
editor
=
this
.
$refs
.
editor
;
this
.
Quill
=
new
Quill
(
editor
,
this
.
options
);
window
.
addEventListener
(
"paste"
,
(
evt
)
=>
{
if
(
evt
.
clipboardData
&&
evt
.
clipboardData
.
files
&&
evt
.
clipboardData
.
files
.
length
)
{
evt
.
preventDefault
();
[].
forEach
.
call
(
evt
.
clipboardData
.
files
,
(
file
)
=>
{
if
(
!
file
.
type
.
match
(
/^image
\/(
gif|jpe
?
g|a
?
png|bmp
)
/i
))
{
return
;
}
const
formData
=
new
FormData
();
formData
.
append
(
"file"
,
file
);
$axios
.
post
(
`
${
process
.
env
.
VUE_APP_BASE_API
}
school-paper/banner/uploadFile`
,
formData
,
{
headers
:
{
'Authorization'
:
'Bearer '
+
getToken
()
}
}).
then
(
res
=>
{
console
.
log
(
res
);
if
(
res
.
data
.
code
==
200
)
{
console
.
log
(
res
.
data
.
data
.
src
)
let
length
=
this
.
Quill
.
getSelection
().
index
;
//光标位置
// 插入图片地址
this
.
Quill
.
insertEmbed
(
length
,
"image"
,
res
.
data
.
data
.
url
);
// 光标后移一位
this
.
Quill
.
setSelection
(
length
+
1
);
}
else
{
this
.
$message
({
message
:
res
.
data
.
message
,
type
:
'warning'
});
}
})
});
}
},
false
);
// 如果设置了上传地址则自定义图片上传事件
if
(
this
.
type
==
"url"
)
{
let
toolbar
=
this
.
Quill
.
getModule
(
"toolbar"
);
...
...
@@ -202,12 +241,15 @@ export default {
white-space
:
pre-wrap
!important
;
line-height
:
normal
!important
;
}
.quill-img
{
display
:
none
;
}
.ql-snow
.ql-tooltip
[
data-mode
=
"link"
]
::before
{
content
:
"请输入链接地址:"
;
}
.ql-snow
.ql-tooltip.ql-editing
a
.ql-action
::after
{
border-right
:
0px
;
content
:
"保存"
;
...
...
@@ -222,14 +264,17 @@ export default {
.ql-snow
.ql-picker.ql-size
.ql-picker-item
::before
{
content
:
"14px"
;
}
.ql-snow
.ql-picker.ql-size
.ql-picker-label
[
data-value
=
"small"
]
::before
,
.ql-snow
.ql-picker.ql-size
.ql-picker-item
[
data-value
=
"small"
]
::before
{
content
:
"10px"
;
}
.ql-snow
.ql-picker.ql-size
.ql-picker-label
[
data-value
=
"large"
]
::before
,
.ql-snow
.ql-picker.ql-size
.ql-picker-item
[
data-value
=
"large"
]
::before
{
content
:
"18px"
;
}
.ql-snow
.ql-picker.ql-size
.ql-picker-label
[
data-value
=
"huge"
]
::before
,
.ql-snow
.ql-picker.ql-size
.ql-picker-item
[
data-value
=
"huge"
]
::before
{
content
:
"32px"
;
...
...
@@ -239,26 +284,32 @@ export default {
.ql-snow
.ql-picker.ql-header
.ql-picker-item
::before
{
content
:
"文本"
;
}
.ql-snow
.ql-picker.ql-header
.ql-picker-label
[
data-value
=
"1"
]
::before
,
.ql-snow
.ql-picker.ql-header
.ql-picker-item
[
data-value
=
"1"
]
::before
{
content
:
"标题1"
;
}
.ql-snow
.ql-picker.ql-header
.ql-picker-label
[
data-value
=
"2"
]
::before
,
.ql-snow
.ql-picker.ql-header
.ql-picker-item
[
data-value
=
"2"
]
::before
{
content
:
"标题2"
;
}
.ql-snow
.ql-picker.ql-header
.ql-picker-label
[
data-value
=
"3"
]
::before
,
.ql-snow
.ql-picker.ql-header
.ql-picker-item
[
data-value
=
"3"
]
::before
{
content
:
"标题3"
;
}
.ql-snow
.ql-picker.ql-header
.ql-picker-label
[
data-value
=
"4"
]
::before
,
.ql-snow
.ql-picker.ql-header
.ql-picker-item
[
data-value
=
"4"
]
::before
{
content
:
"标题4"
;
}
.ql-snow
.ql-picker.ql-header
.ql-picker-label
[
data-value
=
"5"
]
::before
,
.ql-snow
.ql-picker.ql-header
.ql-picker-item
[
data-value
=
"5"
]
::before
{
content
:
"标题5"
;
}
.ql-snow
.ql-picker.ql-header
.ql-picker-label
[
data-value
=
"6"
]
::before
,
.ql-snow
.ql-picker.ql-header
.ql-picker-item
[
data-value
=
"6"
]
::before
{
content
:
"标题6"
;
...
...
@@ -268,10 +319,12 @@ export default {
.ql-snow
.ql-picker.ql-font
.ql-picker-item
::before
{
content
:
"标准字体"
;
}
.ql-snow
.ql-picker.ql-font
.ql-picker-label
[
data-value
=
"serif"
]
::before
,
.ql-snow
.ql-picker.ql-font
.ql-picker-item
[
data-value
=
"serif"
]
::before
{
content
:
"衬线字体"
;
}
.ql-snow
.ql-picker.ql-font
.ql-picker-label
[
data-value
=
"monospace"
]
::before
,
.ql-snow
.ql-picker.ql-font
.ql-picker-item
[
data-value
=
"monospace"
]
::before
{
content
:
"等宽字体"
;
...
...
src/components/FileUpload/index.vue
View file @
41e7a6e5
...
...
@@ -99,11 +99,12 @@ export default {
// })
}
// 然后将数组转为对象数组
// this.fileList = list.map(item => {
// item = { url: item.url};
// item.uid = item.uid || new Date().getTime() + temp++;
// return item;
// });
this
.
fileList
=
list
.
map
(
item
=>
{
item
=
{
url
:
item
.
url
,
name
:
item
.
name
};
// item.uid = item.uid || new Date().getTime() + temp++;
return
item
;
});
console
.
log
(
this
.
fileList
,
'fileList---------'
)
}
else
{
this
.
fileList
=
[];
return
[];
...
...
@@ -185,6 +186,7 @@ export default {
},
// 获取文件名称
getFileName
(
name
)
{
console
.
log
(
name
,
'==========='
)
// 如果是url那么取最后的名字 如果不是直接返回
if
(
name
.
lastIndexOf
(
"/"
)
>
-
1
)
{
return
name
.
slice
(
name
.
lastIndexOf
(
"/"
)
+
1
);
...
...
src/views/school-paper/profile/index.vue
View file @
41e7a6e5
...
...
@@ -2,12 +2,7 @@
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"资料管理"
prop=
"profileName"
>
<el-input
v-model=
"queryParams.profileName"
placeholder=
"请输入资料名称搜索"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
<el-input
v-model=
"queryParams.profileName"
placeholder=
"请输入资料名称搜索"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<!--
<el-form-item
label=
"资料地址"
prop=
"profileUrl"
>
<el-input
...
...
@@ -25,12 +20,8 @@
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['school-paper:profile:add']"
>
上传资料
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['school-paper:profile:add']"
>
上传资料
</el-button>
</el-col>
<!--
<el-col
:span=
"1.5"
>
<el-button
...
...
@@ -70,40 +61,25 @@
<el-table
v-loading=
"loading"
:data=
"profileList"
@
selection-change=
"handleSelectionChange"
>
<!--
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
-->
<!--
<el-table-column
label=
"主键id"
align=
"center"
prop=
"id"
v-if=
"true"
/>
-->
<el-table-column
label=
"资料名称"
prop=
"profileName"
/>
<el-table-column
label=
"上传者"
prop=
"createBy"
/>
<el-table-column
label=
"资料名称"
prop=
"profileName"
/>
<el-table-column
label=
"上传者"
prop=
"createBy"
/>
<!--
<el-table-column
label=
"备注"
align=
"center"
prop=
"remark"
/>
<el-table-column
label=
"状态:0正常,1删除"
align=
"center"
prop=
"status"
/>
-->
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['school-paper:profile:edit']"
>
下载
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
v-hasPermi=
"['school-paper:profile:remove']"
>
删除
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['school-paper:profile:edit']"
>
下载
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
v-hasPermi=
"['school-paper:profile:remove']"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"total>0"
:total=
"total"
:page
.
sync=
"queryParams.pageNum"
:limit
.
sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
<pagination
v-show=
"total > 0"
:total=
"total"
:page
.
sync=
"queryParams.pageNum"
:limit
.
sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
<!-- 添加或修改资料对话框 -->
<el-dialog
:title=
"title"
:visible
.
sync=
"open"
width=
"500px"
append-to-body
>
<
!-- <
el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="资料名称" prop="profileName">
<el-input v-model="form.profileName" placeholder="请输入资料名称" />
...
...
@@ -116,17 +92,54 @@
<el-button @click="cancel">取 消</el-button>
<el-button :loading="buttonLoading" type="primary" @click="submitForm">上 传</el-button>
</div>
</el-dialog> -->
<!-- 用户导入对话框 -->
<el-dialog
:title=
"upload.title"
:visible
.
sync=
"upload.open"
width=
"400px"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<el-form-item
label=
"资料名称"
prop=
"profileName"
>
<el-input
v-model=
"form.profileName"
placeholder=
"请输入资料名称"
/>
</el-form-item>
<el-upload
ref=
"upload"
:limit=
"1"
accept=
".xlsx, .xls"
:headers=
"upload.headers"
:action=
"upload.url + '?updateSupport=' + upload.updateSupport"
:disabled=
"upload.isUploading"
:on-progress=
"handleFileUploadProgress"
:on-success=
"handleFileSuccess"
:auto-upload=
"false"
drag
>
<i
class=
"el-icon-upload"
></i>
<div
class=
"el-upload__text"
>
将文件拖到此处,或
<em>
点击上传
</em></div>
<div
class=
"el-upload__tip text-center"
slot=
"tip"
>
<span>
仅允许导入xls、xlsx格式文件。
</span>
</div>
</el-upload>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
style=
"text-align: center;"
>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
<el-button
:loading=
"buttonLoading"
type=
"primary"
@
click=
"submitForm"
>
上 传
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
{
listProfile
,
getProfile
,
delProfile
,
addProfile
,
updateProfile
}
from
"@/api/school-paper/profile"
;
import
{
getToken
}
from
"@/utils/auth"
;
export
default
{
name
:
"Profile"
,
data
()
{
return
{
// 用户导入参数
upload
:
{
// 是否显示弹出层(用户导入)
open
:
false
,
// 弹出层标题(用户导入)
title
:
""
,
// 是否禁用上传
isUploading
:
false
,
// 是否更新已经存在的用户数据
updateSupport
:
0
,
// 设置上传的请求头部
headers
:
{
Authorization
:
"Bearer "
+
getToken
()
},
// 上传的地址
url
:
process
.
env
.
VUE_APP_BASE_API
+
"school-paper/banner/uploadFile"
},
// 按钮loading
buttonLoading
:
false
,
// 遮罩层
...
...
@@ -160,9 +173,6 @@ export default {
profileName
:
[
{
required
:
true
,
message
:
"资料名称不能为空"
,
trigger
:
"blur"
}
],
profileUrl
:
[
{
required
:
true
,
message
:
"资料地址不能为空"
,
trigger
:
"blur"
}
],
}
};
},
...
...
@@ -205,13 +215,13 @@ export default {
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
(
item
=>
item
.
id
)
this
.
single
=
selection
.
length
!==
1
this
.
single
=
selection
.
length
!==
1
this
.
multiple
=
!
selection
.
length
},
/** 新增按钮操作 */
handleAdd
()
{
this
.
reset
();
this
.
open
=
true
;
this
.
upload
.
open
=
true
;
this
.
title
=
"添加资料"
;
},
/** 下载操作 */
...
...
@@ -264,6 +274,22 @@ export default {
this
.
download
(
'school-paper/profile/export'
,
{
...
this
.
queryParams
},
`profile_
${
new
Date
().
getTime
()}
.xlsx`
)
},
// 文件上传中处理
handleFileUploadProgress
(
event
,
file
,
fileList
)
{
this
.
upload
.
isUploading
=
true
;
},
// 文件上传成功处理
handleFileSuccess
(
response
,
file
,
fileList
)
{
this
.
upload
.
open
=
false
;
this
.
upload
.
isUploading
=
false
;
this
.
$refs
.
upload
.
clearFiles
();
this
.
$alert
(
"<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>"
+
response
.
msg
+
"</div>"
,
"导入结果"
,
{
dangerouslyUseHTMLString
:
true
});
this
.
getList
();
},
// 提交上传文件
submitFileForm
()
{
this
.
$refs
.
upload
.
submit
();
}
}
};
...
...
src/views/school-paper/questionBank/index.vue
View file @
41e7a6e5
...
...
@@ -223,7 +223,7 @@
</el-select>
</el-form-item>
<el-form-item
label=
"年级阶段:"
prop=
"phaseId"
>
<el-select
clearable
v-model=
"form.phaseId"
placeholder=
"请选择阶段"
@
change=
"handleQuery"
>
<el-select
clearable
v-model=
"form.phaseId"
placeholder=
"请选择阶段"
>
<el-option
v-for=
"item in PhaseList"
:key=
"item.deptId"
:label=
"item.deptName"
:value=
"item.deptId"
>
</el-option>
</el-select>
...
...
@@ -241,7 +241,7 @@
</el-form-item>
<el-form-item
label=
"习题种类:"
prop=
"species"
>
<!-- 1填空,2选择,3解答 -->
<el-select
clearable
v-model=
"form.species"
placeholder=
"请选择习题种类"
@
change=
"changeSpecies"
>
<el-select
clearable
v-model=
"form.species"
placeholder=
"请选择习题种类"
>
<el-option
v-for=
"item in [
{ label: '填空', value: 1 },
{ label: '选择', value: 2 },
...
...
@@ -578,6 +578,7 @@ export default {
rightAnswersPic
:
undefined
,
resolveCourse
:
undefined
,
resolveVideo
:
undefined
,
resolveVideoName
:
undefined
,
remark
:
undefined
,
status
:
undefined
,
createTime
:
undefined
,
...
...
@@ -733,13 +734,14 @@ export default {
}
})
if
(
self
.
form
.
resolveVideo
)
{
let
arr
=
self
.
form
.
resolveVideo
.
split
(
','
),
brr
=
[];
arr
.
forEach
((
item
)
=>
{
brr
.
push
({
url
:
item
let
brr
=
[];
// arr.forEach((item) => {
// })
brr
.
push
({
url
:
self
.
form
.
resolveVideo
,
name
:
self
.
form
.
resolveVideoName
})
})
self
.
form
.
resolveVideo
=
brr
// self.$refs['refFileupload'].fileList = brr
}
...
...
@@ -810,8 +812,10 @@ export default {
}
if
(
this
.
form
.
type
==
1
)
{
this
.
form
.
resolveVideo
=
this
.
$refs
[
'refFileupload'
].
fileList
this
.
form
.
resolveVideoName
=
this
.
$refs
[
'refFileupload'
].
fileList
[
0
].
name
}
// console.log(this.form.resolveVideo,this.$refs['refFileupload'].fileList,'------------')
// return
this
.
form
.
rightAnswers
=
arr
[
this
.
form
.
rightAnswers
]
// 判断是否是填空题
if
(
self
.
form
.
species
==
1
)
{
...
...
src/views/system/user/profile/treeselect.vue
View file @
41e7a6e5
<
template
>
<!--
<div
class=
"main"
>
<div
class=
"tree"
>
-->
<Treeselect
v-model=
"value"
:options=
"options"
:placeholder=
"'请选择人员'"
:multiple=
"multiple"
@
input=
"treeSelectInput"
@
select=
"treeSelectChange"
@
deselect=
"treeSelectDeselect"
@
search-change=
"treeSelectSearch"
@
open=
"treeSelectOpen"
@
close=
"treeSelectClose"
/>
<!--
</div>
<Treeselect
v-model=
"value"
:options=
"options"
:placeholder=
"'请选择人员'"
:multiple=
"multiple"
@
input=
"treeSelectInput"
@
select=
"treeSelectChange"
@
deselect=
"treeSelectDeselect"
@
search-change=
"treeSelectSearch"
@
open=
"treeSelectOpen"
@
close=
"treeSelectClose"
/>
<!--
</div>
</div>
-->
</
template
>
<
script
>
...
...
@@ -26,16 +17,17 @@ export default {
data
()
{
return
{
value
:
null
,
options
:
[]
options
:
[],
rawList
:
[],
}
},
props
:{
multiple
:{
type
:
false
props
:
{
multiple
:
{
type
:
false
}
},
components
:
{
Treeselect
},
mounted
(){
mounted
()
{
// 延迟模拟请求数据
setTimeout
(()
=>
{
// this.options = treeData
...
...
@@ -43,7 +35,7 @@ export default {
},
300
)
this
.
getDeptTree
()
},
methods
:{
methods
:
{
/** 查询部门下拉树结构 */
getDeptTree
()
{
deptTreeSelect
().
then
(
response
=>
{
...
...
@@ -58,8 +50,20 @@ export default {
// 选中触发(清除值的时候不会触发)
treeSelectChange
(
raw
,
instanceId
)
{
console
.
log
(
raw
,
'当前的对象'
)
let
self
=
this
this
.
rawList
=
raw
setTimeout
(()
=>
{
// 如果用到this.value 需要setTimeout延迟一下拿到最新的值
console
.
log
(
this
.
value
,
'this.value -- select'
)
console
.
log
(
this
.
value
,
raw
,
'this.value -- select'
)
if
(
!
this
.
multiple
)
{
if
(
raw
.
children
==
undefined
)
{
}
else
{
if
(
self
.
value
==
raw
.
id
)
{
self
.
value
=
null
}
}
}
})
},
// 移除选项时触发 当设置multiple为true时生效 raw为当前移除的对象
...
...
@@ -76,7 +80,7 @@ export default {
},
// 关闭触发
treeSelectClose
(
value
,
instanceId
)
{
console
.
log
(
value
,
'当前的value值'
)
console
.
log
(
value
,
this
.
rawList
.
id
,
'当前的value值'
)
},
// 字段默认 id label 用于规范化数据源
tenantIdnormalizer
(
node
,
instanceId
)
{
...
...
@@ -98,12 +102,12 @@ export default {
height
:
100%
;
padding
:
60px
0
0
200px
;
}
.main
.tree
{
width
:
240px
;
height
:
40px
;
}
::v-deep
.vue-treeselect__label
{
color
:
#606266
;
}
...
...
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