|
@@ -1,171 +1,141 @@
|
|
<template>
|
|
<template>
|
|
<div class="app-container">
|
|
<div class="app-container">
|
|
- <el-form class="form" label-width="100px" size="small">
|
|
|
|
- <el-form-item label="资源平台:">
|
|
|
|
- <el-select placeholder="请选择资源平台">
|
|
|
|
- <el-option></el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-row>
|
|
|
|
- <el-col :span="12">
|
|
|
|
- <el-form-item label="电台封面:">
|
|
|
|
- <Upload listType="picture-card" @upload="getUpload" />
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="12">
|
|
|
|
- <el-form-item label="电台名称:">
|
|
|
|
- <el-input placeholder="请输入电台名称" />
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="电台分类:">
|
|
|
|
- <el-select placeholder="请选择电台分类">
|
|
|
|
- <el-option></el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="资源平台:">
|
|
|
|
- <el-input disabled></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- <el-form-item label="电台简介:">
|
|
|
|
- <el-input type="textarea" rows="4" placeholder="请输入电台简介" />
|
|
|
|
|
|
+ <el-form :model="form" ref="form" :rules="rules" label-width="100px" :disabled="disabled">
|
|
|
|
+ <el-form-item label="电台名称:" prop="name">
|
|
|
|
+ <el-input v-model="form.name" placeholder="请输入电台名称" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="标签分类:">
|
|
|
|
- <el-select placeholder="请选择标签分类">
|
|
|
|
- <el-option></el-option>
|
|
|
|
|
|
+ <el-form-item label="地域分类:" prop="addressClassifyId">
|
|
|
|
+ <el-select v-model="form.addressClassifyId" placeholder="请选择地域分类">
|
|
|
|
+ <el-option v-for="item in addressOptions" :key="item.id" :value="item.id.toString()" :label="item.name" />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="付费类型:">
|
|
|
|
- <el-select placeholder="请选择付费类型">
|
|
|
|
- <el-option></el-option>
|
|
|
|
|
|
+ <el-form-item label="内容分类:" prop="contentClassifyId">
|
|
|
|
+ <el-select v-model="form.contentClassifyId" placeholder="请选择内容分类">
|
|
|
|
+ <el-option v-for="item in contentOptions" :key="item.id" :value="item.id.toString()" :label="item.name" />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="原价:">
|
|
|
|
- <el-input placeholder="请输入原价"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="折扣价:">
|
|
|
|
- <el-input placeholder="请输入折扣价"></el-input>
|
|
|
|
|
|
+ <el-form-item label="电台简介:" prop="description">
|
|
|
|
+ <el-input v-model="form.description" type="textarea" rows="5" maxlength="300" show-word-limit
|
|
|
|
+ placeholder="请输入电台简介" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <!-- 海外电台显示 -->
|
|
|
|
- <el-form-item label="电台链接:">
|
|
|
|
- <el-input placeholder="请输入电台链接"></el-input>
|
|
|
|
|
|
+ <el-form-item label="资源平台:" prop="platformId">
|
|
|
|
+ <el-select v-model="form.platformId" placeholder="请选择资源平台">
|
|
|
|
+ <el-option v-for="item in platformOptions" :key="item.value" :value="item.value"
|
|
|
|
+ :label="item.label" />
|
|
|
|
+ </el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <!-- 海外电台不显示 -->
|
|
|
|
- <el-form-item label="电台节目:" style="width: 700px">
|
|
|
|
- <el-tabs>
|
|
|
|
- <el-tab-pane v-for="item in dict.type.sys_week_list" :key="item.value" :label="item.label" :naem="item.value">
|
|
|
|
- <el-table :data="tableData1">
|
|
|
|
- <el-table-column type="index" label="序号" align="center" />
|
|
|
|
- <el-table-column prop="radio" label="电台名称" align="center" show-overflow-tooltip />
|
|
|
|
- <el-table-column prop="name" label="节目名称" align="center" show-overflow-tooltip></el-table-column>
|
|
|
|
- <el-table-column prop="type" label="电台分类" align="center" show-overflow-tooltip></el-table-column>
|
|
|
|
- <el-table-column prop="date" label="时间段" align="center" show-overflow-tooltip></el-table-column>
|
|
|
|
- <el-table-column align="center">
|
|
|
|
- <template slot="header" slot-scope="scope">
|
|
|
|
- <el-button icon="el-icon-plus" type="text" @click="dialogVisible = true">新增关联</el-button>
|
|
|
|
- </template>
|
|
|
|
- <template>
|
|
|
|
- <el-button type="delete">删除</el-button>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- </el-table>
|
|
|
|
- </el-tab-pane>
|
|
|
|
- </el-tabs>
|
|
|
|
|
|
+ <el-form-item label="电台链接:" prop="fullUrl">
|
|
|
|
+ <el-input v-model="form.fullUrl" placeholder="请输入电台链接" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item>
|
|
|
|
- <el-button @click="getCancel">取消</el-button>
|
|
|
|
- <el-button type="primary" @click="getSubmit">提交</el-button>
|
|
|
|
|
|
+ <el-form-item label="电台封面:" prop="thumb">
|
|
|
|
+ <Upload listType="picture-card" :url="form.thumb" @upload="upload" :disabled="disabled" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
- <!-- 弹窗 - 新增关联 -->
|
|
|
|
- <el-dialog title="关联电台" :visible.sync="dialogVisible" width="1000px">
|
|
|
|
- <!-- 搜索 -->
|
|
|
|
- <el-form inline size="mini">
|
|
|
|
- <el-form-item label="资源平台:">
|
|
|
|
- <el-select placeholder="请选择资源平台">
|
|
|
|
- <el-option></el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="付费类型:">
|
|
|
|
- <el-select placeholder="请选择付费类型">
|
|
|
|
- <el-option></el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="节目名称:">
|
|
|
|
- <el-input placeholder="请输入节目名称" />
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item>
|
|
|
|
- <el-button icon="el-icon-search" type="primary">搜索</el-button>
|
|
|
|
- <el-button icon="el-icon-refresh">重置</el-button>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-form>
|
|
|
|
- <!-- 列表 -->
|
|
|
|
- <el-table :data="tableData2">
|
|
|
|
- <el-table-column prop="id" label="ID" align="center" width="100px" />
|
|
|
|
- <el-table-column prop="radio" label="电台名称" align="center" />
|
|
|
|
- <el-table-column prop="name" label="节目名称" align="center" />
|
|
|
|
- <el-table-column prop="type" label="电台分类" align="center" />
|
|
|
|
- <el-table-column prop="date" label="时间段" align="center" />
|
|
|
|
- <el-table-column label="操作" align="center">
|
|
|
|
- <template>
|
|
|
|
- <el-button type="text">选择</el-button>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- </el-table>
|
|
|
|
- </el-dialog>
|
|
|
|
|
|
+ <div class="form-btn">
|
|
|
|
+ <el-button @click="cancel">取消</el-button>
|
|
|
|
+ <el-button v-if="!disabled" type="primary" @click="getSubmit">确定</el-button>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
import Upload from "@/components/Upload/index";
|
|
import Upload from "@/components/Upload/index";
|
|
|
|
+import { create, edit, detail } from '@/api/music/radio'
|
|
|
|
+import { platformMixin, addressMixin, contentMixin } from '@/mixin/index'
|
|
export default {
|
|
export default {
|
|
- dicts: ["sys_week_list"],
|
|
|
|
|
|
+ mixins: [platformMixin, addressMixin, contentMixin],
|
|
components: {
|
|
components: {
|
|
Upload,
|
|
Upload,
|
|
},
|
|
},
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
- // 列表
|
|
|
|
- tableData1: [
|
|
|
|
- {
|
|
|
|
- radio: "CNR中国之声",
|
|
|
|
- name: "档案揭秘",
|
|
|
|
- type: "国家台,咨询台",
|
|
|
|
- date: "00:00:00 00:00:00",
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- tableData2: [
|
|
|
|
- {
|
|
|
|
- id: 1,
|
|
|
|
- radio: "CNR中国之声",
|
|
|
|
- name: "档案揭秘",
|
|
|
|
- type: "国家台,咨询台",
|
|
|
|
- date: "00:00:00 00:00:00",
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- // 弹窗
|
|
|
|
- dialogVisible: false,
|
|
|
|
- };
|
|
|
|
|
|
+ // 音频类型
|
|
|
|
+ audioType: 2,
|
|
|
|
+ // 表单
|
|
|
|
+ form: {
|
|
|
|
+ status: 1
|
|
|
|
+ },
|
|
|
|
+ // 校验
|
|
|
|
+ rules: {
|
|
|
|
+ name: [{
|
|
|
|
+ required: true, message: '请输入电台名称', trigger: 'blur'
|
|
|
|
+ }, {
|
|
|
|
+ max: 20, message: '字符不超过20个', trigger: 'blur'
|
|
|
|
+ }],
|
|
|
|
+ addressClassifyId: [{
|
|
|
|
+ required: true, message: '请选择地域分类', trigger: 'change'
|
|
|
|
+ }],
|
|
|
|
+ contentClassifyId: [{
|
|
|
|
+ required: true, message: '请选择内容分类', trigger: 'change'
|
|
|
|
+ }],
|
|
|
|
+ description: [{
|
|
|
|
+ required: true, message: '请输入电台简介', trigger: 'blur'
|
|
|
|
+ }],
|
|
|
|
+ platformId: [{
|
|
|
|
+ required: true, message: '请选择资源平台', trigger: 'change'
|
|
|
|
+ }],
|
|
|
|
+ thumb: [{
|
|
|
|
+ required: true, message: '请上传电台封面', trigger: 'change'
|
|
|
|
+ }]
|
|
|
|
+ },
|
|
|
|
+ // 只读
|
|
|
|
+ disabled: false
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ mounted() {
|
|
|
|
+ if (this.$route.query.id) {
|
|
|
|
+ this.form.id = this.$route.query.id
|
|
|
|
+ this.disabled = Boolean(this.$route.query.disabled)
|
|
|
|
+ this.getList()
|
|
|
|
+ }
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
- getAdd() {
|
|
|
|
- this.tableData.push({
|
|
|
|
- name: "",
|
|
|
|
- radio: "",
|
|
|
|
- start: "",
|
|
|
|
- end: "",
|
|
|
|
- });
|
|
|
|
|
|
+ // 详情
|
|
|
|
+ getList() {
|
|
|
|
+ detail(this.form.id).then(res => {
|
|
|
|
+ if (res.code === 0) {
|
|
|
|
+ this.form = res.data
|
|
|
|
+ }
|
|
|
|
+ })
|
|
},
|
|
},
|
|
-
|
|
|
|
- // 上传封面
|
|
|
|
- getUpload(){
|
|
|
|
-
|
|
|
|
|
|
+ // 上传
|
|
|
|
+ upload(e) {
|
|
|
|
+ this.form.thumb = e.file
|
|
|
|
+ },
|
|
|
|
+ // 确定
|
|
|
|
+ getSubmit() {
|
|
|
|
+ this.$refs.form.validate((valid) => {
|
|
|
|
+ if (valid) {
|
|
|
|
+ if (this.form.id) {
|
|
|
|
+ edit(this.form).then(res => {
|
|
|
|
+ if (res.code === 0) {
|
|
|
|
+ this.$message.success('编辑成功!')
|
|
|
|
+ this.cancel()
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ } else {
|
|
|
|
+ create(this.form).then(res => {
|
|
|
|
+ if (res.code === 0) {
|
|
|
|
+ this.$message.success('新增成功!')
|
|
|
|
+ this.cancel()
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ return false
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ // 取消
|
|
|
|
+ cancel() {
|
|
|
|
+ this.$tab.closeOpenPage('/music/radio')
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|
|
-.form {
|
|
|
|
- width: 600px;
|
|
|
|
|
|
+.el-form {
|
|
|
|
+ width: 500px;
|
|
}
|
|
}
|
|
</style>
|
|
</style>
|