This commit is contained in:
yanran200730
2023-02-16 14:16:46 +08:00
parent 28856c980c
commit 11e3bc06f0
3 changed files with 46 additions and 37 deletions

View File

@@ -22,8 +22,7 @@
data () { data () {
return { return {
component: 'List', component: 'List',
params: {}, params: {}
include: []
} }
}, },

View File

@@ -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('提交成功')

View File

@@ -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()