|
|
@@ -296,6 +296,16 @@
|
|
|
<i class="el-icon-warning"/>
|
|
|
<span style="color: rgb(153, 169, 191)"> 不配置将使用课程默认图片</span>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="风格模板" prop="templateId">
|
|
|
+ <el-select v-model="configDialog.form.templateId" placeholder="请选择模板">
|
|
|
+ <el-option
|
|
|
+ v-for="item in configDialog.templateList"
|
|
|
+ :key="item.key"
|
|
|
+ :label="item.value"
|
|
|
+ :value="item.key">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item label="首播电视台" prop="tvEnable">
|
|
|
<el-switch v-model="configDialog.form.tvEnable" active-color="#13ce66"/>
|
|
|
</el-form-item>
|
|
|
@@ -521,9 +531,18 @@ export default {
|
|
|
configDialog: {
|
|
|
dialogVisible: false,
|
|
|
updating: false,
|
|
|
+ templateList: [
|
|
|
+ {"key":1,"value":"我和我的父亲"},
|
|
|
+ {"key":2,"value":"御医有方"},
|
|
|
+ {"key":3,"value":"大国医者"},
|
|
|
+ {"key":4,"value":"自救与希望"},
|
|
|
+ {"key":5,"value":"大国医典"},
|
|
|
+ {"key":6,"value":"道医有道"},
|
|
|
+ ],
|
|
|
form: {
|
|
|
id: null,
|
|
|
coverImg: null,
|
|
|
+ templateId: null,
|
|
|
tvEnable: 0,
|
|
|
tv: null,
|
|
|
networkEnable: 0,
|
|
|
@@ -536,6 +555,9 @@ export default {
|
|
|
support: null
|
|
|
},
|
|
|
rules: {
|
|
|
+ templateId: [
|
|
|
+ { required: true, message: '模板名称不能为空', trigger: 'blur' }
|
|
|
+ ],
|
|
|
tv: [
|
|
|
{ required: true, message: '首播电视台不能为空', trigger: 'blur' }
|
|
|
],
|
|
|
@@ -911,17 +933,36 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
configCourse(row) {
|
|
|
+ const defaultForm = {
|
|
|
+ id: null,
|
|
|
+ coverImg: null,
|
|
|
+ templateId: null,
|
|
|
+ tvEnable: 0,
|
|
|
+ tv: null,
|
|
|
+ networkEnable: 0,
|
|
|
+ network: null,
|
|
|
+ unitEnable: 0,
|
|
|
+ unit: null,
|
|
|
+ teamEnable: 0,
|
|
|
+ team: null,
|
|
|
+ supportEnable: 0,
|
|
|
+ support: null,
|
|
|
+ }
|
|
|
+
|
|
|
+ let parsedConfig = {}
|
|
|
if (row.configJson) {
|
|
|
- this.configDialog.form = {
|
|
|
- tvEnable: 0,
|
|
|
- networkEnable: 0,
|
|
|
- unitEnable: 0,
|
|
|
- teamEnable: 0,
|
|
|
- supportEnable: 0,
|
|
|
- ...JSON.parse(row.configJson)
|
|
|
+ try {
|
|
|
+ parsedConfig = JSON.parse(row.configJson)
|
|
|
+ } catch (e) {
|
|
|
+ console.warn('configJson 解析失败:', e)
|
|
|
}
|
|
|
}
|
|
|
- this.configDialog.form.id = row.courseId
|
|
|
+
|
|
|
+ this.configDialog.form = {
|
|
|
+ ...defaultForm,
|
|
|
+ ...parsedConfig,
|
|
|
+ id: row.courseId,
|
|
|
+ }
|
|
|
this.configDialog.dialogVisible = true;
|
|
|
this.configDialog.updating = false
|
|
|
},
|
|
|
@@ -939,6 +980,7 @@ export default {
|
|
|
|
|
|
const content = {
|
|
|
coverImg: this.configDialog.form.coverImg,
|
|
|
+ templateId: this.configDialog.form.templateId,
|
|
|
tvEnable: this.configDialog.form.tvEnable,
|
|
|
tv: this.configDialog.form.tv?.replace(",",","),
|
|
|
networkEnable: this.configDialog.form.networkEnable,
|
|
|
@@ -971,6 +1013,7 @@ export default {
|
|
|
this.configDialog.form = {
|
|
|
id: null,
|
|
|
coverImg: null,
|
|
|
+ templateId: null,
|
|
|
tvEnable: 0,
|
|
|
tv: null,
|
|
|
networkEnable: 0,
|