|
@@ -2,7 +2,7 @@
|
|
<div class="app-container">
|
|
<div class="app-container">
|
|
<el-form :model="form" ref="form" :rules="rules" label-width="100px" :disabled="disabled">
|
|
<el-form :model="form" ref="form" :rules="rules" label-width="100px" :disabled="disabled">
|
|
<el-form-item label="播客名称:" prop="name">
|
|
<el-form-item label="播客名称:" prop="name">
|
|
- <el-input v-model="form.name" placeholder="请输入播客名称" />
|
|
|
|
|
|
+ <el-input v-model="form.name" placeholder="请输入播客名称" maxlength="50" show-word-limit />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="主播名称:" prop="podcasterIds">
|
|
<el-form-item label="主播名称:" prop="podcasterIds">
|
|
<el-select v-model="form.podcasterIds" multiple filterable remote reserve-keyword
|
|
<el-select v-model="form.podcasterIds" multiple filterable remote reserve-keyword
|
|
@@ -34,10 +34,11 @@
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item v-if="form.charging !== 1" label="原价:" prop="price">
|
|
<el-form-item v-if="form.charging !== 1" label="原价:" prop="price">
|
|
- <el-input v-model="form.price" placeholder="请输入原价" />
|
|
|
|
|
|
+ <el-input-number v-model="form.price" placeholder="请输入原价" :min="1" :precision="2" :controls="false" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item v-if="form.charging !== 1" label="折扣价:" prop="discountedPrice">
|
|
<el-form-item v-if="form.charging !== 1" label="折扣价:" prop="discountedPrice">
|
|
- <el-input v-model="form.discountedPrice" placeholder="请输入折扣价" />
|
|
|
|
|
|
+ <el-input-number v-model="form.discountedPrice" placeholder="请输入折扣价" :min="1" :precision="2"
|
|
|
|
+ :controls="false" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="播客封面" prop="thumb">
|
|
<el-form-item label="播客封面" prop="thumb">
|
|
<Upload listType="picture-card" :url="form.thumb" @upload="upload" :disabled="disabled" />
|
|
<Upload listType="picture-card" :url="form.thumb" @upload="upload" :disabled="disabled" />
|
|
@@ -88,7 +89,8 @@
|
|
<el-table-column label="当前状态" prop="status" align="center" :formatter="statusFormatter" />
|
|
<el-table-column label="当前状态" prop="status" align="center" :formatter="statusFormatter" />
|
|
<el-table-column label="操作" align="center">
|
|
<el-table-column label="操作" align="center">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <el-button type="text" @click="getChecked(scope.row)" :disabled="disabledChecked">
|
|
|
|
|
|
+ <el-button type="text" @click="getChecked(scope.row)"
|
|
|
|
+ :disabled="disabledChecked || scope.row.status === 2">
|
|
选择
|
|
选择
|
|
</el-button>
|
|
</el-button>
|
|
</template>
|
|
</template>
|
|
@@ -112,29 +114,23 @@ export default {
|
|
Upload
|
|
Upload
|
|
},
|
|
},
|
|
data() {
|
|
data() {
|
|
- // 小数点后两位 正则
|
|
|
|
- var str = /^\d+.?\d{0,2}$/
|
|
|
|
// 判断原价是否大于折扣价
|
|
// 判断原价是否大于折扣价
|
|
var checkPrice = (rule, value, callback) => {
|
|
var checkPrice = (rule, value, callback) => {
|
|
if (!value) {
|
|
if (!value) {
|
|
- return callback(new Error('请输入原价'))
|
|
|
|
- } else if (Number(value) < 0) {
|
|
|
|
- return callback(new Error('不能为负数'))
|
|
|
|
- } else if (!str.test(value)) {
|
|
|
|
- return callback(new Error('小数点后最多输入两位'))
|
|
|
|
|
|
+ callback(new Error('请输入原价'))
|
|
|
|
+ } else if (value.toString().length > 10) {
|
|
|
|
+ callback(new Error('字符长度不超过10个'))
|
|
} else if (this.form.discountedPrice) {
|
|
} else if (this.form.discountedPrice) {
|
|
- Number(value) > Number(this.form.discountedPrice) ? callback() : callback(new Error('原价必须大于折扣价'))
|
|
|
|
|
|
+ value > this.form.discountedPrice ? callback() : callback(new Error('原价必须大于折扣价'))
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// 判断折扣价是否小于原价
|
|
// 判断折扣价是否小于原价
|
|
var checkDiscount = (rule, value, callback) => {
|
|
var checkDiscount = (rule, value, callback) => {
|
|
if (value) {
|
|
if (value) {
|
|
- if (Number(value) < 0) {
|
|
|
|
- return callback(new Error('不能为负数'))
|
|
|
|
- } else if (!str.test(value)) {
|
|
|
|
- return callback(new Error('小数点后最多输入两位'))
|
|
|
|
|
|
+ if (value.toString().length > 10) {
|
|
|
|
+ callback(new Error('字符长度不超过10个'))
|
|
} else if (this.form.price) {
|
|
} else if (this.form.price) {
|
|
- Number(value) < Number(this.form.price) ? callback() : callback(new Error('折扣价必须小于原价'))
|
|
|
|
|
|
+ value < this.form.price ? callback() : callback(new Error('折扣价必须小于原价'))
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -155,7 +151,8 @@ export default {
|
|
// 弹窗表单
|
|
// 弹窗表单
|
|
dialogForm: {
|
|
dialogForm: {
|
|
pageNum: 1,
|
|
pageNum: 1,
|
|
- pageSize: 10
|
|
|
|
|
|
+ pageSize: 10,
|
|
|
|
+ status: 1
|
|
},
|
|
},
|
|
// 总数据
|
|
// 总数据
|
|
total: 0,
|
|
total: 0,
|
|
@@ -167,8 +164,6 @@ export default {
|
|
rules: {
|
|
rules: {
|
|
name: [{
|
|
name: [{
|
|
required: true, message: '请输入播客专辑名称', trigger: 'blur'
|
|
required: true, message: '请输入播客专辑名称', trigger: 'blur'
|
|
- }, {
|
|
|
|
- max: 50, message: '字符不超过50个', trigger: 'blur'
|
|
|
|
}],
|
|
}],
|
|
podcasterIds: [{
|
|
podcasterIds: [{
|
|
required: true, message: '请输入主播名称', trigger: 'blur'
|
|
required: true, message: '请输入主播名称', trigger: 'blur'
|
|
@@ -183,13 +178,9 @@ export default {
|
|
required: true, message: '请选择付费类型', trigger: 'change'
|
|
required: true, message: '请选择付费类型', trigger: 'change'
|
|
}],
|
|
}],
|
|
price: [{
|
|
price: [{
|
|
- max: 10, message: '字符不超过10个', trigger: 'blur'
|
|
|
|
- }, {
|
|
|
|
required: true, validator: checkPrice, trigger: 'blur'
|
|
required: true, validator: checkPrice, trigger: 'blur'
|
|
}],
|
|
}],
|
|
discountedPrice: [{
|
|
discountedPrice: [{
|
|
- max: 10, message: '字符不超过10个', trigger: 'blur'
|
|
|
|
- }, {
|
|
|
|
validator: checkDiscount, trigger: 'blur'
|
|
validator: checkDiscount, trigger: 'blur'
|
|
}],
|
|
}],
|
|
thumb: [{
|
|
thumb: [{
|
|
@@ -255,6 +246,7 @@ export default {
|
|
})
|
|
})
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+
|
|
// 上传
|
|
// 上传
|
|
upload(e) {
|
|
upload(e) {
|
|
this.form.thumb = e.file
|
|
this.form.thumb = e.file
|
|
@@ -288,7 +280,8 @@ export default {
|
|
getRefresh() {
|
|
getRefresh() {
|
|
this.dialogForm = {
|
|
this.dialogForm = {
|
|
pageNum: 1,
|
|
pageNum: 1,
|
|
- pageSize: 10
|
|
|
|
|
|
+ pageSize: 10,
|
|
|
|
+ status: 1
|
|
}
|
|
}
|
|
this.getList()
|
|
this.getList()
|
|
},
|
|
},
|