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 () {
return {
component: 'List',
params: {},
include: []
params: {}
}
},

View File

@@ -7,20 +7,29 @@
<ai-card title="基本信息">
<template #content>
<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-input size="small" v-model="form.title" clearable placeholder="请输入证书名称" :maxlength="200"></el-input>
<el-form-item label="证书名称" style="width: 100%" prop="certificateName" :rules="[{required: true, message: '请输入证书名称', trigger: 'blur'}]">
<el-input size="small" v-model="form.certificateName" clearable placeholder="请输入证书名称" :maxlength="200"></el-input>
</el-form-item>
<el-form-item prop="type" style="width: 100%" label="类型" :rules="[{required: true, message: '请选择类型', trigger: 'change'}]">
<el-radio-group v-model="form.type">
<el-radio label="1">单选题</el-radio>
<el-radio label="2">多选题</el-radio>
<el-radio label="3">判断题</el-radio>
</el-radio-group>
<el-form-item prop="certificateType" label="类型" :rules="[{required: true, message: '请选择证书类型', trigger: 'change'}]">
<ai-select
v-model="form.certificateType"
clearable
placeholder="请选择证书类型"
:selectList="dict.getDict('qjCertificateType')">
</ai-select>
</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
:instance="instance"
v-model="form.pictureUrl"
v-model="form.imageUrl"
:limit="1">
</ai-uploader>
</el-form-item>
@@ -48,10 +57,10 @@
return {
info: {},
form: {
title: '',
certificateName: '',
content: '',
pictureUrl: [],
type: '1'
imageUrl: [],
certificateType: ''
},
id: ''
}
@@ -66,9 +75,14 @@
methods: {
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) {
this.form = res.data
this.form = {
...res.data,
imageUrl: [{
url: res.data.imageUrl
}]
}
}
})
},
@@ -76,8 +90,9 @@
confirm () {
this.$refs.form.validate((valid) => {
if (valid) {
this.instance.post(`/app/appcontentinfo/addOrUpdate`, {
...this.form
this.instance.post(`/app/appcertificateinfo/addOrUpdate`, {
...this.form,
imageUrl: this.form.imageUrl[0].url
}).then(res => {
if (res.code == 0) {
this.$message.success('提交成功')

View File

@@ -10,11 +10,11 @@
</template>
<template #right>
<el-input
v-model="search.title"
v-model="search.certificateName"
class="search-input"
size="small"
v-throttle="() => {search.current = 1, getList()}"
placeholder="请输入标题"
placeholder="请输入证书名称"
clearable
@clear="search.current = 1, getList()"
suffix-icon="iconfont iconSearch">
@@ -43,7 +43,6 @@
</template>
<script>
import { mapState } from 'vuex'
export default {
name: 'List',
@@ -57,33 +56,29 @@
search: {
current: 1,
size: 10,
title: '',
areaId: ''
certificateName: ''
},
total: 10,
colConfigs: [
{ prop: 'title', label: '题目', align: 'left' },
{ prop: 'createUserName', label: '证书名称', align: 'center' },
{ prop: 'createUserName', label: '类型', align: 'center' },
{ prop: 'createUserName', label: '已颁发数量', align: 'center' },
{ prop: 'createUserName', label: '累积学习时(分钟)', align: 'center' },
{ prop: 'createUserName', label: '通过考试', align: 'center' }
{ prop: 'certificateName', label: '证书名称', align: 'left' },
{ prop: 'certificateType', label: '类型', align: 'center', format: v => this.dict.getLabel('qjCertificateType', v) },
{ prop: 'issueNumber', label: '已颁发数量', align: 'center' },
{ prop: 'studyDuration', label: '累积学习时(分钟)', align: 'center' },
{ prop: 'passExam', label: '通过考试', align: 'center' }
],
tableData: []
}
},
computed: {
...mapState(['user'])
},
created () {
this.getList()
this.dict.load('qjCertificateType').then(() => {
this.getList()
})
},
methods: {
getList() {
this.instance.post(`/app/appmarketingactivityinfo/list`, null, {
this.instance.post(`/app/appcertificateinfo/list`, null, {
params: {
...this.search
}
@@ -97,7 +92,7 @@
remove (id) {
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) {
this.$message.success('删除成功!')
this.getList()