提交 37d92d4b authored 作者: lihuihui's avatar lihuihui

update

上级 ba8d7473
...@@ -10,5 +10,6 @@ ...@@ -10,5 +10,6 @@
<body> <body>
<div id="app"></div> <div id="app"></div>
<script type="module" src="/src/main.js"></script> <script type="module" src="/src/main.js"></script>
<script src="https://webapp-pub.ezijing.com/plugins/tinymce/tinymce.min.js"></script>
</body> </body>
</html> </html>
...@@ -7,7 +7,9 @@ ...@@ -7,7 +7,9 @@
"": { "": {
"version": "0.0.0", "version": "0.0.0",
"dependencies": { "dependencies": {
"@tinymce/tinymce-vue": "^3.2.8",
"axios": "^0.25.0", "axios": "^0.25.0",
"blueimp-md5": "^2.19.0",
"element-ui": "^2.15.6", "element-ui": "^2.15.6",
"query-string": "^7.1.1", "query-string": "^7.1.1",
"vue": "^2.6.14", "vue": "^2.6.14",
...@@ -945,6 +947,14 @@ ...@@ -945,6 +947,14 @@
"node": ">= 8.0.0" "node": ">= 8.0.0"
} }
}, },
"node_modules/@tinymce/tinymce-vue": {
"version": "3.2.8",
"resolved": "https://registry.npmjs.org/@tinymce/tinymce-vue/-/tinymce-vue-3.2.8.tgz",
"integrity": "sha512-jEz+NZ0g+FZFz273OEUWz9QkwPMyjc5AJYyxOgu51O1Y5UaJ/6IUddXTX6A20mwCleEv5ebwNYdalviafx4fnA==",
"peerDependencies": {
"vue": "^2.4.3"
}
},
"node_modules/@tootallnate/once": { "node_modules/@tootallnate/once": {
"version": "1.1.2", "version": "1.1.2",
"dev": true, "dev": true,
...@@ -1498,6 +1508,11 @@ ...@@ -1498,6 +1508,11 @@
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/blueimp-md5": {
"version": "2.19.0",
"resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.19.0.tgz",
"integrity": "sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w=="
},
"node_modules/bowser": { "node_modules/bowser": {
"version": "1.9.4", "version": "1.9.4",
"dev": true, "dev": true,
...@@ -5830,6 +5845,12 @@ ...@@ -5830,6 +5845,12 @@
"picomatch": "^2.2.2" "picomatch": "^2.2.2"
} }
}, },
"@tinymce/tinymce-vue": {
"version": "3.2.8",
"resolved": "https://registry.npmjs.org/@tinymce/tinymce-vue/-/tinymce-vue-3.2.8.tgz",
"integrity": "sha512-jEz+NZ0g+FZFz273OEUWz9QkwPMyjc5AJYyxOgu51O1Y5UaJ/6IUddXTX6A20mwCleEv5ebwNYdalviafx4fnA==",
"requires": {}
},
"@tootallnate/once": { "@tootallnate/once": {
"version": "1.1.2", "version": "1.1.2",
"dev": true "dev": true
...@@ -6207,6 +6228,11 @@ ...@@ -6207,6 +6228,11 @@
"version": "3.7.2", "version": "3.7.2",
"dev": true "dev": true
}, },
"blueimp-md5": {
"version": "2.19.0",
"resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.19.0.tgz",
"integrity": "sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w=="
},
"bowser": { "bowser": {
"version": "1.9.4", "version": "1.9.4",
"dev": true "dev": true
......
...@@ -10,7 +10,9 @@ ...@@ -10,7 +10,9 @@
"lint": "eslint --ext .js,.vue --ignore-path .gitignore --fix src" "lint": "eslint --ext .js,.vue --ignore-path .gitignore --fix src"
}, },
"dependencies": { "dependencies": {
"@tinymce/tinymce-vue": "^3.2.8",
"axios": "^0.25.0", "axios": "^0.25.0",
"blueimp-md5": "^2.19.0",
"element-ui": "^2.15.6", "element-ui": "^2.15.6",
"query-string": "^7.1.1", "query-string": "^7.1.1",
"vue": "^2.6.14", "vue": "^2.6.14",
......
...@@ -12,8 +12,8 @@ export default { ...@@ -12,8 +12,8 @@ export default {
data() { data() {
return { return {
init: { init: {
min_height: 600, min_height: 400,
max_height: 600, max_height: 400,
menubar: false, menubar: false,
statusbar: false, statusbar: false,
plugins: 'table autoresize charmap fullscreen hr lists link code preview quickbars', plugins: 'table autoresize charmap fullscreen hr lists link code preview quickbars',
......
<template>
<div class="add-chidren">
<div class="radio-box">
<div class="tips-tit">请选择子题目来源:</div>
<el-radio v-model="source" label="1">来自于已有题库</el-radio>
<el-radio v-model="source" label="2">新建子题目</el-radio>
</div>
<div class="radio-tips">子题目来自于已有题库,您可以从系统的题库中选择题目,组合成情景题的子题目</div>
<template v-if="source == 1">
<div class="radio-box">
<div class="tips-tit index">请选择题库:</div>
<el-radio v-model="questionBank" label="1">我的题库</el-radio>
<el-radio v-model="questionBank" label="2" style="text-indent: 1.5em">公共题库</el-radio>
</div>
<app-list v-bind="tableOptions" ref="list" class="app-list"></app-list>
<div class="btn-box">
<el-button type="primary">&nbsp;&nbsp;&nbsp;&nbsp;确定&nbsp;&nbsp;&nbsp;&nbsp;</el-button>
</div>
</template>
<template v-else>
<div class="radio-box">
<div class="tips-tit">请选择子题目类型:</div>
<el-radio v-model="type" label="1">单选题</el-radio>
<el-radio v-model="type" label="2">多选题</el-radio>
<el-radio v-model="type" label="3">判断题</el-radio>
<el-radio v-model="type" label="4">问答题</el-radio>
</div>
</template>
</div>
</template>
<script>
import { getAppList } from '../api'
export default {
data() {
return {
source: '1',
questionBank: '1',
type: '1'
}
},
computed: {
tableOptions() {
return {
filters: [
{
type: 'select',
label: '题目类型:'
},
{
type: 'select',
label: '等级难度:'
},
{
type: 'select',
label: '试题分类:'
},
{
type: 'input',
label: '题目标题:'
},
{
type: 'input',
label: '题干内容:'
},
{
type: 'input',
label: '知识点:'
}
],
remote: { httpRequest: getAppList },
columns: [
{ type: 'selection', minWidth: '50px', fixed: 'left' },
{ label: '序号', prop: 'order' },
{ label: '题目类型', prop: 'type' },
{ label: '试题分类', prop: 'sort' },
{ label: '题目目标', prop: 'title' },
{ label: '知识点', prop: 'points' },
{ label: '等级难度', prop: 'grade' },
{ label: '更新人', prop: 'update_people' }
]
}
}
},
methods: {
}
}
</script>
<style lang="scss" scoped>
.add-chidren {
padding: 0 20px;
.radio-tips {
font-size: 14px;
color: #606266;
padding: 10px 0;
text-indent: 8.9em;
}
.radio-box {
display: flex;
align-items: center;
.tips-tit {
font-size: 14px;
color: #606266;
&.index {
text-indent: 3em;
}
}
}
.app-list {
padding: 30px 0;
}
.btn-box {
display: flex;
justify-content: center;
}
}
</style>
<template>
<div>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<el-form-item label="题目类型" prop="name">
<!-- <el-input v-model="ruleForm.name"></el-input> -->
<el-select v-model="ruleForm.name" placeholder="请选择活动区域">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="难度等级" prop="region">
<el-select v-model="ruleForm.region" placeholder="请选择活动区域">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="题目标题" required>
<el-input v-model="ruleForm.data1"></el-input>
</el-form-item>
<el-form-item label="题干内容" prop="delivery" required>
<v-editor></v-editor>
</el-form-item>
<el-form-item label="选项" prop="delivery" required>
<slot></slot>
</el-form-item>
<el-form-item label="标签" prop="type">
<el-input v-model="ruleForm.type"></el-input>
</el-form-item>
<el-form-item label="题目解析" prop="resource">
<v-editor></v-editor>
</el-form-item>
<el-form-item label="试题分类" prop="desc">
<el-select v-model="ruleForm.desc" placeholder="请选择活动区域">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="知识点" prop="data2">
<el-input v-model="ruleForm.data2"></el-input>
</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>
</div>
</template>
<script>
import VEditor from '@/components/tinymce/Index.vue'
export default {
components: { VEditor },
data() {
return {
ruleForm: {
name: '',
region: '',
date1: '',
date2: '',
delivery: false,
type: [],
resource: '',
desc: ''
},
rules: {
name: [
{ required: true, message: '请输入活动名称', trigger: 'blur' },
{ min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
],
region: [{ required: true, message: '请选择活动区域', trigger: 'change' }],
date1: [{ type: 'date', required: true, message: '请选择日期', trigger: 'change' }],
date2: [{ type: 'date', required: true, message: '请选择时间', trigger: 'change' }],
type: [{ type: 'array', required: true, message: '请至少选择一个活动性质', trigger: 'change' }],
resource: [{ required: true, message: '请选择活动资源', trigger: 'change' }],
desc: [{ required: true, message: '请填写活动形式', trigger: 'blur' }]
}
}
},
methods: {
submitForm(formName) {
this.$refs[formName].validate(valid => {
if (valid) {
alert('submit!')
} else {
console.log('error submit!!')
return false
}
})
},
resetForm(formName) {
this.$refs[formName].resetFields()
}
}
}
</script>
<style lang="scss" scoped>
</style>
<template>
<div>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<el-form-item label="题目类型" prop="desc">
<el-select v-model="ruleForm.desc" placeholder="请选择活动区域">
<el-option label="单选题" value="questionType1"></el-option>
<el-option label="多选题" value="questionType2"></el-option>
<el-option label="判断题" value="questionType3"></el-option>
<el-option label="问答题" value="questionType4"></el-option>
</el-select>
</el-form-item>
<el-form-item label="题目标题" prop="data2">
<el-input v-model="ruleForm.data2"></el-input>
</el-form-item>
<el-form-item label="公共题干" prop="data2">
<v-editor></v-editor>
</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>
</div>
</template>
<script>
export default {
data() {
return {
ruleForm: {}
}
}
}
</script>
<style lang="scss" scoped>
</style>
<template>
<div class="radio-box">
<template v-for="(item, index) in radioList">
<div class="opt" :key="index">
<el-checkbox v-model="radioValue" :label="index">
<el-tag>{{ A_Z()[index] }}</el-tag>
<el-input v-model="item.value" maxlength="80" show-word-limit></el-input>
</el-checkbox>
<i class="el-icon-remove-outline icon-style" v-if="index != radioList.length - 1" @click="remove(index)"></i>
<i class="el-icon-circle-plus-outline icon-style" v-else @click="add"></i>
</div>
</template>
</div>
</template>
<script>
export default {
data() {
return {
radioValue: [],
radioList: [
{
value: ''
},
{
value: ''
},
{
value: ''
}
],
ruleForm: ''
}
},
methods: {
add() {
this.radioList.push({ value: '' })
},
remove(index) {
this.radioList.splice(index, 1)
},
A_Z() {
const result = []
for (let i = 0; i < 26; i++) {
result.push(String.fromCharCode(65 + i))
}
return result
}
}
}
</script>
<style lang="scss" scoped>
.opt {
::v-deep {
.el-input__inner {
height: 25px;
border-radius: 0 4px 4px 0;
}
.el-tag {
// height: 32px;
border-radius: 4px 0 0 4px;
border-right: none;
}
.icon-style {
font-size: 16px;
margin-left: 30px;
cursor: pointer;
}
}
}
</style>
<template>
<div>
<el-radio v-model="radio" label="1"><i class="el-icon-check"></i></el-radio>
<el-radio v-model="radio" label="2"><i class="el-icon-close"></i></el-radio>
</div>
</template>
<script>
export default {
data() {
return {
radio: '1'
}
}
}
</script>
<style lang="scss" scoped>
</style>
<template>
<div class="radio-box">
<template v-for="(item, index) in radioList">
<div class="opt" :key="index">
<el-radio v-model="radioValue" :label="index">
<el-tag>{{ A_Z()[index] }}</el-tag>
<el-input v-model="item.value" maxlength="80" show-word-limit></el-input>
</el-radio>
<i class="el-icon-remove-outline icon-style" v-if="index != radioList.length - 1" @click="remove(index)"></i>
<i class="el-icon-circle-plus-outline icon-style" v-else @click="add"></i>
</div>
</template>
<!-- <el-radio v-model="radio" label="1"></el-radio> -->
</div>
</template>
<script>
export default {
data() {
return {
radioValue: 0,
radioList: [
{
value: ''
},
{
value: ''
},
{
value: ''
}
],
ruleForm: ''
}
},
methods: {
add() {
this.radioList.push({ value: '' })
},
remove(index) {
this.radioList.splice(index, 1)
},
A_Z() {
const result = []
for (let i = 0; i < 26; i++) {
result.push(String.fromCharCode(65 + i))
}
return result
}
}
}
</script>
<style lang="scss" scoped>
.opt {
::v-deep {
.el-input__inner {
height: 25px;
border-radius: 0 4px 4px 0;
}
.el-tag {
// height: 32px;
border-radius: 4px 0 0 4px;
border-right: none;
}
.icon-style {
font-size: 16px;
margin-left: 30px;
cursor: pointer;
}
}
}
</style>
<template>
<div>
<div class="tool-btn">
<el-button type="primary" @click="submitForm('ruleForm')">添加子题目</el-button>
<el-button type="primary" @click="resetForm('ruleForm')">保存主题目</el-button>
</div>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<el-form-item label="题目类型" prop="desc">
<el-select v-model="ruleForm.desc" placeholder="请选择活动区域">
<el-option label="单选题" value="questionType1"></el-option>
<el-option label="多选题" value="questionType2"></el-option>
<el-option label="判断题" value="questionType3"></el-option>
<el-option label="问答题" value="questionType4"></el-option>
</el-select>
</el-form-item>
<el-form-item label="题目标题" prop="data2">
<el-input v-model="ruleForm.data2"></el-input>
</el-form-item>
<el-form-item label="公共题干" prop="data2">
<v-editor></v-editor>
</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>
<questions-chidren></questions-chidren>
<!-- <questions-chidren></questions-chidren> -->
<el-drawer size="90%" title="新建试题" :visible.sync="drawer" direction="rtl" :before-close="handleClose">
<add-chidren></add-chidren>
</el-drawer>
</div>
</template>
<script>
import QuestionsChidren from './QuestionsChidren.vue'
import VEditor from '@/components/tinymce/Index.vue'
import AddChidren from './AddChidren.vue'
export default {
components: { AddChidren, VEditor, QuestionsChidren },
data() {
return {
drawer: false,
ruleForm: {
name: '',
region: '',
date1: '',
date2: '',
delivery: false,
type: '',
resource: '',
desc: ''
},
rules: {
name: [
{ required: true, message: '请输入活动名称', trigger: 'blur' },
{ min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
],
region: [{ required: true, message: '请选择活动区域', trigger: 'change' }],
date1: [{ type: 'date', required: true, message: '请选择日期', trigger: 'change' }],
date2: [{ type: 'date', required: true, message: '请选择时间', trigger: 'change' }],
type: [{ type: 'array', required: true, message: '请至少选择一个活动性质', trigger: 'change' }],
resource: [{ required: true, message: '请选择活动资源', trigger: 'change' }],
desc: [{ required: true, message: '请填写活动形式', trigger: 'blur' }]
}
}
},
methods: {
submitForm(formName) {
this.$refs[formName].validate(valid => {
if (valid) {
this.drawer = true
// alert('submit!')
} else {
console.log('error submit!!')
return false
}
})
},
resetForm(formName) {
this.$refs[formName].resetFields()
},
handleClose(done) {
this.$confirm('确认关闭?')
.then(_ => {
done()
})
.catch(_ => {})
}
}
}
</script>
<style lang="scss" scoped>
.tool-btn {
display: flex;
justify-content: right;
}
.divider {
margin: 20px 0;
}
</style>
<template>
<div>
<el-divider content-position="center" class="divider">子题目1</el-divider>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<el-form-item label="子题目类型" prop="desc">
<el-select v-model="ruleForm.desc" disabled placeholder="请选择活动区域">
<el-option label="单选题" value="questionType1"></el-option>
<el-option label="多选题" value="questionType2"></el-option>
<el-option label="判断题" value="questionType3"></el-option>
<el-option label="问答题" value="questionType4"></el-option>
</el-select>
</el-form-item>
<el-form-item label="难度等级" prop="desc">
<el-select v-model="ruleForm.desc" placeholder="请选择活动区域">
<el-option label="单选题" value="questionType1"></el-option>
<el-option label="多选题" value="questionType2"></el-option>
<el-option label="判断题" value="questionType3"></el-option>
<el-option label="问答题" value="questionType4"></el-option>
</el-select>
</el-form-item>
<el-form-item label="子题目标题" prop="data2">
<el-input v-model="ruleForm.data2"></el-input>
</el-form-item>
<el-form-item label="子题目内容" prop="data2">
<v-editor></v-editor>
</el-form-item>
<el-form-item label="选项">
<radio></radio>
<!-- <el-button type="primary" @click="submitForm('ruleForm')">立即创建</el-button> -->
<!-- <el-button @click="resetForm('ruleForm')">重置</el-button> -->
</el-form-item>
<el-form-item label="标签">
<el-input v-model="ruleForm.data2"></el-input>
</el-form-item>
<el-form-item label="子题目解析" prop="data2">
<v-editor></v-editor>
</el-form-item>
<el-form-item label="试题分类" prop="desc">
<el-select v-model="ruleForm.desc" disabled placeholder="请选择活动区域">
<el-option label="单选题" value="questionType1"></el-option>
<el-option label="多选题" value="questionType2"></el-option>
<el-option label="判断题" value="questionType3"></el-option>
<el-option label="问答题" value="questionType4"></el-option>
</el-select>
</el-form-item>
<el-form-item label="知识点">
<el-input v-model="ruleForm.data2"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('ruleForm')">保存子题目</el-button>
<el-button type="primary" @click="resetForm('ruleForm')">删除子题目</el-button>
<!-- <el-input v-model="ruleForm.data2"></el-input> -->
</el-form-item>
</el-form>
</div>
</template>
<script>
import Radio from './QTypeRadio.vue'
import VEditor from '@/components/tinymce/Index.vue'
export default {
components: { VEditor, Radio },
data() {
return {
ruleForm: {}
}
}
}
</script>
<style lang="scss" scoped>
</style>
...@@ -14,6 +14,11 @@ const routes = [ ...@@ -14,6 +14,11 @@ const routes = [
path: 'list', path: 'list',
component: () => import('./views/List.vue'), component: () => import('./views/List.vue'),
meta: { title: '我的题库' } meta: { title: '我的题库' }
},
{
path: 'create',
component: () => import('./views/create.vue'),
meta: { title: '新建试题' }
} }
] ]
} }
......
<template>
<app-card>
<!-- <detail>
</detail> -->
<radio></radio>
<!-- <v-editor></v-editor> -->
</app-card>
</template>
<script>
// import Detail from '../components/Detail.vue'
// import VEditor from '@/components/tinymce/Index.vue'
import Radio from '../components/QTypeCase.vue'
export default {
components: { Radio }
}
</script>
<style lang="scss" scoped>
</style>
<template> <template>
<app-card> <app-card>
<app-list v-bind="tableOptions" ref="list"> <app-list v-bind="tableOptions" ref="list">
<template #header-aside> <!-- <template #header-aside>
<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>
</template> <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>
</template> -->
<div class="operate-btn">
<el-button type="primary" icon="el-icon-plus" @click="$router.push({ path: '/question/create' })">新建试题</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>
</div>
<template v-slot:table-x="{ row }"> <template v-slot:table-x="{ row }">
<el-button type="text" @click="handleView(row)">查看</el-button> <el-button type="text" @click="handleView(row)">编辑</el-button>
<el-button type="text" @click="handleSettings(row)">设置</el-button> <el-button type="text" @click="handleSettings(row)">查看详情</el-button>
<el-button type="text" @click="handleSettings(row)">删除</el-button>
</template> </template>
</app-list> </app-list>
</app-card> </app-card>
...@@ -24,12 +32,43 @@ export default { ...@@ -24,12 +32,43 @@ export default {
computed: { computed: {
tableOptions() { tableOptions() {
return { return {
filters: [
{
type: 'select',
label: '题目类型:'
},
{
type: 'input',
label: '题目标题:'
},
{
type: 'input',
label: '题目内容:'
},
{
type: 'select',
label: '难度等级:'
},
{
type: 'select',
label: '试题分类:'
},
{
type: 'input',
label: '知识点标签:'
}
],
remote: { httpRequest: getAppList }, remote: { httpRequest: getAppList },
columns: [ columns: [
{ label: '应用名称', prop: 'name' }, { label: '序号', prop: 'order' },
{ label: '应用别名', prop: 'alias_name' }, { label: '题目类型', prop: 'type' },
{ label: '应用描述', prop: 'desc' }, { label: '试题分类', prop: 'sort' },
{ label: '操作', slots: 'table-x', align: 'right', width: 150 } { label: '题目目标', prop: 'title' },
{ label: '知识点', prop: 'points' },
{ label: '等级难度', prop: 'grade' },
{ label: '更新人', prop: 'update_people' },
{ label: '更新时间', prop: 'update_time' },
{ label: '操作', slots: 'table-x', align: 'right' }
] ]
} }
} }
...@@ -44,8 +83,16 @@ export default { ...@@ -44,8 +83,16 @@ export default {
this.$router.push({ name: 'appView', params: { id: row.id }, query: { appid: row.id } }) this.$router.push({ name: 'appView', params: { id: row.id }, query: { appid: row.id } })
}, },
handleSettings(row) { handleSettings(row) {
// tan ~~~~~
this.$router.push({ path: '/settings/users', query: { appid: row.id } }) this.$router.push({ path: '/settings/users', query: { appid: row.id } })
} }
} }
} }
</script> </script>
<style lang="scss">
.operate-btn{
display: flex;
padding-bottom: 10px;
}
</style>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论