证书
This commit is contained in:
@@ -22,8 +22,7 @@
|
|||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
component: 'List',
|
component: 'List',
|
||||||
params: {},
|
params: {}
|
||||||
include: []
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -7,20 +7,29 @@
|
|||||||
<ai-card title="基本信息">
|
<ai-card title="基本信息">
|
||||||
<template #content>
|
<template #content>
|
||||||
<el-form class="ai-form" :model="form" label-width="120px" ref="form">
|
<el-form class="ai-form" :model="form" label-width="120px" ref="form">
|
||||||
<el-form-item label="证书名称" prop="title" :rules="[{required: true, message: '请输入证书名称', trigger: 'blur'}]">
|
<el-form-item label="证书名称" style="width: 100%" prop="certificateName" :rules="[{required: true, message: '请输入证书名称', trigger: 'blur'}]">
|
||||||
<el-input size="small" v-model="form.title" clearable placeholder="请输入证书名称" :maxlength="200"></el-input>
|
<el-input size="small" v-model="form.certificateName" clearable placeholder="请输入证书名称" :maxlength="200"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="type" style="width: 100%" label="类型" :rules="[{required: true, message: '请选择类型', trigger: 'change'}]">
|
<el-form-item prop="certificateType" label="类型" :rules="[{required: true, message: '请选择证书类型', trigger: 'change'}]">
|
||||||
<el-radio-group v-model="form.type">
|
<ai-select
|
||||||
<el-radio label="1">单选题</el-radio>
|
v-model="form.certificateType"
|
||||||
<el-radio label="2">多选题</el-radio>
|
clearable
|
||||||
<el-radio label="3">判断题</el-radio>
|
placeholder="请选择证书类型"
|
||||||
</el-radio-group>
|
:selectList="dict.getDict('qjCertificateType')">
|
||||||
|
</ai-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="上传证书" prop="pictureUrl" style="width: 100%;" :rules="[{required: true, message: '请上传证书', trigger: 'change'}]">
|
<el-form-item label="累计学习时长" v-if="form.certificateType === '0'" style="width: 100%" prop="studyDuration" :rules="[{required: true, message: '请输入累计学习时长', trigger: 'blur'}]">
|
||||||
|
<el-input-number size="small" v-model="form.studyDuration" :min="1" clearable placeholder="请输入" :maxlength="200"></el-input-number>
|
||||||
|
<span style="color: #999; padding-left: 10px;">分钟</span>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="通过考试" v-else style="width: 100%" prop="passExam" :rules="[{required: true, message: '请输入通过考试场数', trigger: 'blur'}]">
|
||||||
|
<el-input-number size="small" v-model="form.passExam" :min="1" clearable placeholder="请输入" :maxlength="200"></el-input-number>
|
||||||
|
<span style="color: #999; padding-left: 10px;">场</span>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="上传证书" prop="imageUrl" style="width: 100%;" :rules="[{required: true, message: '请上传证书', trigger: 'change'}]">
|
||||||
<ai-uploader
|
<ai-uploader
|
||||||
:instance="instance"
|
:instance="instance"
|
||||||
v-model="form.pictureUrl"
|
v-model="form.imageUrl"
|
||||||
:limit="1">
|
:limit="1">
|
||||||
</ai-uploader>
|
</ai-uploader>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -48,10 +57,10 @@
|
|||||||
return {
|
return {
|
||||||
info: {},
|
info: {},
|
||||||
form: {
|
form: {
|
||||||
title: '',
|
certificateName: '',
|
||||||
content: '',
|
content: '',
|
||||||
pictureUrl: [],
|
imageUrl: [],
|
||||||
type: '1'
|
certificateType: ''
|
||||||
},
|
},
|
||||||
id: ''
|
id: ''
|
||||||
}
|
}
|
||||||
@@ -66,9 +75,14 @@
|
|||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
getInfo (id) {
|
getInfo (id) {
|
||||||
this.instance.post(`/app/appcontentinfo/queryDetailById?id=${id}`).then(res => {
|
this.instance.post(`/app/appcertificateinfo/queryDetailById?id=${id}`).then(res => {
|
||||||
if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
this.form = res.data
|
this.form = {
|
||||||
|
...res.data,
|
||||||
|
imageUrl: [{
|
||||||
|
url: res.data.imageUrl
|
||||||
|
}]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -76,8 +90,9 @@
|
|||||||
confirm () {
|
confirm () {
|
||||||
this.$refs.form.validate((valid) => {
|
this.$refs.form.validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.instance.post(`/app/appcontentinfo/addOrUpdate`, {
|
this.instance.post(`/app/appcertificateinfo/addOrUpdate`, {
|
||||||
...this.form
|
...this.form,
|
||||||
|
imageUrl: this.form.imageUrl[0].url
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
this.$message.success('提交成功')
|
this.$message.success('提交成功')
|
||||||
|
|||||||
@@ -10,11 +10,11 @@
|
|||||||
</template>
|
</template>
|
||||||
<template #right>
|
<template #right>
|
||||||
<el-input
|
<el-input
|
||||||
v-model="search.title"
|
v-model="search.certificateName"
|
||||||
class="search-input"
|
class="search-input"
|
||||||
size="small"
|
size="small"
|
||||||
v-throttle="() => {search.current = 1, getList()}"
|
v-throttle="() => {search.current = 1, getList()}"
|
||||||
placeholder="请输入标题"
|
placeholder="请输入证书名称"
|
||||||
clearable
|
clearable
|
||||||
@clear="search.current = 1, getList()"
|
@clear="search.current = 1, getList()"
|
||||||
suffix-icon="iconfont iconSearch">
|
suffix-icon="iconfont iconSearch">
|
||||||
@@ -43,7 +43,6 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapState } from 'vuex'
|
|
||||||
export default {
|
export default {
|
||||||
name: 'List',
|
name: 'List',
|
||||||
|
|
||||||
@@ -57,33 +56,29 @@
|
|||||||
search: {
|
search: {
|
||||||
current: 1,
|
current: 1,
|
||||||
size: 10,
|
size: 10,
|
||||||
title: '',
|
certificateName: ''
|
||||||
areaId: ''
|
|
||||||
},
|
},
|
||||||
total: 10,
|
total: 10,
|
||||||
colConfigs: [
|
colConfigs: [
|
||||||
{ prop: 'title', label: '题目', align: 'left' },
|
{ prop: 'certificateName', label: '证书名称', align: 'left' },
|
||||||
{ prop: 'createUserName', label: '证书名称', align: 'center' },
|
{ prop: 'certificateType', label: '类型', align: 'center', format: v => this.dict.getLabel('qjCertificateType', v) },
|
||||||
{ prop: 'createUserName', label: '类型', align: 'center' },
|
{ prop: 'issueNumber', label: '已颁发数量', align: 'center' },
|
||||||
{ prop: 'createUserName', label: '已颁发数量', align: 'center' },
|
{ prop: 'studyDuration', label: '累积学习时(分钟)', align: 'center' },
|
||||||
{ prop: 'createUserName', label: '累积学习时(分钟)', align: 'center' },
|
{ prop: 'passExam', label: '通过考试', align: 'center' }
|
||||||
{ prop: 'createUserName', label: '通过考试', align: 'center' }
|
|
||||||
],
|
],
|
||||||
tableData: []
|
tableData: []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
computed: {
|
|
||||||
...mapState(['user'])
|
|
||||||
},
|
|
||||||
|
|
||||||
created () {
|
created () {
|
||||||
this.getList()
|
this.dict.load('qjCertificateType').then(() => {
|
||||||
|
this.getList()
|
||||||
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
getList() {
|
getList() {
|
||||||
this.instance.post(`/app/appmarketingactivityinfo/list`, null, {
|
this.instance.post(`/app/appcertificateinfo/list`, null, {
|
||||||
params: {
|
params: {
|
||||||
...this.search
|
...this.search
|
||||||
}
|
}
|
||||||
@@ -97,7 +92,7 @@
|
|||||||
|
|
||||||
remove (id) {
|
remove (id) {
|
||||||
this.$confirm('确定删除该活动?').then(() => {
|
this.$confirm('确定删除该活动?').then(() => {
|
||||||
this.instance.post(`/app/appmarketingactivityinfo/delete?id=${id}`).then(res => {
|
this.instance.post(`/app/appcertificateinfo/delete?id=${id}`).then(res => {
|
||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
this.$message.success('删除成功!')
|
this.$message.success('删除成功!')
|
||||||
this.getList()
|
this.getList()
|
||||||
|
|||||||
Reference in New Issue
Block a user