|
@@ -32,7 +32,7 @@
|
|
|
:rules="rules"
|
|
|
>
|
|
|
<div class="left_box">
|
|
|
- <el-form-item label="标题前缀" prop="prefixName">
|
|
|
+ <el-form-item label="标题前缀">
|
|
|
<el-input v-model="item.prefixName"></el-input>
|
|
|
<p class="p_style">注:便于检索、归类,以及区分一样的标题</p>
|
|
|
</el-form-item>
|
|
@@ -50,10 +50,10 @@
|
|
|
@change="changesType(index, $event)"
|
|
|
>
|
|
|
<el-option
|
|
|
- v-for="(item, index) in sectionTypeOptions"
|
|
|
- :key="index"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"
|
|
|
+ v-for="(items, indexs) in sectionTypeOptions"
|
|
|
+ :key="indexs"
|
|
|
+ :label="items.label"
|
|
|
+ :value="items.value"
|
|
|
>
|
|
|
</el-option>
|
|
|
</el-select>
|
|
@@ -63,7 +63,12 @@
|
|
|
:label="item.sectionType === 1 ? 'URL地址' : '频道号'"
|
|
|
prop="url"
|
|
|
>
|
|
|
- <el-input v-model="item.url"></el-input>
|
|
|
+ <el-input
|
|
|
+ v-model="item.url"
|
|
|
+ @blur="
|
|
|
+ item.sectionType === 1 ? getUrlTime(index, $event) : ''
|
|
|
+ "
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
<div v-if="item.sectionType === 1">
|
|
|
<el-form-item label="节时长" prop="durationTime">
|
|
@@ -72,6 +77,7 @@
|
|
|
range-separator=":"
|
|
|
v-model="item.durationTime"
|
|
|
placeholder="请填入节时长"
|
|
|
+ :disabled="item.disabled"
|
|
|
>
|
|
|
</el-time-picker>
|
|
|
</el-form-item>
|
|
@@ -104,17 +110,27 @@
|
|
|
{{ compTimeOUT(item.liveStartTime, item.liveEndTime) }}
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
- <el-form-item label="讲师" prop="teacherId">
|
|
|
+ <el-form-item
|
|
|
+ label="讲师"
|
|
|
+ prop="teacherId"
|
|
|
+ :rules="[
|
|
|
+ {
|
|
|
+ required: item.sectionType === 2 ? true : false,
|
|
|
+ message: '请选择讲师',
|
|
|
+ trigger: 'change',
|
|
|
+ },
|
|
|
+ ]"
|
|
|
+ >
|
|
|
<el-select
|
|
|
clearable
|
|
|
v-model="item.teacherId"
|
|
|
placeholder="请选择讲师"
|
|
|
>
|
|
|
<el-option
|
|
|
- v-for="(item, index) in teacherList"
|
|
|
- :key="index"
|
|
|
- :label="item.teacherName"
|
|
|
- :value="item.teacherId"
|
|
|
+ v-for="(items, indexs) in teacherList"
|
|
|
+ :key="indexs"
|
|
|
+ :label="items.teacherName"
|
|
|
+ :value="items.teacherId"
|
|
|
>
|
|
|
</el-option>
|
|
|
</el-select>
|
|
@@ -166,9 +182,6 @@ export default {
|
|
|
liveEndTime: [
|
|
|
{ required: true, message: "请选择直播结束时间", trigger: "change" },
|
|
|
],
|
|
|
- teacherId: [
|
|
|
- { required: true, message: "请选择讲师", trigger: "change" },
|
|
|
- ],
|
|
|
},
|
|
|
sectionTypeOptions: [
|
|
|
{
|
|
@@ -206,6 +219,31 @@ export default {
|
|
|
},
|
|
|
},
|
|
|
methods: {
|
|
|
+ /**
|
|
|
+ * 查找节时长
|
|
|
+ */
|
|
|
+ getUrlTime(index, value) {
|
|
|
+ var self = this;
|
|
|
+ let val = value.target.value;
|
|
|
+ const valueUrl = val.replace(/\s/g, "");
|
|
|
+ if (valueUrl && valueUrl.length > 30) {
|
|
|
+ this.$api
|
|
|
+ .inquirepolyvvideo(valueUrl)
|
|
|
+ .then((res) => {
|
|
|
+ if (res.data.duration) {
|
|
|
+ this.$set(this.list[index], "durationTime", res.data.duration);
|
|
|
+ this.$set(this.list[index], "disabled", true);
|
|
|
+ this.$message.success("已自动录入节时长");
|
|
|
+ } else {
|
|
|
+ this.$set(this.list[index], "disabled", false);
|
|
|
+ this.$message.error("查找不到该节时长,请手动输入节时长");
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch((err) => {
|
|
|
+ this.$set(this.list[index], "disabled", false);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
/**
|
|
|
* 直播开始逻辑处理
|
|
|
*/
|
|
@@ -242,7 +280,7 @@ export default {
|
|
|
* 添加节
|
|
|
*/
|
|
|
addChapterList() {
|
|
|
- this.list.push({});
|
|
|
+ this.list.push({ disabled: false });
|
|
|
},
|
|
|
/**
|
|
|
* 打开页面触发函数
|
|
@@ -295,27 +333,26 @@ export default {
|
|
|
ary.forEach((item) => {
|
|
|
if (item.sectionType === 1) {
|
|
|
item.recordingUrl = item.url;
|
|
|
+ item.durationTime = this.$methodsTools.secondFormDate(
|
|
|
+ item.durationTime
|
|
|
+ );
|
|
|
delete item.url;
|
|
|
}
|
|
|
if (item.sectionType === 2) {
|
|
|
item.liveUrl = item.url;
|
|
|
+ delete item.url;
|
|
|
item.liveStartTime = this.$methodsTools.time10to13(
|
|
|
item.liveStartTime,
|
|
|
1
|
|
|
);
|
|
|
- item.liveEndTime = this.$methodsTools.time10to13(
|
|
|
- item.liveEndTime,
|
|
|
- 1
|
|
|
- );
|
|
|
- delete item.url;
|
|
|
+ item.liveEndTime = this.$methodsTools.time10to13(item.liveEndTime, 1);
|
|
|
+ item.durationTime = item.liveEndTime - item.liveStartTime;
|
|
|
}
|
|
|
item.businessList = this.businList;
|
|
|
item.status = 1;
|
|
|
item.publishStatus = 1;
|
|
|
item.coverUrl = "oss/images/avatar/20211013/1634097664410_1397766697";
|
|
|
- item.durationTime = this.$methodsTools.secondFormDate(
|
|
|
- item.durationTime
|
|
|
- );
|
|
|
+ delete item.disabled;
|
|
|
});
|
|
|
this.$api.drCourseSectionaddMore(ary.reverse()).then((res) => {
|
|
|
this.dialogVisible = false;
|