Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
center-qa
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
center-qa
Commits
7651caa9
提交
7651caa9
authored
2月 27, 2022
作者:
lihuihui
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update
上级
f514e5e7
隐藏空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
364 行增加
和
233 行删除
+364
-233
api.js
src/modules/question/api.js
+9
-92
AddChidren.vue
src/modules/question/components/AddChidren.vue
+174
-27
Detail.vue
src/modules/question/components/Detail.vue
+30
-11
QTypeCheckbox.vue
src/modules/question/components/QTypeCheckbox.vue
+9
-1
QTypeJudgment.vue
src/modules/question/components/QTypeJudgment.vue
+8
-1
QTypeRadio.vue
src/modules/question/components/QTypeRadio.vue
+9
-2
QTypeSituation.vue
src/modules/question/components/QTypeSituation.vue
+29
-27
QuestionsChidren.vue
src/modules/question/components/QuestionsChidren.vue
+39
-48
Create.vue
src/modules/question/views/Create.vue
+27
-8
List.vue
src/modules/question/views/List.vue
+30
-16
没有找到文件。
src/modules/question/api.js
浏览文件 @
7651caa9
...
@@ -38,103 +38,20 @@ export function addQuestion(data) {
...
@@ -38,103 +38,20 @@ export function addQuestion(data) {
}
}
/**
/**
*
获取应用详情
*
删除试题
*/
*/
export
function
getApp
(
id
,
params
)
{
export
function
deleteQuestion
(
data
)
{
return
httpRequest
.
get
(
`/api/permissions/admin/v1/
${
id
}
/application`
,
{
params
}
)
return
httpRequest
.
post
(
'/api/qbs/admin/v1/question/batch-delete'
,
data
)
}
}
/**
/**
*
创建应用
*
更新试题
*/
*/
export
function
createApp
(
data
)
{
export
function
updateQuestion
(
id
,
data
)
{
return
httpRequest
.
p
ost
(
'/api/permissions/admin/v1/application'
,
data
)
return
httpRequest
.
p
ut
(
`/api/qbs/admin/v1/question/
${
id
}
`
,
data
)
}
}
/**
/**
* 更新应用
* 试题详情
*/
export
function
updateApp
(
id
,
data
)
{
return
httpRequest
.
put
(
`/api/permissions/admin/v1/
${
id
}
/application`
,
data
)
}
/**
* 删除应用
*/
export
function
deleteApp
(
id
,
data
)
{
return
httpRequest
.
delete
(
`/api/permissions/admin/v1/
${
id
}
/application`
,
data
)
}
/**
* 更新应用签名秘钥
*/
export
function
updateAppSecretKey
(
id
,
data
)
{
return
httpRequest
.
patch
(
`/api/permissions/admin/v1/
${
id
}
/application/secret-key`
,
data
)
}
/**
* 获取应用管理员
*/
export
function
getAppAdminUsers
(
params
)
{
return
httpRequest
.
get
(
`/api/permissions/admin/v1/
${
params
.
app_id
}
/application/assign/app-users`
,
{
params
})
}
/**
* 删除应用管理员
*/
export
function
deleteAppAdminUsers
(
appid
,
data
)
{
return
httpRequest
.
post
(
`/api/permissions/admin/v1/
${
appid
}
/application/assign/remove-app-users`
,
data
)
}
/**
* 创建成员
*/
export
function
createUser
(
appid
,
data
)
{
return
httpRequest
.
post
(
`/api/permissions/admin/v1/
${
appid
}
/application/user`
,
data
)
}
/**
* 创建应用管理员
*/
export
function
createAppAdminUsers
(
appid
,
data
)
{
return
httpRequest
.
post
(
`/api/permissions/admin/v1/
${
appid
}
/application/assign/users-to-app`
,
data
)
}
/**
* 获取事件列表
*/
export
function
getEventList
(
params
)
{
return
httpRequest
.
get
(
`/api/permissions/admin/v1/
${
params
.
app_id
}
/events`
,
{
params
})
}
/**
* 创建事件
*/
export
function
createEvent
(
appid
,
data
)
{
return
httpRequest
.
post
(
`/api/permissions/admin/v1/
${
appid
}
/event/create`
,
data
)
}
/**
* 更新事件
*/
export
function
updateEvent
(
id
,
data
)
{
return
httpRequest
.
put
(
`/api/permissions/admin/v1/event/
${
id
}
/update`
,
data
)
}
/**
* 删除事件
*/
export
function
deleteEvents
(
data
)
{
return
httpRequest
.
post
(
'/api/permissions/admin/v1/event/batch-delete'
,
data
)
}
/**
* 获取事件详情
*/
export
function
getEvent
(
params
)
{
return
httpRequest
.
get
(
`/api/permissions/admin/v1/event/
${
params
.
id
}
/detail`
,
{
params
})
}
/**
* 刷新事件token
*/
export
function
refreshEventToken
(
params
)
{
return
httpRequest
.
patch
(
`/api/permissions/admin/v1/event/
${
params
.
id
}
/refresh-token`
,
{
params
})
}
/**
* 获取获取事件回调记录列表
*/
*/
export
function
getEventRecordList
(
params
)
{
export
function
questionDetail
(
id
)
{
return
httpRequest
.
get
(
`/api/
permissions/admin/v1/
${
params
.
app_id
}
/event/records`
,
{
params
}
)
return
httpRequest
.
get
(
`/api/
qbs/admin/v1/question/
${
id
}
`
)
}
}
src/modules/question/components/AddChidren.vue
浏览文件 @
7651caa9
...
@@ -9,12 +9,19 @@
...
@@ -9,12 +9,19 @@
<template
v-if=
"source == 1"
>
<template
v-if=
"source == 1"
>
<div
class=
"radio-box"
>
<div
class=
"radio-box"
>
<div
class=
"tips-tit index"
>
请选择题库:
</div>
<div
class=
"tips-tit index"
>
请选择题库:
</div>
<el-radio
v-model=
"questionBank"
label=
"1"
>
我的题库
</el-radio>
<el-radio
@
change=
"radioChange"
v-model=
"questionBank"
label=
"1"
>
我的题库
</el-radio>
<el-radio
v-model=
"questionBank"
label=
"2"
style=
"text-indent: 1.5em"
>
公共题库
</el-radio>
<el-radio
@
change=
"radioChange"
v-model=
"questionBank"
label=
"2"
style=
"text-indent: 1.5em"
>
公共题库
</el-radio>
</div>
</div>
<app-list
v-bind=
"tableOptions"
ref=
"list"
class=
"app-list"
></app-list>
<app-list
v-bind=
"tableOptions"
ref=
"list"
class=
"app-list"
@
selection-change=
"handleSelectionChange"
>
<template
v-slot:input-filter
>
<div
class=
"filter-input"
>
<el-input
v-model=
"filterInput"
placeholder=
"请选择"
></el-input>
<div
class=
"pop"
@
click=
"dialogVisible = true"
></div>
</div>
</
template
>
</app-list>
<div
class=
"btn-box"
>
<div
class=
"btn-box"
>
<el-button
type=
"primary"
>
确定
</el-button>
<el-button
type=
"primary"
@
click=
"$emit('haveQuestion', checkedList)"
>
确定
</el-button>
</div>
</div>
</template>
</template>
<
template
v-else
>
<
template
v-else
>
...
@@ -29,65 +36,157 @@
...
@@ -29,65 +36,157 @@
<el-button
type=
"primary"
@
click=
"addQuestionConfirm"
>
确定
</el-button>
<el-button
type=
"primary"
@
click=
"addQuestionConfirm"
>
确定
</el-button>
</div>
</div>
</
template
>
</
template
>
<el-dialog
title=
"提示"
:visible=
"dialogVisible"
width=
"30%"
:before-close=
"handleClose"
>
<el-tree
:data=
"treeList"
:props=
"defaultProps"
@
node-click=
"handleNodeClick"
:expand-on-click-node=
"false"
></el-tree>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"handleClose"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"dialogConfirm"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
getAppList
}
from
'../api'
import
{
getAppList
,
getQuestionCategory
}
from
'../api'
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
dialogVisible
:
false
,
filterInput
:
''
,
source
:
'1'
,
source
:
'1'
,
questionBank
:
'1'
,
questionBank
:
'1'
,
type
:
'1'
type
:
'1'
,
visible
:
false
,
treeList
:
[],
defaultProps
:
''
,
treeValue
:
{
name
:
''
,
id
:
''
},
checkedList
:
[]
}
}
},
},
computed
:
{
computed
:
{
tableOptions
()
{
tableOptions
()
{
return
{
return
{
limit
:
10
,
filters
:
[
filters
:
[
{
{
type
:
'select'
,
type
:
'select'
,
label
:
'题目类型:'
label
:
'题目类型:'
,
prop
:
'question_type'
,
options
:
[
{
label
:
'单选题'
,
value
:
1
},
{
label
:
'多选题'
,
value
:
2
},
{
label
:
'问答题'
,
value
:
3
},
{
label
:
'案例题'
,
value
:
5
},
{
label
:
'判断题'
,
value
:
6
},
{
label
:
'实操题'
,
value
:
7
},
{
label
:
'情景题'
,
value
:
8
}
]
},
},
{
{
type
:
'select'
,
prop
:
'question_title'
,
label
:
'等级难度:'
type
:
'input'
,
label
:
'题目标题:'
},
},
{
{
type
:
'select'
,
prop
:
'question_content'
,
label
:
'试题分类:'
type
:
'input'
,
label
:
'题干内容:'
},
},
{
{
type
:
'input'
,
prop
:
'question_difficulty'
,
label
:
'题目标题:'
type
:
'select'
,
label
:
'难度等级:'
,
options
:
[
{
label
:
'易'
,
value
:
'1'
},
{
label
:
'中'
,
value
:
'2'
},
{
label
:
'难'
,
value
:
'3'
}
]
},
},
{
{
slots
:
'input-filter'
,
prop
:
'question_category'
,
type
:
'input'
,
type
:
'input'
,
label
:
'
题干内容
:'
label
:
'
试题分类
:'
},
},
{
{
type
:
'input'
,
type
:
'input'
,
label
:
'知识点:'
prop
:
'question_tag'
,
label
:
'知识点/标签:'
}
}
],
],
remote
:
{
httpRequest
:
getAppList
},
remote
:
{
httpRequest
:
getAppList
,
params
:
{
permission
:
this
.
questionBank
,
project_prefix
:
'x1'
,
question_category
:
this
.
treeValue
.
id
},
callback
(
data
)
{
const
questionType
=
{
1
:
'单选题'
,
2
:
'多选题'
,
3
:
'问答题'
,
6
:
'判断题'
}
const
questionDifficulty
=
{
1
:
'易'
,
2
:
'中'
,
3
:
'难'
}
return
data
.
data
.
reduce
((
a
,
b
)
=>
{
const
type
=
b
.
question_type
b
.
question_type
=
questionType
[
b
.
question_type
]
b
.
question_difficulty
=
questionDifficulty
[
b
.
question_difficulty
]
if
(
type
!==
5
&&
type
!==
7
&&
type
!==
8
)
a
.
push
(
b
)
return
a
},
[])
}
},
columns
:
[
columns
:
[
{
type
:
'selection'
,
minWidth
:
'50px'
,
fixed
:
'left'
},
{
type
:
'selection'
,
minWidth
:
'50px'
,
fixed
:
'left'
},
{
label
:
'序号'
,
prop
:
'order'
},
{
label
:
'序号'
,
prop
:
'question_order'
},
{
label
:
'题目类型'
,
prop
:
'type'
},
{
label
:
'题目类型'
,
prop
:
'question_type'
},
{
label
:
'试题分类'
,
prop
:
'sort'
},
{
label
:
'试题分类'
,
prop
:
'question_category.category_name'
},
{
label
:
'题目目标'
,
prop
:
'title'
},
{
label
:
'题目标题'
,
prop
:
'question_title'
},
{
label
:
'知识点'
,
prop
:
'points'
},
{
label
:
'知识点'
,
prop
:
'knowledge_point.title'
},
{
label
:
'等级难度'
,
prop
:
'grade'
},
{
label
:
'等级难度'
,
prop
:
'question_difficulty'
},
{
label
:
'更新人'
,
prop
:
'update_people'
}
{
label
:
'更新人'
,
prop
:
'operator.nickname'
},
{
label
:
'更新时间'
,
prop
:
'updated_at'
},
{
label
:
'操作'
,
slots
:
'table-x'
,
align
:
'right'
}
]
]
}
}
}
}
},
},
mounted
()
{
this
.
getTreeList
()
},
methods
:
{
methods
:
{
handleSelectionChange
(
data
)
{
this
.
checkedList
=
data
.
reduce
((
a
,
b
)
=>
{
const
data
=
{}
console
.
log
(
typeof
b
.
child_question_type
)
data
.
question_title
=
b
.
question_title
data
.
child_question_type
=
b
.
child_question_type
||
'1'
data
.
question_content
=
b
.
question_content
data
.
question_analysis
=
b
.
question_analysis
if
(
this
.
type
!==
'3'
)
data
.
question_options
=
b
.
question_options
a
.
push
(
data
)
return
a
},
[])
},
radioChange
()
{
this
.
$refs
.
list
.
refetch
()
},
addQuestionConfirm
()
{
addQuestionConfirm
()
{
const
params
=
{
const
data
=
{
question_title
:
''
,
question_title
:
''
,
child_question_type
:
this
.
type
,
child_question_type
:
this
.
type
,
question_content
:
''
,
question_content
:
''
,
...
@@ -107,15 +206,59 @@ export default {
...
@@ -107,15 +206,59 @@ export default {
{
option
:
'错误'
,
checked
:
false
}
{
option
:
'错误'
,
checked
:
false
}
]
]
}
}
params
.
question_options
=
options
data
.
question_options
=
options
}
this
.
$emit
(
'questionList'
,
data
)
},
handleNodeClick
(
data
)
{
this
.
treeValue
.
name
=
data
.
label
this
.
treeValue
.
id
=
data
.
id
},
handleClose
()
{
this
.
treeValue
.
name
=
''
this
.
treeValue
.
id
=
''
this
.
dialogVisible
=
false
},
dialogConfirm
()
{
this
.
dialogVisible
=
false
this
.
filterInput
=
this
.
treeValue
.
name
this
.
$refs
.
list
.
refetch
()
},
// 获取tree列表
getTreeList
()
{
getQuestionCategory
(
'x1'
).
then
(
res
=>
{
if
(
Array
.
isArray
(
res
.
data
))
{
this
.
initTree
(
res
.
data
)
}
})
},
// 过滤数据 变成tree组件需要的数据
initTree
(
data
)
{
this
.
treeList
=
data
.
reduce
((
a
,
b
)
=>
{
b
.
label
=
b
.
category_name
if
(
b
.
children
.
length
)
{
setData
(
b
.
children
)
}
a
.
push
(
b
)
return
a
},
[])
function
setData
(
item
)
{
return
item
.
map
(
element
=>
{
if
(
element
.
children
.
length
)
{
setData
(
element
.
children
)
element
.
label
=
element
.
category_name
}
else
{
element
.
label
=
element
.
category_name
}
return
element
})
}
}
this
.
$emit
(
'questionList'
,
params
)
}
}
}
}
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
>
.add-chidren
{
.add-chidren
{
padding
:
0
20px
;
padding
:
0
20px
;
.radio-tips
{
.radio-tips
{
...
@@ -141,6 +284,10 @@ export default {
...
@@ -141,6 +284,10 @@ export default {
.btn-box
{
.btn-box
{
display
:
flex
;
display
:
flex
;
justify-content
:
center
;
justify-content
:
center
;
padding-bottom
:
30px
;
}
}
}
}
.v-modal
{
z-index
:
10
!
important
;
}
</
style
>
</
style
>
src/modules/question/components/Detail.vue
浏览文件 @
7651caa9
...
@@ -26,11 +26,11 @@
...
@@ -26,11 +26,11 @@
</el-form-item>
</el-form-item>
<el-form-item
label=
"选项"
prop=
"question_options"
v-if=
"ruleForm.question_type != 3"
>
<el-form-item
label=
"选项"
prop=
"question_options"
v-if=
"ruleForm.question_type != 3"
>
<!-- 单选题 -->
<!-- 单选题 -->
<radio
ref=
"options"
v-if=
"ruleForm.question_type == 1"
></radio>
<radio
ref=
"options"
:option=
"ruleForm.question_options"
v-if=
"ruleForm.question_type == 1"
></radio>
<!-- 多选题 -->
<!-- 多选题 -->
<checkbox
ref=
"options"
v-if=
"ruleForm.question_type == 2"
></checkbox>
<checkbox
ref=
"options"
:option=
"ruleForm.question_options"
v-if=
"ruleForm.question_type == 2"
></checkbox>
<!-- 判断题 -->
<!-- 判断题 -->
<judgment
ref=
"options"
v-if=
"ruleForm.question_type == 6"
></judgment>
<judgment
ref=
"options"
:option=
"ruleForm.question_options"
v-if=
"ruleForm.question_type == 6"
></judgment>
</el-form-item>
</el-form-item>
<el-form-item
label=
"标签"
prop=
"question_tag"
>
<el-form-item
label=
"标签"
prop=
"question_tag"
>
<el-input
v-model=
"ruleForm.question_tag"
></el-input>
<el-input
v-model=
"ruleForm.question_tag"
></el-input>
...
@@ -59,7 +59,12 @@
...
@@ -59,7 +59,12 @@
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"submitForm('ruleForm')"
>
立即创建
</el-button>
<template
v-if=
"$route.query.id"
>
<el-button
v-if=
"$route.query.type == 'edit'"
type=
"primary"
@
click=
"submitForm('ruleForm')"
>
确认修改
</el-button>
</
template
>
<
template
v-else
>
<el-button
type=
"primary"
@
click=
"submitForm('ruleForm')"
>
立即创建
</el-button>
</
template
>
<!-- <el-button @click="resetForm('ruleForm')">重置</el-button> -->
<!-- <el-button @click="resetForm('ruleForm')">重置</el-button> -->
</el-form-item>
</el-form-item>
</el-form>
</el-form>
...
@@ -82,9 +87,14 @@ import VEditor from '@/components/tinymce/Index.vue'
...
@@ -82,9 +87,14 @@ import VEditor from '@/components/tinymce/Index.vue'
import
Radio
from
'../components/QTypeRadio.vue'
import
Radio
from
'../components/QTypeRadio.vue'
import
Checkbox
from
'../components/QTypeCheckbox.vue'
import
Checkbox
from
'../components/QTypeCheckbox.vue'
import
Judgment
from
'../components/QTypeJudgment.vue'
import
Judgment
from
'../components/QTypeJudgment.vue'
import
{
getQuestionCategory
,
searchTag
,
addQuestion
}
from
'../api'
import
{
getQuestionCategory
,
searchTag
,
addQuestion
,
updateQuestion
}
from
'../api'
export
default
{
export
default
{
components
:
{
VEditor
,
Radio
,
Checkbox
,
Judgment
},
components
:
{
VEditor
,
Radio
,
Checkbox
,
Judgment
},
props
:
{
detailData
:
{
type
:
Object
}
},
data
()
{
data
()
{
return
{
return
{
pointOptions
:
[],
pointOptions
:
[],
...
@@ -130,25 +140,34 @@ export default {
...
@@ -130,25 +140,34 @@ export default {
}
}
},
},
mounted
()
{
mounted
()
{
if
(
this
.
detailData
)
{
this
.
ruleForm
=
this
.
detailData
}
this
.
getTreeList
()
this
.
getTreeList
()
},
},
methods
:
{
methods
:
{
submitForm
(
formName
)
{
submitForm
(
formName
)
{
if
(
parseInt
(
this
.
ruleForm
.
question_type
)
!==
3
)
{
if
(
parseInt
(
this
.
ruleForm
.
question_type
)
!==
3
)
{
console
.
log
(
this
.
$refs
.
options
.
datas
,
'123'
)
const
isValue
=
this
.
$refs
.
options
.
datas
.
find
(
item
=>
item
.
option
===
''
)
const
isValue
=
this
.
$refs
.
options
.
datas
.
find
(
item
=>
item
.
option
===
''
)
if
(
!
isValue
)
this
.
ruleForm
.
question_options
=
this
.
$refs
.
options
.
datas
if
(
!
isValue
)
this
.
ruleForm
.
question_options
=
this
.
$refs
.
options
.
datas
}
}
console
.
log
(
this
.
ruleForm
,
'form'
)
this
.
$refs
[
formName
].
validate
(
valid
=>
{
this
.
$refs
[
formName
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
valid
)
{
// alert('submit!')
// console.log(JSON.stringify(this.ruleForm))
addQuestion
(
this
.
ruleForm
).
then
(
res
=>
{
if
(
this
.
$router
.
query
.
id
)
{
if
(
res
.
code
===
0
)
{
updateQuestion
(
this
.
ruleForm
).
then
(
res
=>
{
this
.
$router
.
push
({
path
:
'/question/list'
})
})
}
else
{
addQuestion
(
this
.
ruleForm
).
then
(
res
=>
{
this
.
$router
.
push
({
this
.
$router
.
push
({
path
:
'/question/list'
path
:
'/question/list'
})
})
}
}
)
}
)
}
}
else
{
}
else
{
console
.
log
(
'error submit!!'
)
console
.
log
(
'error submit!!'
)
return
false
return
false
...
...
src/modules/question/components/QTypeCheckbox.vue
浏览文件 @
7651caa9
<
template
>
<
template
>
<div
class=
"radio-box"
>
<div
class=
"radio-box"
>
<template
v-for=
"(item, index) in datas"
>
<template
v-for=
"(item, index) in
option ||
datas"
>
<div
class=
"opt"
:key=
"index"
>
<div
class=
"opt"
:key=
"index"
>
<el-checkbox
v-model=
"checkboxValue"
:label=
"index"
@
change=
"checkboxChange"
>
<el-checkbox
v-model=
"checkboxValue"
:label=
"index"
@
change=
"checkboxChange"
>
<el-tag>
{{
A_Z
()[
index
]
}}
</el-tag>
<el-tag>
{{
A_Z
()[
index
]
}}
</el-tag>
...
@@ -15,6 +15,11 @@
...
@@ -15,6 +15,11 @@
<
script
>
<
script
>
export
default
{
export
default
{
props
:
{
option
:
{
type
:
Array
}
},
data
()
{
data
()
{
return
{
return
{
checkboxValue
:
[
0
],
checkboxValue
:
[
0
],
...
@@ -38,6 +43,9 @@ export default {
...
@@ -38,6 +43,9 @@ export default {
]
]
}
}
},
},
mounted
()
{
if
(
this
.
option
)
this
.
datas
=
this
.
option
},
methods
:
{
methods
:
{
add
()
{
add
()
{
this
.
datas
.
push
({
option
:
''
,
checked
:
false
})
this
.
datas
.
push
({
option
:
''
,
checked
:
false
})
...
...
src/modules/question/components/QTypeJudgment.vue
浏览文件 @
7651caa9
...
@@ -7,6 +7,11 @@
...
@@ -7,6 +7,11 @@
<
script
>
<
script
>
export
default
{
export
default
{
props
:
{
option
:
{
type
:
Array
}
},
data
()
{
data
()
{
return
{
return
{
radio
:
'0'
,
radio
:
'0'
,
...
@@ -22,6 +27,9 @@ export default {
...
@@ -22,6 +27,9 @@ export default {
]
]
}
}
},
},
mounted
()
{
if
(
this
.
option
)
this
.
datas
=
this
.
option
},
methods
:
{
methods
:
{
radioChange
()
{
radioChange
()
{
this
.
datas
.
map
(
item
=>
{
this
.
datas
.
map
(
item
=>
{
...
@@ -29,7 +37,6 @@ export default {
...
@@ -29,7 +37,6 @@ export default {
this
.
datas
[
this
.
radio
].
checked
=
true
this
.
datas
[
this
.
radio
].
checked
=
true
return
item
return
item
})
})
console
.
log
(
this
.
datas
,
'datas'
)
}
}
}
}
}
}
...
...
src/modules/question/components/QTypeRadio.vue
浏览文件 @
7651caa9
<
template
>
<
template
>
<div
class=
"radio-box"
>
<div
class=
"radio-box"
>
<template
v-for=
"(item, index) in datas"
>
<template
v-for=
"(item, index) in
option ||
datas"
>
<div
class=
"opt"
:key=
"index"
>
<div
class=
"opt"
:key=
"index"
>
<el-radio
v-model=
"radioValue"
:label=
"index"
@
change=
"radioChange"
>
<el-radio
v-model=
"radioValue"
:label=
"index"
@
change=
"radioChange"
>
<el-tag>
{{
A_Z
()[
index
]
}}
</el-tag>
<el-tag>
{{
A_Z
()[
index
]
}}
</el-tag>
...
@@ -10,12 +10,16 @@
...
@@ -10,12 +10,16 @@
<i
class=
"el-icon-circle-plus-outline icon-style"
v-else
@
click=
"add"
></i>
<i
class=
"el-icon-circle-plus-outline icon-style"
v-else
@
click=
"add"
></i>
</div>
</div>
</
template
>
</
template
>
<!-- <el-radio v-model="radio" label="1"></el-radio> -->
</div>
</div>
</template>
</template>
<
script
>
<
script
>
export
default
{
export
default
{
props
:
{
option
:
{
type
:
Array
}
},
data
()
{
data
()
{
return
{
return
{
radioValue
:
0
,
radioValue
:
0
,
...
@@ -36,6 +40,9 @@ export default {
...
@@ -36,6 +40,9 @@ export default {
ruleForm
:
''
ruleForm
:
''
}
}
},
},
mounted
()
{
if
(
this
.
option
)
this
.
datas
=
this
.
option
},
methods
:
{
methods
:
{
add
()
{
add
()
{
this
.
datas
.
push
({
option
:
''
,
checked
:
false
})
this
.
datas
.
push
({
option
:
''
,
checked
:
false
})
...
...
src/modules/question/components/QTypeSituation.vue
浏览文件 @
7651caa9
<
template
>
<
template
>
<div>
<div>
<div
class=
"tool-btn"
>
<div
class=
"tool-btn"
>
<el-button
type=
"primary"
@
click=
"
submitForm('ruleForm')
"
>
添加子题目
</el-button>
<el-button
type=
"primary"
@
click=
"
drawer = true
"
>
添加子题目
</el-button>
<el-button
type=
"primary"
@
click=
"resetForm('ruleForm')"
>
保存主题目
</el-button>
<el-button
type=
"primary"
@
click=
"resetForm('ruleForm')"
>
保存主题目
</el-button>
</div>
</div>
<el-form
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"100px"
class=
"demo-ruleForm"
>
<el-form
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"100px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"题库范围"
prop=
"permission"
>
<el-radio
v-model=
"ruleForm.permission"
label=
"1"
>
我的题库
</el-radio>
<el-radio
v-model=
"ruleForm.permission"
label=
"2"
>
公共题库
</el-radio>
</el-form-item>
<el-form-item
label=
"题目类型"
prop=
"question_type"
>
<el-form-item
label=
"题目类型"
prop=
"question_type"
>
<el-select
@
change=
"questionTypeChange"
v-model=
"ruleForm.question_type"
placeholder=
"请选择活题目类型"
>
<el-select
@
change=
"questionTypeChange"
v-model=
"ruleForm.question_type"
placeholder=
"请选择活题目类型"
>
<el-option
v-for=
"(item, index) in qType"
:label=
"item.label"
:value=
"item.value"
:key=
"index"
></el-option>
<el-option
v-for=
"(item, index) in qType"
:label=
"item.label"
:value=
"item.value"
:key=
"index"
></el-option>
...
@@ -60,24 +64,14 @@
...
@@ -60,24 +64,14 @@
<el-option
v-for=
"item in pointOptions"
:key=
"item.id"
:label=
"item.title"
:value=
"item.id"
>
</el-option>
<el-option
v-for=
"item in pointOptions"
:key=
"item.id"
:label=
"item.title"
:value=
"item.id"
>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<!--
<el-button
type=
"primary"
@
click=
"submitForm('ruleForm')"
>
立即创建
</el-button>
-->
<!--
<el-button
@
click=
"resetForm('ruleForm')"
>
重置
</el-button>
-->
<!--
</el-form-item>
-->
</el-form>
</el-form>
<!--
<questions-chidren
v-for=
"(item, index) in chidrenList"
:key=
"index"
:data=
"item"
:chidrenList=
"chidrenList"
@
addChidren=
"drawer = true"
@
removeChidren=
"removeChidren"
></questions-chidren>
-->
<questions-chidren
<questions-chidren
:chidrenList=
"chidrenList"
:chidrenList=
"chidrenList"
@
submitForm=
"submitForm"
@
addChidren=
"drawer = true"
@
addChidren=
"drawer = true"
></questions-chidren>
></questions-chidren>
<el-drawer
size=
"90%"
title=
"新建试题"
:visible
.
sync=
"drawer"
direction=
"rtl"
:before-close=
"handleClose"
>
<el-drawer
size=
"90%"
title=
"新建试题"
:visible
.
sync=
"drawer"
direction=
"rtl"
:before-close=
"handleClose
Drawer
"
>
<add-chidren
@
questionList=
"questionList"
:dataForm=
"ruleForm"
></add-chidren>
<add-chidren
@
haveQuestion=
"haveQuestion"
@
questionList=
"questionList"
:dataForm=
"ruleForm"
></add-chidren>
</el-drawer>
</el-drawer>
</div>
</div>
</
template
>
</
template
>
...
@@ -85,7 +79,7 @@
...
@@ -85,7 +79,7 @@
import
QuestionsChidren
from
'./QuestionsChidren.vue'
import
QuestionsChidren
from
'./QuestionsChidren.vue'
import
VEditor
from
'@/components/tinymce/Index.vue'
import
VEditor
from
'@/components/tinymce/Index.vue'
import
AddChidren
from
'./AddChidren.vue'
import
AddChidren
from
'./AddChidren.vue'
import
{
getQuestionCategory
,
searchTag
}
from
'../api'
import
{
getQuestionCategory
,
searchTag
,
addQuestion
}
from
'../api'
export
default
{
export
default
{
components
:
{
AddChidren
,
VEditor
,
QuestionsChidren
},
components
:
{
AddChidren
,
VEditor
,
QuestionsChidren
},
props
:
{
props
:
{
...
@@ -109,14 +103,16 @@ export default {
...
@@ -109,14 +103,16 @@ export default {
ruleForm
:
{
ruleForm
:
{
permission
:
'1'
,
permission
:
'1'
,
question_type
:
1
,
question_type
:
1
,
question_title
:
'
1
'
,
question_title
:
''
,
common_content
:
'
1
'
,
common_content
:
''
,
question_category
:
''
,
question_category
:
''
,
question_tag
:
''
,
question_tag
:
''
,
knowledge_point
:
''
,
knowledge_point
:
''
,
question_difficulty
:
''
question_difficulty
:
''
,
children
:
[]
},
},
rules
:
{
rules
:
{
permission
:
[{
required
:
true
,
message
:
'请选择'
,
trigger
:
'change'
}],
question_type
:
[{
required
:
true
,
message
:
'请选择'
,
trigger
:
'change'
}],
question_type
:
[{
required
:
true
,
message
:
'请选择'
,
trigger
:
'change'
}],
question_difficulty
:
[{
required
:
true
,
message
:
'请选择难度等级'
,
trigger
:
'change'
}],
question_difficulty
:
[{
required
:
true
,
message
:
'请选择难度等级'
,
trigger
:
'change'
}],
question_title
:
[{
required
:
true
,
message
:
'请填写题目标题'
,
trigger
:
'blur'
}],
question_title
:
[{
required
:
true
,
message
:
'请填写题目标题'
,
trigger
:
'blur'
}],
...
@@ -140,19 +136,19 @@ export default {
...
@@ -140,19 +136,19 @@ export default {
this
.
getTreeList
()
this
.
getTreeList
()
},
},
methods
:
{
methods
:
{
handleCloseDrawer
()
{
this
.
drawer
=
false
},
submitForm
(
formName
)
{
submitForm
(
formName
)
{
this
.
drawer
=
true
this
.
ruleForm
.
children
=
this
.
chidrenList
this
.
$refs
[
formName
].
validate
(
valid
=>
{
addQuestion
(
this
.
ruleForm
).
then
(
res
=>
{
if
(
valid
)
{
// 11
// alert('submit!')
this
.
$router
.
push
({
}
else
{
path
:
'/question/list'
console
.
log
(
'error submit!!'
)
})
return
false
}
})
})
},
},
resetForm
(
formName
)
{
resetForm
(
formName
)
{
// this.$refs[formName].resetFields()
this
.
$refs
[
formName
].
validate
(
valid
=>
{
this
.
$refs
[
formName
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
valid
)
{
console
.
log
(
this
.
chidrenList
)
console
.
log
(
this
.
chidrenList
)
...
@@ -221,6 +217,12 @@ export default {
...
@@ -221,6 +217,12 @@ export default {
this
.
chidrenList
.
push
(
data
)
this
.
chidrenList
.
push
(
data
)
this
.
drawer
=
false
this
.
drawer
=
false
console
.
log
(
this
.
chidrenList
,
'list'
)
console
.
log
(
this
.
chidrenList
,
'list'
)
},
haveQuestion
(
data
)
{
data
.
forEach
(
item
=>
{
this
.
chidrenList
.
push
(
item
)
})
this
.
drawer
=
false
}
}
}
}
}
}
...
...
src/modules/question/components/QuestionsChidren.vue
浏览文件 @
7651caa9
<
template
>
<
template
>
<div>
<div>
<!--
<template
v-for=
"(ruleForm, index) in dataList"
>
-->
<el-form
:model=
"data"
ref=
"ruleForm"
label-width=
"100px"
class=
"demo-ruleForm"
>
<el-form
:model=
"data"
ref=
"ruleForm"
label-width=
"100px"
class=
"demo-ruleForm"
>
<div
v-for=
"(ruleForm, index) in dataList"
:key=
"index"
>
<div
v-for=
"(ruleForm, index) in dataList"
:key=
"index"
>
<el-divider
content-position=
"center"
class=
"divider"
>
子题目
{{
index
+
1
}}
</el-divider>
<el-divider
content-position=
"center"
class=
"divider"
>
子题目
{{
index
+
1
}}
</el-divider>
<el-form-item
style=
"text-align: right;"
>
<el-form-item
style=
"text-align: right;"
>
<el-button
type=
"primary"
@
click=
"$emit('addChidren')"
>
添加子题目
</el-button>
<el-button
type=
"primary"
@
click=
"$emit('addChidren')"
>
添加子题目
</el-button>
<el-button
type=
"primary"
@
click=
"removeChidren(index)"
>
删除子题目
</el-button>
<el-button
type=
"primary"
@
click=
"removeChidren(index)"
>
删除子题目
</el-button>
</el-form-item>
</el-form-item>
<el-form-item
label=
"子题目类型"
prop=
"child_question_type"
>
<el-form-item
label=
"子题目类型"
prop=
"child_question_type"
>
<el-select
v-model=
"ruleForm.child_question_type"
disabled
placeholder=
"请选择活动区域"
>
<el-select
v-model=
"ruleForm.child_question_type"
placeholder=
"请选择活动区域"
>
<el-option
label=
"单选题"
value=
"1"
></el-option>
<el-option
label=
"单选题"
value=
"1"
></el-option>
<el-option
label=
"多选题"
value=
"2"
></el-option>
<el-option
label=
"多选题"
value=
"2"
></el-option>
<el-option
label=
"判断题"
value=
"6"
></el-option>
<el-option
label=
"判断题"
value=
"6"
></el-option>
<el-option
label=
"问答题"
value=
"3"
></el-option>
<el-option
label=
"问答题"
value=
"3"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"子题目标题"
prop=
"question_title"
>
<el-form-item
label=
"子题目标题"
prop=
"question_title"
>
<el-input
v-model=
"ruleForm.question_title"
></el-input>
<el-input
v-model=
"ruleForm.question_title"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"子题目内容"
prop=
"question_content"
>
<el-form-item
label=
"子题目内容"
prop=
"question_content"
>
<v-editor
v-model=
"ruleForm.question_content"
></v-editor>
<v-editor
v-model=
"ruleForm.question_content"
></v-editor>
</el-form-item>
</el-form-item>
<el-form-item
label=
"选项"
prop=
"question_options"
v-if=
"ruleForm.child_question_type != 3"
>
<el-form-item
label=
"选项"
prop=
"question_options"
v-if=
"ruleForm.child_question_type != 3"
>
<!-- 单选题 -->
<!-- 单选题 -->
<radio
ref=
"options"
:option=
"ruleForm.question_options"
v-if=
"ruleForm.child_question_type == 1"
></radio>
<radio
ref=
"options"
v-if=
"ruleForm.child_question_type == 1"
></radio>
<!-- 多选题 -->
<!-- 多选题 -->
<checkbox
ref=
"options"
:option=
"ruleForm.question_options"
v-if=
"ruleForm.child_question_type == 2"
></checkbox>
<checkbox
ref=
"options"
v-if=
"ruleForm.child_question_type == 2"
></checkbox>
<!-- 判断题 -->
<!-- 判断题 -->
<judgment
ref=
"options"
:option=
"ruleForm.question_options"
v-if=
"ruleForm.child_question_type == 6"
></judgment>
<judgment
ref=
"options"
v-if=
"ruleForm.child_question_type == 6"
></judgment>
</el-form-item>
</el-form-item>
<el-form-item
label=
"子题目解析"
prop=
"question_analysis"
>
<el-form-item
label=
"子题目解析"
prop=
"question_analysis"
>
<v-editor
v-model=
"ruleForm.question_analysis"
></v-editor>
<v-editor
v-model=
"ruleForm.question_analysis"
></v-editor>
</el-form-item>
</el-form-item>
<el-form-item
style=
"text-align: center;"
v-if=
"index + 1 == dataList.length"
>
<el-form-item
style=
"text-align: center;"
v-if=
"index + 1 == dataList.length"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
保存
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm()"
>
保存
</el-button>
</el-form-item>
</el-form-item>
</div>
</div>
</el-form>
</el-form>
<!--
</
template
>
-->
</div>
</div>
</
template
>
</
template
>
...
@@ -73,21 +71,14 @@ export default {
...
@@ -73,21 +71,14 @@ export default {
},
},
mounted
()
{
mounted
()
{
this
.
dataList
=
this
.
chidrenList
this
.
dataList
=
this
.
chidrenList
console
.
log
(
this
.
chidrenList
)
},
},
methods
:
{
methods
:
{
removeChidren
(
n
)
{
removeChidren
(
n
)
{
this
.
dataList
.
splice
(
n
,
1
)
this
.
dataList
.
splice
(
n
,
1
)
},
},
submitForm
()
{
submitForm
()
{
console
.
log
(
111
,
'111'
)
this
.
$emit
(
'submitForm'
)
this
.
$refs
.
ruleForm
.
validate
(
valid
=>
{
if
(
valid
)
{
console
.
log
(
'11'
)
}
else
{
console
.
log
(
111
,
'111'
)
return
false
}
})
}
}
}
}
}
}
...
...
src/modules/question/views/Create.vue
浏览文件 @
7651caa9
<
template
>
<
template
>
<app-card>
<app-card>
<detail
@
questionType=
"questionType"
v-if=
"[1, 2, 3, 6].includes(questionTypeNum)"
></detail>
<template
v-if=
"[1, 2, 3, 6].includes(questionTypeNum)"
>
<situation-question
:questionTypeNumber=
"questionTypeNum"
@
questionType=
"questionType"
v-else
></situation-question>
<template
v-if=
"$route.query.id"
>
<detail
v-if=
"Object.keys(detailData).length"
:detailData=
"detailData"
@
questionType=
"questionType"
></detail>
</
template
>
<detail
v-else
@
questionType=
"questionType"
></detail>
</template>
<
template
v-else
>
<template
v-if=
"$route.query.id"
>
<situation-question
v-if=
"$route.query.id && Object.keys(detailData).length"
:detailData=
"detailData"
:questionTypeNumber=
"questionTypeNum"
@
questionType=
"questionType"
></situation-question>
</
template
>
<situation-question
v-else
:questionTypeNumber=
"questionTypeNum"
@
questionType=
"questionType"
></situation-question>
</template>
</app-card>
</app-card>
</template>
</template>
<
script
>
<
script
>
import
Detail
from
'../components/Detail.vue'
import
Detail
from
'../components/Detail.vue'
import
SituationQuestion
from
'../components/QTypeSituation.vue'
import
SituationQuestion
from
'../components/QTypeSituation.vue'
// import VEditor from '@/components/tinymce/Index.vue'
import
{
questionDetail
}
from
'../api'
// import Checkbox from '../components/QTypeCheckbox.vue'
// import Judgment from '../components/QTypeJudgment.vue'
export
default
{
export
default
{
components
:
{
Detail
,
SituationQuestion
},
components
:
{
Detail
,
SituationQuestion
},
// components: { Detail },
data
()
{
data
()
{
return
{
return
{
questionTypeNum
:
1
questionTypeNum
:
1
,
detailData
:
{}
}
},
mounted
()
{
if
(
this
.
$route
.
query
.
id
)
{
questionDetail
(
this
.
$route
.
query
.
id
).
then
(
res
=>
{
this
.
questionTypeNum
=
res
.
data
.
question_type
res
.
data
.
permission
=
res
.
data
.
permission
.
toString
()
res
.
data
.
question_difficulty
=
res
.
data
.
question_difficulty
.
toString
()
res
.
data
.
question_category
=
res
.
data
.
question_category
.
category_name
this
.
detailData
=
res
.
data
console
.
log
(
this
.
detailData
)
})
}
}
},
},
methods
:
{
methods
:
{
questionType
(
n
)
{
questionType
(
n
)
{
console
.
log
(
typeof
n
,
'123'
)
this
.
questionTypeNum
=
n
this
.
questionTypeNum
=
n
}
}
}
}
...
...
src/modules/question/views/List.vue
浏览文件 @
7651caa9
<
template
>
<
template
>
<app-card>
<app-card>
<app-list
v-bind=
"tableOptions"
ref=
"list"
>
<app-list
v-bind=
"tableOptions"
ref=
"list"
@
selection-change=
"handleSelectionChange"
>
<template
v-slot:radio-filter
>
<template
v-slot:radio-filter
>
<el-radio
v-model=
"radio"
label=
"1"
>
我的题库
</el-radio>
<el-radio
@
change=
"radioChange"
v-model=
"radio"
label=
"1"
>
我的题库
</el-radio>
<el-radio
v-model=
"radio"
label=
"2"
>
公共题库
</el-radio>
<el-radio
@
change=
"radioChange"
v-model=
"radio"
label=
"2"
>
公共题库
</el-radio>
</
template
>
</
template
>
<
template
v-slot:input-filter
>
<
template
v-slot:input-filter
>
<div
class=
"filter-input"
>
<div
class=
"filter-input"
>
...
@@ -16,12 +16,12 @@
...
@@ -16,12 +16,12 @@
>
新建试题
</el-button
>
新建试题
</el-button
>
>
<el-button
type=
"primary"
icon=
"el-icon-plus"
@
click=
"visible = true"
>
批量导入试题
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-plus"
@
click=
"visible = true"
>
批量导入试题
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-plus"
@
click=
"
visible = true
"
>
批量删除
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-plus"
@
click=
"
deleteQuestion()
"
>
批量删除
</el-button>
</div>
</div>
<
template
v-slot:table-x=
"{ row }"
>
<
template
v-slot:table-x=
"{ row }"
>
<el-button
type=
"text"
@
click=
"handle
View
(row)"
>
编辑
</el-button>
<el-button
type=
"text"
@
click=
"handle
Settings
(row)"
>
编辑
</el-button>
<el-button
type=
"text"
@
click=
"handle
Settings
(row)"
>
查看详情
</el-button>
<el-button
type=
"text"
@
click=
"handle
View
(row)"
>
查看详情
</el-button>
<el-button
type=
"text"
@
click=
"handle
Settings(row
)"
>
删除
</el-button>
<el-button
type=
"text"
@
click=
"handle
Delete(row.id
)"
>
删除
</el-button>
</
template
>
</
template
>
<el-dialog
title=
"提示"
:visible
.
sync=
"dialogVisible"
width=
"30%"
:before-close=
"handleClose"
>
<el-dialog
title=
"提示"
:visible
.
sync=
"dialogVisible"
width=
"30%"
:before-close=
"handleClose"
>
<el-tree
<el-tree
...
@@ -40,11 +40,12 @@
...
@@ -40,11 +40,12 @@
</template>
</template>
<
script
>
<
script
>
import
{
getAppList
,
getQuestionCategory
}
from
'../api'
import
{
getAppList
,
getQuestionCategory
,
deleteQuestion
}
from
'../api'
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
deleteQuestions
:
[],
dialogVisible
:
false
,
dialogVisible
:
false
,
visible
:
false
,
visible
:
false
,
radio
:
'1'
,
radio
:
'1'
,
...
@@ -60,6 +61,7 @@ export default {
...
@@ -60,6 +61,7 @@ export default {
computed
:
{
computed
:
{
tableOptions
()
{
tableOptions
()
{
return
{
return
{
limit
:
10
,
filters
:
[
filters
:
[
{
{
slots
:
'radio-filter'
,
slots
:
'radio-filter'
,
...
@@ -161,6 +163,22 @@ export default {
...
@@ -161,6 +163,22 @@ export default {
this
.
getTreeList
()
this
.
getTreeList
()
},
},
methods
:
{
methods
:
{
// 列表选择
handleSelectionChange
(
data
)
{
this
.
deleteQuestions
=
data
.
reduce
((
a
,
b
)
=>
a
.
push
(
b
.
id
)
&&
a
,
[])
},
// 删除试题
handleDelete
(
id
)
{
console
.
log
(
id
)
const
ids
=
id
?
[
id
]
:
this
.
deleteQuestions
deleteQuestion
({
ids
:
ids
}).
then
(
res
=>
{
this
.
$message
({
message
:
'删除成功'
,
type
:
'success'
})
this
.
$refs
.
list
.
refetch
()
})
},
// 获取tree列表
// 获取tree列表
getTreeList
()
{
getTreeList
()
{
getQuestionCategory
(
'x1'
).
then
(
res
=>
{
getQuestionCategory
(
'x1'
).
then
(
res
=>
{
...
@@ -201,7 +219,7 @@ export default {
...
@@ -201,7 +219,7 @@ export default {
},
},
handleSettings
(
row
)
{
handleSettings
(
row
)
{
// tan ~~~~~
// tan ~~~~~
this
.
$router
.
push
({
path
:
'/
settings/users'
,
query
:
{
appid
:
row
.
id
}
})
this
.
$router
.
push
({
path
:
'/
question/create'
,
query
:
{
id
:
row
.
id
,
type
:
'edit'
}
})
},
},
handleNodeClick
(
data
)
{
handleNodeClick
(
data
)
{
this
.
treeValue
.
name
=
data
.
label
this
.
treeValue
.
name
=
data
.
label
...
@@ -216,13 +234,9 @@ export default {
...
@@ -216,13 +234,9 @@ export default {
this
.
dialogVisible
=
false
this
.
dialogVisible
=
false
this
.
filterInput
=
this
.
treeValue
.
name
this
.
filterInput
=
this
.
treeValue
.
name
this
.
$refs
.
list
.
refetch
()
this
.
$refs
.
list
.
refetch
()
}
},
},
radioChange
()
{
watch
:
{
this
.
$refs
.
list
.
refetch
()
radio
:
{
handler
()
{
this
.
$refs
.
list
.
refetch
()
}
}
}
}
}
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论