修复直播编辑bug

This commit is contained in:
zhangyc
2022-11-11 01:22:29 +08:00
parent 80d6f1adc2
commit ee03a13e6e
6 changed files with 131 additions and 65 deletions

View File

@@ -323,12 +323,12 @@ export default {
state.textV2 = "";
state.time = "";
message.success(`${props.edit ? '编辑' : '新增'}关卡任务成功`)
ctx.emit("changeData", false);
};
const queryActive = () => {
console.log("props.EditActiveId======",props.EditActiveId,props.chooseStageId,props.routerTaskId);
api.getActivity(props.EditActiveId).then(res => {
console.log('获取讨论信息成功',res.data.data)
console.log('获取讨论信息成功',res.data.data.standardSettings)
//更新讨论信息
state.inputV1 = res.data.data.activityName;
@@ -337,8 +337,10 @@ export default {
state.inputV2 = res.data.data.activityDuration;
state.inputV3 = res.data.data.activityAddress;
state.inputV5 = res.data.data.afterSignIn;
state.inputV6 =res.data.data.signOutTime;
state.inputV4 = res.data.data.beforeSignIn;
state.radioV1 = res.data.data.standardSettings;
state.radioV1 = Number(res.data.data.standardSettings);
state.time = [dayjs(res.data.data.activityStartTime, "YYYY-MM-DD"), dayjs(res.data.data.activityEndTime, "YYYY-MM-DD")]
}).catch(err=>{
console.log('获取讨论信息失败',err)
@@ -363,7 +365,7 @@ export default {
duration: res.data.data.activityDuration,
name: res.data.data.activityName,
routerId: props.routerId,
routerTaskId: props.routerTaskId,
routerTaskId: props.routerTaskId ||0,
type: 9,
}).then(res => {
console.log("新增关卡任务成功",res);
@@ -377,11 +379,12 @@ export default {
duration: res.data.data.activityDuration,
name: res.data.data.activityName,
projectId: props.projectId,
projectTaskId: props.projectTaskId,
projectTaskId: props.projectTaskId ||0,
stageId:props.chooseStageId,
type: 9,
}).then((res)=> {
console.log("更新任务列表成功",res);
})
.catch((err)=> {
console.log("更新任务列表失败",err);
@@ -434,6 +437,7 @@ export default {
.then((res) => {
closeDrawer();
updateTask(res);
ctx.emit("changeData", false);
})
.catch((err) => {
console.log("更新失败",err);
@@ -446,6 +450,7 @@ export default {
message.success("创建成功");
closeDrawer();
updateTask(res);
ctx.emit("changeData", false);
})
.catch((err) => {
console.log("创建失败",err);

View File

@@ -56,7 +56,7 @@
<span style="margin-right: 3px">讨论设置</span>
</div>
<div class="btnbox">
<a-checkbox v-model:checked="checkedC1" @onclick = "checkedC1=!checkedC1">允许评论</a-checkbox>
<a-checkbox v-model:checked="checkedC1" @change = "checkRadio">允许评论</a-checkbox>
</div>
</div>
</div>
@@ -148,15 +148,24 @@ export default {
inputV2: "",
textV1: "",
checkedC1: false,
discussSettings:"",
addLoading:false,
});
const checkRadio = () =>{
if(state.checkedC1){
state.discussSettings = "true"
}else{
state.discussSettings = "false";
}
console.log("state.checkedC1=====",state.discussSettings,state.discussSettings=="true");
}
const closeDrawer = () => {
ctx.emit("update:adddiscussVisible", false);
ctx.emit("update:edit", false);
state.inputV1 = "";
state.textV1 = "";
message.success(`${props.edit ? '编辑' : '新增'}关卡任务成功`)
ctx.emit("changeData", false);
};
const queryDiscuss = () =>{
if(props.edit){
@@ -166,8 +175,8 @@ export default {
//更新讨论信息
state.inputV1 = res.data.data.discussName;
state.textV1 = res.data.data.discussExplain;
state.checkedC1 = Boolean(res.data.data.discussSettings);
console.log("props.EditDiscussId",res.data.data.discussSettings,state.checkedC1==Boolean(res.data.data.discussSettings),Boolean(res.data.data.discussSettings),state.checkedC1)
state.checkedC1 = res.data.data.discussSettings=="true"?true:false;
console.log("props.EditDiscussId",res.data.data.discussSettings,"===",res.data.data.discussSettings=="true",state.checkedC1)
}).catch(err=>{
console.log('获取讨论信息失败',err)
})
@@ -187,23 +196,21 @@ export default {
courseId: res.data.data.discussId,
name: res.data.data.discussName,
routerId: props.routerId,
routerTaskId: props.routerTaskId,
routerTaskId: props.routerTaskId ||0,
type: 8,
}).then(res => {
closeDrawer();
console.log("新增关卡任务失败",res);
}).catch(err => {console.log("新增关卡任务失败",err);})
}else{
apiTask
.updateTask({
.addTask({
courseId: res.data.data.discussId,
name: res.data.data.discussName,
projectId: props.projectId,
projectTaskId: props.projectTaskId,
stageId: props.stageId,
projectTaskId: props.projectTaskId || 0,
stageId:props.chooseStageId,
type: 8,
}).then(r=>{
closeDrawer();
console.log("新增关卡任务成功",r);
}).catch(r=>{
console.log('更新阶段任务失败',r)
@@ -218,7 +225,7 @@ export default {
let obj = {
discussName: state.inputV1, //讨论名称
discussExplain: state.textV1, //讨论说明
discussSettings: String(state.checkedC1), //讨论设置
discussSettings: state.discussSettings, //讨论设置
discussId: props.edit?props.EditDiscussId:0,//讨论Id
projectId: 0, //项目id,接口多余字段,
};
@@ -228,6 +235,8 @@ export default {
.updateDiscuss(obj)
.then((res)=> {
updateTask(res);
closeDrawer();
ctx.emit("changeData", false);
console.log("更新成功",res);
console.log("项目任务ID",props.projectTaskId)
})
@@ -239,6 +248,8 @@ export default {
.createDiscuss(obj)
.then((res)=> {
updateTask(res);
closeDrawer();
ctx.emit("changeData", false);
console.log("创建成功",res);
console.log("项目任务ID",props.projectTaskId)
})
@@ -253,7 +264,7 @@ export default {
closeDrawer,
rowSelection,
updateDiscussInfo,
checkRadio,
};
},
};

View File

@@ -32,7 +32,7 @@
<div class="btnbox">
<a-input
v-model:value="inputV1"
style="width: 424px; height: 32px"
style="width: 400px; height: 32px"
placeholder="请输入考试名称"
maxlength="20"
/>
@@ -47,7 +47,7 @@
v-model:value="textV1"
placeholder="请输入考试说明"
allow-clear
maxlength="150"
maxlength="364px"
/>
</div>
</div>
@@ -84,7 +84,7 @@
:min="0"
:max="300"
:precision="0"
style=" width: 388px; height: 32px; border-radius: 8px;overflow: hidden; "
style=" width: 364px; height: 32px; border-radius: 8px;overflow: hidden; "
v-model:value="inputV2"
></a-input-number>
@@ -102,11 +102,19 @@
<span style="margin-right: 3px">授课老师</span>
</div>
<div class="btnbox">
<a-input
v-model:value="inputV3"
style="width: 424px; height: 32px"
placeholder="请输入授课老师"
/>
<a-select
v-model:value="value"
show-search
placeholder="Select a teacher"
style="width: 364px"
:options="options"
:filter-option="filterOption"
@focus="handleFocus"
@blur="handleBlur"
@change="handleChange2"
></a-select>
</div>
</div>
<div class="main_item2">
@@ -177,20 +185,23 @@
<span style="margin-right: 3px">评价</span>
</div>
<div class="btnbox">
<a-checkbox v-model:checked="checkedC1" @onclick = 'checkedC1=!checkedC1'>需要评估</a-checkbox>
<a-checkbox v-model:checked="checkedC1" @change = "checkRadio">需要评估</a-checkbox>
</div>
</div>
<div class="main_item" style="margin-top: -25px">
<div class="main_item" style="margin-top: -25px," :style="{ display: checkedC1 ? 'block' : 'none' }">
<div class="signbox"></div>
<div class="btnbox">
<a-select
dropdownClassName="dropdown-style"
style="width: 424px"
v-model:value="value"
show-search
placeholder="选择评估"
:options="options1"
allowClear
showSearch
/>
style="width: 364px"
:options="options"
:filter-option="filterOption"
@focus="handleFocus"
@blur="handleBlur"
@change="handleChange2"
></a-select>
</div>
</div>
<div class="main_item2">
@@ -298,6 +309,7 @@ const options1 = ref([
},
]);
const rowSelection = ref({
checkStrictly: false,
onChange: (selectedRowKeys, selectedRows) => {
@@ -528,9 +540,7 @@ export default {
message.error(`查询失败`)
})
};
const PlayBack = () => {
state.playback = !state.playback;
};
const cloradio1 = (value) => {
console.log(value.target._value); //点击的选项
if (state.radioV1 === value.target._value) {
@@ -636,8 +646,16 @@ export default {
message.destroy();
return message.warning("直播时长需大于0");
}
if (!state.inputV3) return message.warning("请输入授课老师");
const reg = /(https?|ftp|file):\/\/[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]/;
if (!reg.test(state.inputV3)) {
message.destroy();
return message.warning("请输入有效直播链接地址");
}
if (!reg.test(state.inputV5)) {
message.destroy();
return message.warning("请输入有效回放地址");
}
//if (!state.inputV3) return message.warning("请输入授课老师");
//let check = state.checkedC2 ;
let startTime = toDate(
@@ -663,9 +681,8 @@ export default {
liveId: props.edit?props.EditLiveId:0,
liveLink: state.inputV4,
liveName: state.inputV1,
livePlayback: "",
livePlaybackLink: state.inputV5,
liveTag: "",
livePlayback:state.playback ? "true":"false",
livePlaybackLink: state.playback?state.inputV5:"",
liveTeacherId: state.inputV3,
otherSettings:0, //1或0
signOutTime: state.inputV8,
@@ -702,12 +719,40 @@ export default {
};
const options = ref([{
value: 'jack',
label: 'Jack',
}, {
value: 'lucy',
label: 'Lucy',
}, {
value: 'tom',
label: 'Tom',
}]);
const handleChange2 = value => {
console.log(`selected ${value}`);
};
const handleBlur = () => {
console.log('blur');
};
const handleFocus = () => {
console.log('focus');
};
const checkRadio = () =>{
if(state.checkedC1){
state.discussSettings = "true"
}else{
state.discussSettings = "false";
}
console.log("state.checkedC1=====",state.discussSettings,state.discussSettings=="true");
}
const filterOption = (input, option) => {
return option.value.toLowerCase().indexOf(input.toLowerCase()) >= 0;
};
return {
...toRefs(state),
afterVisibleChange,
closeDrawer,
PlayBack,
options1,
// columns1,
rowSelection,
@@ -715,6 +760,12 @@ export default {
handleChange,
beforeUpload,
updateLiveBroadcast,
filterOption,
handleBlur,
handleFocus,
handleChange2,
options,
checkRadio,
};
},
};

View File

@@ -229,7 +229,14 @@ export default {
//创建外链
const updateRef = () => {
if (!state.inputV1) return message.warning("请输入外链名称");
if (!state.inputV2) return message.warning("请输入链接");
if (!state.inputV2){
return message.warning("请输入链接");
}else{
const reg = /(https?|ftp|file):\/\/[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]/;
if ((!reg.test(state.inputV2)) && state.inputV2 != '') {
return message.warning("请输入合法的链接地址");
}
}
let obj = {
linkAddress: state.inputV2,
linkDescription: state.textV1,

View File

@@ -1276,7 +1276,7 @@ export default {
state.addactivevisible = true;
state.EditActiveId = id;
state.routerTaskId = eleId;
};s
};
// tableData数据赋值方法
const dataAssignment = (id) => {

View File

@@ -235,7 +235,7 @@
v-model:edit="edit"
v-model:projectId="projectId"
v-model:chooseStageId="chooseStageId"
v-model:editDiscussId="editDiscussId"
v-model:EditDiscussId="EditDiscussId"
v-model:projectTaskId="projectTaskId"
@changeData="updateTableData"
/>
@@ -255,7 +255,7 @@
<add-active
v-model:addactiveVisible="addactivevisible"
v-model:projectId="projectId"
v-model:editActivityId="editActivityId"
v-model:EditActiveId="EditActiveId"
v-model:projectTaskId="projectTaskId"
v-model:edit="edit"
v-model:chooseStageId="chooseStageId"
@@ -922,9 +922,9 @@ export default {
isRefEdit: false, //外链编辑
isLiveEdit: false, //直播编辑
EditRefId: null, //要编辑的外链的id
EditLiveId: null, //要编辑的直播的id
editDiscussId:null,//要编辑的讨论的id
editActivityId:null,//要编辑的活动id
EditLiveId: null, //要编辑的直播的ids
EditDiscussId:null,//要编辑的讨论的id
EditActiveId:null,//要编辑的活动id
EditWorkId:null, // 要编辑的作业id
EditTestId: null,// 要编辑的考试id
EditEvalId:null,
@@ -1326,16 +1326,7 @@ export default {
// console.log("22222", res.data.data.stageList);
let leng = res.data.data.stageList.length;
if (leng > 0) {
//后加选择了阶段id
// if(state.chooseStageId!==null){
// let final = res.data.data.stageList.find((item)=>item.id==state.chooseStageId)
// getTableData(final)
// }else{
// //获取任务列表
// let arr = res.data.data.stageList[0].taskList;
// console.log("任务列表", arr);
// getTableData(arr);
// }
let arr = res.data.data.stageList[0].taskList;
console.log("任务列表", arr);
getTableData(arr);
@@ -1676,15 +1667,16 @@ export default {
state.addrefvisible = true;
};
const showDrawerAddDiscuss = (id, eleId) => {
state.editDiscussId = id;
state.EditDiscussId = id;
state.projectTaskId = eleId;
state.adddiscussvisible = true;
};
const showDrawerAddActive = (id, eleId) => {
state.addactivevisible = true;
state.editActivityId = id;
state.EditActiveId = id;
state.projectTaskId = eleId;
console.log("active=======",id);
};
const showDrawerAddEval = () => {
state.addevalvisible = true;