mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-18 23:36:46 +08:00
feat:合并
This commit is contained in:
@@ -410,22 +410,22 @@ export default {
|
|||||||
debugger
|
debugger
|
||||||
console.log("计算签到时间", props.datasource);
|
console.log("计算签到时间", props.datasource);
|
||||||
let beginTime = new Date(props.datasource.startTime).getTime();
|
let beginTime = new Date(props.datasource.startTime).getTime();
|
||||||
let endTime = !props.datasource.info.afterSignIn
|
let endTime = !props.datasource.afterStart
|
||||||
? new Date(props.datasource.endTime).getTime()
|
? new Date(props.datasource.endTime).getTime()
|
||||||
: new Date(props.datasource.startTime).getTime();
|
: new Date(props.datasource.startTime).getTime();
|
||||||
|
|
||||||
if (props.datasource.info.beforeSignIn && props.datasource.info.afterSignIn) {
|
if (props.datasource.beforeStart && props.datasource.afterStart) {
|
||||||
//有开始前有开始后
|
//有开始前有开始后
|
||||||
beginTime = beginTime - props.datasource.info.beforeSignIn * 60 * 1000;
|
beginTime = beginTime - props.datasource.beforeStart * 60 * 1000;
|
||||||
endTime = endTime + props.datasource.info.afterSignIn * 60 * 1000;
|
endTime = endTime + props.datasource.afterStart * 60 * 1000;
|
||||||
console.log("1111", beginTime, endTime);
|
console.log("1111", beginTime, endTime);
|
||||||
} else if (props.datasource.info.beforeSignIn && !props.datasource.info.afterSignIn) {
|
} else if (props.datasource.beforeStart && !props.datasource.afterStart) {
|
||||||
//只有开始前无开始后
|
//只有开始前无开始后
|
||||||
beginTime = beginTime - props.datasource.info.beforeSignIn * 60 * 1000;
|
beginTime = beginTime - props.datasource.beforeStart * 60 * 1000;
|
||||||
console.log("11112222", beginTime);
|
console.log("11112222", beginTime);
|
||||||
} else if (!props.datasource.info.beforeSignIn && props.datasource.info.afterSignIn) {
|
} else if (!props.datasource.beforeStart && props.datasource.afterStart) {
|
||||||
//无开始前有开始后
|
//无开始前有开始后
|
||||||
endTime = endTime + props.datasource.info.afterSignIn * 60 * 1000;
|
endTime = endTime + props.datasource.afterStart * 60 * 1000;
|
||||||
console.log("1111333", endTime);
|
console.log("1111333", endTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -585,7 +585,7 @@ export default {
|
|||||||
courseId: Number(props.datasource.courseId),
|
courseId: Number(props.datasource.courseId),
|
||||||
routerId: Number(props.datasource.routerId),
|
routerId: Number(props.datasource.routerId),
|
||||||
ids: state.selectedStudents,
|
ids: state.selectedStudents,
|
||||||
taskId: Number(props.datasource.routerTaskId),
|
taskId: Number(props.datasource.id),
|
||||||
taskType: Number(props.datasource.type),
|
taskType: Number(props.datasource.type),
|
||||||
type: 1,
|
type: 1,
|
||||||
};
|
};
|
||||||
@@ -739,6 +739,7 @@ export default {
|
|||||||
<div class="opa" style='display:flex;justify-content:center;align-items:center;'>
|
<div class="opa" style='display:flex;justify-content:center;align-items:center;'>
|
||||||
<div
|
<div
|
||||||
onClick={()=>{
|
onClick={()=>{
|
||||||
|
debugger
|
||||||
console.log("点击签到", value);
|
console.log("点击签到", value);
|
||||||
// 获取当前时间
|
// 获取当前时间
|
||||||
{/* showsingleqdModal(); */}
|
{/* showsingleqdModal(); */}
|
||||||
@@ -748,7 +749,7 @@ export default {
|
|||||||
courseId: Number(props.datasource.courseId),
|
courseId: Number(props.datasource.courseId),
|
||||||
routerId: Number(props.datasource.routerId),
|
routerId: Number(props.datasource.routerId),
|
||||||
ids: [value.record.studentId],
|
ids: [value.record.studentId],
|
||||||
taskId: Number(props.datasource.routerTaskId),
|
taskId: Number(props.datasource.id),
|
||||||
taskType: Number(props.datasource.type),
|
taskType: Number(props.datasource.type),
|
||||||
type: 1,
|
type: 1,
|
||||||
};
|
};
|
||||||
@@ -921,7 +922,7 @@ export default {
|
|||||||
process.env.VUE_APP_BASE_API
|
process.env.VUE_APP_BASE_API
|
||||||
}/admin/student/exportTaskStudent?currentStageId=${
|
}/admin/student/exportTaskStudent?currentStageId=${
|
||||||
props.datasource.stageId
|
props.datasource.stageId
|
||||||
}&type=1&pid=${props.datasource.courseId}&thirdType=1&taskId=${props.datasource.projectTaskId}&taskType=${props.datasource.type}`
|
}&type=1&pid=${props.datasource.courseId}&thirdType=1&taskId=${props.datasource.id}&taskType=${props.datasource.type}`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,9 @@
|
|||||||
>
|
>
|
||||||
<div class="drawerMain">
|
<div class="drawerMain">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="headerTitle">{{ taskIndex >= 0 ? "编辑" : "添加" }}直播</div>
|
<div class="headerTitle">
|
||||||
|
{{ taskIndex >= 0 ? "编辑" : "添加" }}直播
|
||||||
|
</div>
|
||||||
<img
|
<img
|
||||||
style="width: 29px; height: 29px; cursor: pointer"
|
style="width: 29px; height: 29px; cursor: pointer"
|
||||||
src="../../assets/images/basicinfo/close.png"
|
src="../../assets/images/basicinfo/close.png"
|
||||||
@@ -189,7 +191,8 @@
|
|||||||
<span style="margin-right: 3px">回放设置:</span>
|
<span style="margin-right: 3px">回放设置:</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<a-switch v-model:checked="formData.livePlayback"
|
<a-switch
|
||||||
|
v-model:checked="formData.livePlayback"
|
||||||
@change="getchange(formData.livePlayback)"
|
@change="getchange(formData.livePlayback)"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -281,8 +284,7 @@
|
|||||||
<span style="margin-right: 3px">评估:</span>
|
<span style="margin-right: 3px">评估:</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="btnbox2">
|
<div class="btnbox2">
|
||||||
<a-checkbox
|
<a-checkbox v-model:checked="formData.isEvaluate"
|
||||||
v-model:checked="formData.isEvaluate"
|
|
||||||
>需要评估
|
>需要评估
|
||||||
</a-checkbox>
|
</a-checkbox>
|
||||||
</div>
|
</div>
|
||||||
@@ -290,13 +292,18 @@
|
|||||||
<div v-if="formData.isEvaluate" class="main_item">
|
<div v-if="formData.isEvaluate" class="main_item">
|
||||||
<div class="signbox"></div>
|
<div class="signbox"></div>
|
||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<AddInvistRoot v-model:id="formData.assessmentId" v-model:name="formData.assessmentName">
|
<AddInvistRoot
|
||||||
|
v-model:id="formData.assessmentId"
|
||||||
|
v-model:name="formData.assessmentName"
|
||||||
|
>
|
||||||
<button class="xkbtn">选择评估</button>
|
<button class="xkbtn">选择评估</button>
|
||||||
</AddInvistRoot>
|
</AddInvistRoot>
|
||||||
|
|
||||||
<div v-if="formData.assessmentId">
|
<div v-if="formData.assessmentId">
|
||||||
<a-tag closable @close="removePG" color="processing">
|
<a-tag closable @close="removePG" color="processing">
|
||||||
<span style="font-size: 14px; line-height: 33px">{{ formData.assessmentName }}</span>
|
<span style="font-size: 14px; line-height: 33px">{{
|
||||||
|
formData.assessmentName
|
||||||
|
}}</span>
|
||||||
</a-tag>
|
</a-tag>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -325,35 +332,35 @@ import {Form, message} from "ant-design-vue";
|
|||||||
import { fileUp } from "../../api/indexEval";
|
import { fileUp } from "../../api/indexEval";
|
||||||
|
|
||||||
const removePG = () => {
|
const removePG = () => {
|
||||||
formData.value.assessmentId = ''
|
formData.value.assessmentId = "";
|
||||||
formData.value.assessmentName = ''
|
formData.value.assessmentName = "";
|
||||||
};
|
};
|
||||||
const getchange = (mess) => {
|
const getchange = (mess) => {
|
||||||
console.log(mess); //输出true或者false
|
console.log(mess); //输出true或者false
|
||||||
};
|
};
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
type: Number,
|
type: Number,
|
||||||
taskList: []
|
taskList: [],
|
||||||
})
|
});
|
||||||
const visible = ref(false)
|
const visible = ref(false);
|
||||||
const formData = ref({
|
const formData = ref({
|
||||||
liveName: '',
|
liveName: "",
|
||||||
liveLink: '',
|
liveLink: "",
|
||||||
liveStartTime: '',
|
liveStartTime: "",
|
||||||
liveEndTime: '',
|
liveEndTime: "",
|
||||||
liveNotice: '',
|
liveNotice: "",
|
||||||
liveDuration: '',
|
liveDuration: "",
|
||||||
liveTeacherId: '',
|
liveTeacherId: "",
|
||||||
liveTeacherName: '',
|
liveTeacherName: "",
|
||||||
liveCover: '',
|
liveCover: "",
|
||||||
beforeSignIn:'',
|
beforeSignIn: "",
|
||||||
afterSignIn:'',
|
afterSignIn: "",
|
||||||
isEvaluate:'',
|
isEvaluate: "",
|
||||||
assessmentId:'',
|
assessmentId: "",
|
||||||
assessmentName:'',
|
assessmentName: "",
|
||||||
livePlayback:'',
|
livePlayback: "",
|
||||||
})
|
});
|
||||||
const emit = defineEmits({})
|
const emit = defineEmits({});
|
||||||
const taskIndex = ref(-1);
|
const taskIndex = ref(-1);
|
||||||
const dateTime = ref([]);
|
const dateTime = ref([]);
|
||||||
|
|
||||||
@@ -361,56 +368,56 @@ const rulesRef = ref({
|
|||||||
liveName: [
|
liveName: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: '请输入直播名称',
|
message: "请输入直播名称",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
liveLink: [
|
liveLink: [
|
||||||
{
|
{
|
||||||
type: 'url',
|
type: "url",
|
||||||
required: true,
|
required: true,
|
||||||
message: '请输入直播链接',
|
message: "请输入直播链接",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
liveStartTime: [
|
liveStartTime: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: '请选择开始时间',
|
message: "请选择开始时间",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
liveEndTime: [
|
liveEndTime: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: '请选择结束时间',
|
message: "请选择结束时间",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
liveNotice: [
|
liveNotice: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: '请输入直播公告',
|
message: "请输入直播公告",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
liveDuration: [
|
liveDuration: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: '请输入直播时长',
|
message: "请输入直播时长",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
liveTeacherId: [
|
liveTeacherId: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: '请选择直播教师',
|
message: "请选择直播教师",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
liveTeacherName: [
|
liveTeacherName: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: '请选择直播教师',
|
message: "请选择直播教师",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
liveCover: [
|
liveCover: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: '请上传直播封面',
|
message: "请上传直播封面",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
@@ -418,10 +425,10 @@ const rulesRef = ref({
|
|||||||
const { resetFields, validate } = Form.useForm(formData, rulesRef);
|
const { resetFields, validate } = Form.useForm(formData, rulesRef);
|
||||||
|
|
||||||
const closeDrawer = () => {
|
const closeDrawer = () => {
|
||||||
visible.value = false
|
visible.value = false;
|
||||||
taskIndex.value = -1
|
taskIndex.value = -1;
|
||||||
dateTime.value = []
|
dateTime.value = [];
|
||||||
resetFields()
|
resetFields();
|
||||||
};
|
};
|
||||||
|
|
||||||
const range = (start, end) => {
|
const range = (start, end) => {
|
||||||
@@ -433,12 +440,12 @@ const range = (start, end) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function timeChange(time, timeStr) {
|
function timeChange(time, timeStr) {
|
||||||
formData.value.liveStartTime = timeStr[0]
|
formData.value.liveStartTime = timeStr[0];
|
||||||
formData.value.liveEndTime = timeStr[1]
|
formData.value.liveEndTime = timeStr[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
const disabledDate = (current) => {
|
const disabledDate = (current) => {
|
||||||
return current && current < dayjs().startOf('day');
|
return current && current < dayjs().startOf("day");
|
||||||
};
|
};
|
||||||
|
|
||||||
const disabledRangeTime = () => ({
|
const disabledRangeTime = () => ({
|
||||||
@@ -448,32 +455,38 @@ const disabledRangeTime = () => ({
|
|||||||
});
|
});
|
||||||
|
|
||||||
async function confirm() {
|
async function confirm() {
|
||||||
|
debugger;
|
||||||
|
console.log("确定按钮:");
|
||||||
await validate().catch(({ errorFields }) => {
|
await validate().catch(({ errorFields }) => {
|
||||||
message.warning(errorFields[0].errors.join());
|
message.warning(errorFields[0].errors.join());
|
||||||
throw Error("数据校验不通过")
|
throw Error("数据校验不通过");
|
||||||
});
|
});
|
||||||
if (taskIndex.value === -1) {
|
if (taskIndex.value === -1) {
|
||||||
const list = props.taskList
|
const list = props.taskList;
|
||||||
list.push({name: formData.value.liveName, type: props.type, info: {...formData.value}})
|
list.push({
|
||||||
|
name: formData.value.liveName,
|
||||||
|
type: props.type,
|
||||||
|
info: { ...formData.value },
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
const data = props.taskList[taskIndex.value]
|
const data = props.taskList[taskIndex.value];
|
||||||
data.name = formData.value.liveName
|
data.name = formData.value.liveName;
|
||||||
data.info = formData.value
|
data.info = formData.value;
|
||||||
}
|
}
|
||||||
emit('update:taskList', [...props.taskList])
|
emit("update:taskList", [...props.taskList]);
|
||||||
closeDrawer()
|
closeDrawer();
|
||||||
}
|
}
|
||||||
|
|
||||||
function openDrawer(i, row) {
|
function openDrawer(i, row) {
|
||||||
row && (formData.value = { ...row.info });
|
row && (formData.value = { ...row.info });
|
||||||
row && (dateTime.value = [row.info.liveStartTime, row.info.liveEndTime]);
|
row && (dateTime.value = [row.info.liveStartTime, row.info.liveEndTime]);
|
||||||
(i >= 0) && (taskIndex.value = i)
|
i >= 0 && (taskIndex.value = i);
|
||||||
visible.value = true
|
visible.value = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
defineExpose({openDrawer})
|
defineExpose({ openDrawer });
|
||||||
|
|
||||||
const imageUrl = ref('')
|
const imageUrl = ref("");
|
||||||
const beforeUpload = (file) => {
|
const beforeUpload = (file) => {
|
||||||
const isJpgOrPng =
|
const isJpgOrPng =
|
||||||
file.type === "image/jpg" ||
|
file.type === "image/jpg" ||
|
||||||
@@ -498,10 +511,8 @@ const beforeUpload = (file) => {
|
|||||||
fileUp(formDatas).then((res) => {
|
fileUp(formDatas).then((res) => {
|
||||||
if (res.data.code === 200) {
|
if (res.data.code === 200) {
|
||||||
console.log(res.data.data, 45);
|
console.log(res.data.data, 45);
|
||||||
imageUrl.value = process.env.VUE_APP_FILE_PATH +res.data.data
|
imageUrl.value = process.env.VUE_APP_FILE_PATH + res.data.data;
|
||||||
formData.value.liveCover =process.env.VUE_APP_FILE_PATH + res.data.data
|
formData.value.liveCover = process.env.VUE_APP_FILE_PATH + res.data.data;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// state.hasImgName = file.name;
|
// state.hasImgName = file.name;
|
||||||
// emit("src", { id: '', src: res.data.data });
|
// emit("src", { id: '', src: res.data.data });
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import activityImg from '@/assets/images/leveladd/huo.png'
|
|||||||
import testImg from '@/assets/images/leveladd/ce.png'
|
import testImg from '@/assets/images/leveladd/ce.png'
|
||||||
import evaImg from '@/assets/images/leveladd/diao.png'
|
import evaImg from '@/assets/images/leveladd/diao.png'
|
||||||
import voteImg from '@/assets/images/leveladd/tou.png'
|
import voteImg from '@/assets/images/leveladd/tou.png'
|
||||||
import projectImg from '@/assets/images/leveladd/xiang.png'
|
// import projectImg from '@/assets/images/leveladd/xiang.png'
|
||||||
|
|
||||||
import AddOnline from "@/components/drawers/AddOnline.vue";
|
import AddOnline from "@/components/drawers/AddOnline.vue";
|
||||||
import AddCase from "@/components/drawers/AddCase.vue";
|
import AddCase from "@/components/drawers/AddCase.vue";
|
||||||
@@ -23,7 +23,7 @@ import AddInvist from "@/components/drawers/AddInvist.vue";
|
|||||||
import AddVote from "@/components/vote/AddVote.vue";
|
import AddVote from "@/components/vote/AddVote.vue";
|
||||||
import AddLive from "@/components/drawers/AddLive.vue";
|
import AddLive from "@/components/drawers/AddLive.vue";
|
||||||
import AddRef from "@/components/drawers/AddRef.vue";
|
import AddRef from "@/components/drawers/AddRef.vue";
|
||||||
import AddProject from "@/components/drawers/AddProject.vue";
|
// import AddProject from "@/components/drawers/AddProject.vue";
|
||||||
// import AddFaceteach from "@/components/drawers/AddFaceteach.vue";
|
// import AddFaceteach from "@/components/drawers/AddFaceteach.vue";
|
||||||
|
|
||||||
export const TASK_TYPE = {
|
export const TASK_TYPE = {
|
||||||
@@ -87,9 +87,9 @@ export const TASK_TYPE = {
|
|||||||
img: voteImg,
|
img: voteImg,
|
||||||
component: AddVote
|
component: AddVote
|
||||||
},
|
},
|
||||||
13: {
|
// 13: {
|
||||||
name: '项目',
|
// name: '项目',
|
||||||
img: projectImg,
|
// img: projectImg,
|
||||||
component: AddProject
|
// component: AddProject
|
||||||
},
|
// },
|
||||||
}
|
}
|
||||||
@@ -619,6 +619,7 @@ const closeChangeModal = () => {
|
|||||||
|
|
||||||
//暂存
|
//暂存
|
||||||
const temporaryStorage = async () => {
|
const temporaryStorage = async () => {
|
||||||
|
debugger
|
||||||
templateLoading.value = true
|
templateLoading.value = true
|
||||||
await request(ROUTER_DETAIL_MODIFY, routerInfo.value)
|
await request(ROUTER_DETAIL_MODIFY, routerInfo.value)
|
||||||
await getDetail()
|
await getDetail()
|
||||||
|
|||||||
@@ -720,6 +720,7 @@ const closeDeAll = () => {
|
|||||||
|
|
||||||
//暂存
|
//暂存
|
||||||
const temporaryStorage = async () => {
|
const temporaryStorage = async () => {
|
||||||
|
debugger
|
||||||
templateLoading.value = true
|
templateLoading.value = true
|
||||||
await request(PROJECT_DETAIL_MODIFY, projectInfo.value)
|
await request(PROJECT_DETAIL_MODIFY, projectInfo.value)
|
||||||
await getTask()
|
await getTask()
|
||||||
@@ -728,6 +729,7 @@ const temporaryStorage = async () => {
|
|||||||
};
|
};
|
||||||
//确定
|
//确定
|
||||||
const submitStorage = async () => {
|
const submitStorage = async () => {
|
||||||
|
debugger
|
||||||
confirmLoading.value = true
|
confirmLoading.value = true
|
||||||
projectInfo.value.projectInfo.status === 3 ? await request(PROJECT_RELEASE, {projectId: route.query.projectId}) : await request(PROJECT_DETAIL_MODIFY, projectInfo.value)
|
projectInfo.value.projectInfo.status === 3 ? await request(PROJECT_RELEASE, {projectId: route.query.projectId}) : await request(PROJECT_DETAIL_MODIFY, projectInfo.value)
|
||||||
message.success("阶段和任务数据已保存")
|
message.success("阶段和任务数据已保存")
|
||||||
|
|||||||
Reference in New Issue
Block a user