mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-15 22:06:45 +08:00
feat:合并
This commit is contained in:
@@ -12,6 +12,9 @@ export const listView = (obj) => http.post('/admin/project/listView', obj)
|
||||
//获取面授课已审核列表
|
||||
export const courseListView = (obj) => http.post('/admin/offcourse/listReview', obj)
|
||||
|
||||
//获取面授课详情
|
||||
export const courseDetail = (offcourseId) => http.post(`/admin/offcourse/detail?offcourseId=${offcourseId}`)
|
||||
|
||||
//项目审核日志
|
||||
export const auditList = (obj) => http.post('/admin/project/auditList', obj)
|
||||
|
||||
|
||||
@@ -377,10 +377,10 @@ export default {
|
||||
type: 9,
|
||||
})
|
||||
.then(() => {
|
||||
message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
|
||||
//message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
|
||||
})
|
||||
.catch(() => {
|
||||
message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`);
|
||||
//message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`);
|
||||
});
|
||||
} else if (props.isLevel == 2) {
|
||||
apiTask
|
||||
@@ -394,10 +394,10 @@ export default {
|
||||
type: 9,
|
||||
})
|
||||
.then(() => {
|
||||
message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
|
||||
//message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
|
||||
})
|
||||
.catch(() => {
|
||||
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
|
||||
//////message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
|
||||
});
|
||||
} else if (props.isLevel == 3) {
|
||||
apiTask
|
||||
@@ -411,10 +411,11 @@ export default {
|
||||
type: 9,
|
||||
})
|
||||
.then(() => {
|
||||
message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
|
||||
ctx.emit("changeData", false);
|
||||
//message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
|
||||
})
|
||||
.catch(() => {
|
||||
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
|
||||
//message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
|
||||
});
|
||||
|
||||
|
||||
@@ -466,9 +467,11 @@ export default {
|
||||
closeDrawer();
|
||||
updateTask(res);
|
||||
ctx.emit("changeData", false);
|
||||
message.destroy();
|
||||
message.success("更新成功");
|
||||
})
|
||||
.catch(() => {
|
||||
message.destroy();
|
||||
message.error("更新失败");
|
||||
});
|
||||
} else {
|
||||
@@ -476,12 +479,14 @@ export default {
|
||||
api
|
||||
.createActivity(obj)
|
||||
.then((res) => {
|
||||
message.destroy();
|
||||
message.success("创建成功");
|
||||
closeDrawer();
|
||||
updateTask(res);
|
||||
ctx.emit("changeData", false);
|
||||
})
|
||||
.catch(() => {
|
||||
message.destroy();
|
||||
message.error("创建失败");
|
||||
});
|
||||
}
|
||||
|
||||
@@ -197,6 +197,7 @@ export default {
|
||||
type: 8,
|
||||
})
|
||||
.then(() => {
|
||||
|
||||
message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
|
||||
})
|
||||
.catch(() => {
|
||||
@@ -213,6 +214,7 @@ export default {
|
||||
type: 8,
|
||||
})
|
||||
.then(() => {
|
||||
|
||||
message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
|
||||
})
|
||||
.catch(() => {
|
||||
@@ -229,6 +231,7 @@ export default {
|
||||
type: 8,
|
||||
})
|
||||
.then(() => {
|
||||
|
||||
message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
|
||||
})
|
||||
.catch(() => {
|
||||
@@ -255,8 +258,13 @@ export default {
|
||||
updateTask(res);
|
||||
closeDrawer();
|
||||
ctx.emit("changeData", false);
|
||||
message.destroy()
|
||||
message.success("创建讨论成功");
|
||||
})
|
||||
.catch(() => {});
|
||||
.catch(() => {
|
||||
message.destroy()
|
||||
message.error("创建讨论失败");
|
||||
});
|
||||
} else {
|
||||
api
|
||||
.createDiscuss(obj)
|
||||
@@ -264,8 +272,13 @@ export default {
|
||||
updateTask(res);
|
||||
closeDrawer();
|
||||
ctx.emit("changeData", false);
|
||||
message.destroy()
|
||||
message.success("创建讨论成功");
|
||||
})
|
||||
.catch(() => {});
|
||||
.catch(() => {
|
||||
message.destroy()
|
||||
message.error("创建讨论失败");
|
||||
});
|
||||
}
|
||||
};
|
||||
return {
|
||||
|
||||
@@ -315,8 +315,12 @@ export default {
|
||||
updateTask(res.data.data);
|
||||
closeDrawer();
|
||||
ctx.emit("changeData", false);
|
||||
message.destroy();
|
||||
message.success("创建测评成功");
|
||||
})
|
||||
.catch(() => {
|
||||
message.destroy();
|
||||
message.success("创建测评失败");
|
||||
});
|
||||
}
|
||||
//创建测评信息
|
||||
@@ -348,8 +352,12 @@ export default {
|
||||
updateTask(res.data.data);
|
||||
closeDrawer();
|
||||
ctx.emit("changeData", false);
|
||||
message.destroy();
|
||||
message.success("创建测评成功");
|
||||
})
|
||||
.catch(() => {
|
||||
message.destroy();
|
||||
message.success("创建测评失败");
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
@@ -607,11 +607,14 @@ export default {
|
||||
|
||||
editPlan(obj)
|
||||
.then((res) => {
|
||||
console.log("更新任务s's");
|
||||
message.destroy();
|
||||
message.error(`添加成功`);
|
||||
updateTask(res);
|
||||
ctx.emit("changeData", false);
|
||||
closeDrawer();
|
||||
}).catch((err) => {
|
||||
message.error(`添加失败${err}`);
|
||||
}).catch(() => {
|
||||
message.destroy();
|
||||
message.error(`添加失败`);
|
||||
});
|
||||
|
||||
}
|
||||
@@ -633,13 +636,13 @@ export default {
|
||||
};
|
||||
RouterEditTask(editObj1)
|
||||
.then(() => {
|
||||
message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
|
||||
ctx.emit("changeData", false);
|
||||
//message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
|
||||
|
||||
// state.addLoading = false;
|
||||
closeDrawer();
|
||||
})
|
||||
.catch(() => {
|
||||
message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`);
|
||||
//message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`);
|
||||
});
|
||||
} else if (props.isLevel == 2) {
|
||||
let editObj = {
|
||||
@@ -654,13 +657,11 @@ export default {
|
||||
// 新增编辑或新增项目
|
||||
ProjectEditTask(editObj)
|
||||
.then(() => {
|
||||
message.success(
|
||||
`${props.EditFaceId ? "编辑" : "新增"}阶段任务成功`
|
||||
);
|
||||
ctx.emit("changeData", false);
|
||||
message.success( `${props.EditFaceId ? "编辑" : "新增"}阶段任务成功` );
|
||||
|
||||
})
|
||||
.catch(() => {
|
||||
message.error(`${props.EditFaceId ? "编辑" : "新增"}阶段任务失败`);
|
||||
//message.error(`${props.EditFaceId ? "编辑" : "新增"}阶段任务失败`);
|
||||
});
|
||||
} else if (props.isLevel == 3) {
|
||||
console.log("dddddddddddd33333333");
|
||||
@@ -674,13 +675,11 @@ export default {
|
||||
type: 2,
|
||||
})
|
||||
.then(() => {
|
||||
message.success(
|
||||
`${props.EditFaceId ? "编辑" : "新增"}阶段任务成功`
|
||||
);
|
||||
ctx.emit("changeData", false);
|
||||
//message.success(`${props.EditFaceId ? "编辑" : "新增"}阶段任务成功` );
|
||||
|
||||
})
|
||||
.catch(() => {
|
||||
message.error(`${props.EditFaceId ? "编辑" : "新增"}阶段任务失败`);
|
||||
//message.error(`${props.EditFaceId ? "编辑" : "新增"}阶段任务失败`);
|
||||
});
|
||||
}
|
||||
};
|
||||
@@ -739,6 +738,7 @@ export default {
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
message.destroy();
|
||||
message.error("获取员工失败" + err);
|
||||
});
|
||||
};
|
||||
|
||||
@@ -296,18 +296,22 @@ export default {
|
||||
updateWorkTaskUsing(obj)
|
||||
.then((res) => {
|
||||
updateTask(res);
|
||||
ctx.emit("changeData", false);
|
||||
closeDrawer();
|
||||
})
|
||||
.catch((err) => {
|
||||
message.destroy();
|
||||
message.error(`添加失败${err}`);
|
||||
});
|
||||
} else {
|
||||
createWorkTask(obj)
|
||||
.then((res) => {
|
||||
updateTask(res);
|
||||
ctx.emit("changeData", false);
|
||||
closeDrawer();
|
||||
})
|
||||
.catch((err) => {
|
||||
message.destroy();
|
||||
message.error(`添加失败${err}`);
|
||||
});
|
||||
}
|
||||
@@ -327,7 +331,7 @@ export default {
|
||||
state.addLoading = false;
|
||||
})
|
||||
.catch(() => {
|
||||
message.error(`查询失败`);
|
||||
//message.error(`查询失败`);
|
||||
});
|
||||
};
|
||||
// 新增编辑或新增项目任务
|
||||
@@ -349,12 +353,12 @@ export default {
|
||||
|
||||
RouterEditTask(editObj1)
|
||||
.then(() => {
|
||||
message.success(`${props.EditWorkId > 0 ? "编辑" : "新增"}关卡任务成功`);
|
||||
ctx.emit("changeData", false);
|
||||
//message.success(`${props.EditWorkId > 0 ? "编辑" : "新增"}关卡任务成功`);
|
||||
|
||||
state.addLoading = false;
|
||||
})
|
||||
.catch(() => {
|
||||
message.error(`${props.EditWorkId > 0 ? "编辑" : "新增"}关卡任务失败`);
|
||||
//message.error(`${props.EditWorkId > 0 ? "编辑" : "新增"}关卡任务失败`);
|
||||
});
|
||||
} else if (props.isLevel == 2) {
|
||||
let editObj = {
|
||||
@@ -367,12 +371,12 @@ export default {
|
||||
};
|
||||
ProjectEditTask(editObj)
|
||||
.then(() => {
|
||||
message.success(`${props.EditWorkId > 0 ? "编辑" : "新增"}阶段任务成功`);
|
||||
ctx.emit("changeData", false);
|
||||
//message.success(`${props.EditWorkId > 0 ? "编辑" : "新增"}阶段任务成功`);
|
||||
|
||||
state.addLoading = false;
|
||||
})
|
||||
.catch(() => {
|
||||
message.error(`${props.EditWorkId > 0 ? "编辑" : "新增"}阶段任务失败`);
|
||||
//message.error(`${props.EditWorkId > 0 ? "编辑" : "新增"}阶段任务失败`);
|
||||
});
|
||||
} else if (props.isLevel == 3) {
|
||||
console.log("projectTemplateId,===",props.projectTemplateId);
|
||||
@@ -385,12 +389,12 @@ export default {
|
||||
type: 4,
|
||||
})
|
||||
.then(() => {
|
||||
message.success(`${props.EditWorkId > 0 ? "编辑" : "新增"}阶段任务成功`);
|
||||
ctx.emit("changeData", false);
|
||||
//message.success(`${props.EditWorkId > 0 ? "编辑" : "新增"}阶段任务成功`);
|
||||
|
||||
state.addLoading = false;
|
||||
})
|
||||
.catch(() => {
|
||||
message.error(`${props.EditWorkId > 0 ? "编辑" : "新增"}阶段任务失败`);
|
||||
//message.error(`${props.EditWorkId > 0 ? "编辑" : "新增"}阶段任务失败`);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -225,12 +225,14 @@ export default {
|
||||
type: 11,
|
||||
})
|
||||
.then(() => {
|
||||
message.destroy();
|
||||
message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
|
||||
ctx.emit("changeData", false);
|
||||
closeDrawer();
|
||||
state.addLoading = false;
|
||||
})
|
||||
.catch(() => {
|
||||
message.destroy();
|
||||
message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`);
|
||||
});
|
||||
} else if (props.isLevel == 2) {
|
||||
@@ -261,11 +263,13 @@ export default {
|
||||
type: 11,
|
||||
})
|
||||
.then(() => {
|
||||
message.destroy();
|
||||
message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
|
||||
ctx.emit("changeData", false);
|
||||
closeDrawer();
|
||||
})
|
||||
.catch(() => {
|
||||
message.destroy();
|
||||
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
</div>
|
||||
<div class="btnbox">
|
||||
<a-auto-complete
|
||||
v-model:value="memberValue"
|
||||
v-model:value="memberValue.label"
|
||||
show-search
|
||||
:not-found-content="fetching ? undefined : null"
|
||||
placeholder="Select a teacher"
|
||||
@@ -408,7 +408,10 @@ export default {
|
||||
pageSize: 10,
|
||||
fetching: false,
|
||||
totalPages: 0,
|
||||
memberValue: null, // 授课老师关键词
|
||||
memberValue: {
|
||||
value:"",
|
||||
label:""
|
||||
}, // 授课老师关键词
|
||||
inputV1: "", //*直播名称
|
||||
time: "", //*直播时间
|
||||
inputV2: "", //*直播时长
|
||||
@@ -505,7 +508,7 @@ export default {
|
||||
state.imageUrl = res.data.data.liveCover;
|
||||
})
|
||||
.catch(() => {
|
||||
message.error(`查询失败`);
|
||||
//message.error(`查询失败`);
|
||||
});
|
||||
};
|
||||
|
||||
@@ -534,6 +537,7 @@ export default {
|
||||
|
||||
if (info.file.status === "error") {
|
||||
state.loading = false;
|
||||
message.destroy();
|
||||
message.error("upload error");
|
||||
}
|
||||
};
|
||||
@@ -550,11 +554,11 @@ export default {
|
||||
type: 6,
|
||||
})
|
||||
.then(() => {
|
||||
message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
|
||||
//message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
|
||||
ctx.emit("changeData", false);
|
||||
})
|
||||
.catch(() => {
|
||||
message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`);
|
||||
//message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`);
|
||||
});
|
||||
} else if (props.isLevel == 2) {
|
||||
apiTask
|
||||
@@ -568,11 +572,11 @@ export default {
|
||||
type: 6,
|
||||
})
|
||||
.then(() => {
|
||||
message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
|
||||
//message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
|
||||
ctx.emit("changeData", false);
|
||||
})
|
||||
.catch(() => {
|
||||
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
|
||||
//message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
|
||||
});
|
||||
} else if (props.isLevel == 3) {
|
||||
console.log("props.projectTemplateId",props.projectTemplateId);
|
||||
@@ -586,11 +590,11 @@ export default {
|
||||
type: 6,
|
||||
})
|
||||
.then(() => {
|
||||
message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
|
||||
//message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
|
||||
ctx.emit("changeData", false);
|
||||
})
|
||||
.catch(() => {
|
||||
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
|
||||
//message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
|
||||
});
|
||||
}
|
||||
};
|
||||
@@ -653,6 +657,7 @@ export default {
|
||||
api
|
||||
.updateLiveBroadcastMessage(state.obj)
|
||||
.then((res) => {
|
||||
message.destroy();
|
||||
message.success("提交成功");
|
||||
updateTask(res);
|
||||
closeDrawer();
|
||||
@@ -662,6 +667,7 @@ export default {
|
||||
api
|
||||
.createLiveBroadcast(state.obj)
|
||||
.then((res) => {
|
||||
message.destroy();
|
||||
message.success("提交成功");
|
||||
updateTask(res);
|
||||
closeDrawer();
|
||||
@@ -679,6 +685,7 @@ export default {
|
||||
file.type === "image/bmp" ||
|
||||
file.type === "image/gif";
|
||||
if (!isJpgOrPng) {
|
||||
message.destroy();
|
||||
message.error("仅支持jpg、gif、png、jpeg、svg、bmp格式!");
|
||||
return reject(false);
|
||||
}
|
||||
@@ -726,7 +733,7 @@ export default {
|
||||
const queryMember = () => {
|
||||
if (!state.memberValue) return;
|
||||
let obj = {
|
||||
keyWord: state.memberValue,
|
||||
keyWord: state.memberValue.label,
|
||||
id: 0,
|
||||
org: 0,
|
||||
pageNo: state.currentPage,
|
||||
@@ -744,6 +751,7 @@ export default {
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
message.destroy();
|
||||
message.error("获取员工失败" + err);
|
||||
});
|
||||
};
|
||||
|
||||
@@ -328,7 +328,7 @@ export default {
|
||||
const closeDrawer = () => {
|
||||
ctx.emit("update:addprojvisible", false);
|
||||
ctx.emit("update:edit", false);
|
||||
ctx.emit("changeData", false);
|
||||
|
||||
state.selectedRows = [];
|
||||
state.selectedRowKeys = [];
|
||||
};
|
||||
@@ -386,11 +386,11 @@ export default {
|
||||
})
|
||||
.catch(() => {
|
||||
message.destroy();
|
||||
message.error("获取全部项目信息接口失败");
|
||||
//message.error("获取全部项目信息接口失败");
|
||||
});
|
||||
};
|
||||
const afterVisibleChange = (bool) => {
|
||||
console.log("哈哈,我进来了");
|
||||
|
||||
if (bool) {
|
||||
getAllProjText();
|
||||
}
|
||||
|
||||
@@ -187,13 +187,13 @@ export default {
|
||||
type: 7,
|
||||
})
|
||||
.then(() => {
|
||||
message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
|
||||
// message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
|
||||
ctx.emit("changeData", false);
|
||||
closeDrawer();
|
||||
state.addLoading = false;
|
||||
})
|
||||
.catch(() => {
|
||||
message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`);
|
||||
// message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`);
|
||||
});
|
||||
} else if (props.isLevel == 2) {
|
||||
apiTask
|
||||
@@ -206,14 +206,12 @@ export default {
|
||||
type: 7,
|
||||
})
|
||||
.then(() => {
|
||||
message.success(
|
||||
`${props.EditTestId ? "编辑" : "新增"}阶段任务成功`
|
||||
);
|
||||
// message.success(`${props.EditTestId ? "编辑" : "新增"}阶段任务成功`);
|
||||
ctx.emit("changeData", false);
|
||||
closeDrawer();
|
||||
})
|
||||
.catch(() => {
|
||||
message.error(`${props.EditTestId ? "编辑" : "新增"}阶段任务失败`);
|
||||
//message.error(`${props.EditTestId ? "编辑" : "新增"}阶段任务失败`);
|
||||
});
|
||||
} else if (props.isLevel == 3) {
|
||||
|
||||
@@ -226,14 +224,12 @@ export default {
|
||||
type: 7,
|
||||
})
|
||||
.then(() => {
|
||||
message.success(
|
||||
`${props.EditTestId ? "编辑" : "新增"}阶段任务成功`
|
||||
);
|
||||
//message.success( `${props.EditTestId ? "编辑" : "新增"}阶段任务成功`);
|
||||
ctx.emit("changeData", false);
|
||||
closeDrawer();
|
||||
})
|
||||
.catch(() => {
|
||||
message.error(`${props.EditTestId ? "编辑" : "新增"}阶段任务失败`);
|
||||
//message.error(`${props.EditTestId ? "编辑" : "新增"}阶段任务失败`);
|
||||
});
|
||||
}
|
||||
};
|
||||
@@ -261,6 +257,7 @@ export default {
|
||||
.then((res) => {
|
||||
message.success("编辑成功");
|
||||
updateTask(res);
|
||||
ctx.emit("changeData", false);
|
||||
})
|
||||
.catch(() => {});
|
||||
} else {
|
||||
@@ -269,6 +266,7 @@ export default {
|
||||
.then((res) => {
|
||||
message.success("提交成功");
|
||||
updateTask(res);
|
||||
ctx.emit("changeData", false);
|
||||
})
|
||||
.catch(() => {});
|
||||
}
|
||||
@@ -284,7 +282,7 @@ export default {
|
||||
state.textV1 = res.data.data.linkDescription;
|
||||
})
|
||||
.catch(() => {
|
||||
message.error(`查询失败`);
|
||||
//message.error(`查询失败`);
|
||||
});
|
||||
};
|
||||
return {
|
||||
|
||||
@@ -509,11 +509,7 @@ export default {
|
||||
return Promise.reject("请输入考试名称");
|
||||
}
|
||||
};
|
||||
let checkExaminationExplain = async (_rule, value) => {
|
||||
if (!value) {
|
||||
return Promise.reject("请输入考试说明");
|
||||
}
|
||||
};
|
||||
|
||||
/*
|
||||
let checkChoosedTest = async (_rule, value) => {
|
||||
if (!value) {
|
||||
@@ -564,12 +560,7 @@ export default {
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
examinationExplain: [
|
||||
{
|
||||
validator: checkExaminationExplain,
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
|
||||
/*
|
||||
choosedTest: [
|
||||
{
|
||||
@@ -705,7 +696,7 @@ export default {
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
message.error(`查询失败`);
|
||||
//message.error(`查询失败`);
|
||||
});
|
||||
};
|
||||
const updateTest = () => {
|
||||
@@ -750,7 +741,7 @@ export default {
|
||||
closeDrawer();
|
||||
})
|
||||
.catch(() => {
|
||||
message.error(`编辑失败`);
|
||||
message.error(`创建失败`);
|
||||
});
|
||||
}
|
||||
};
|
||||
@@ -770,13 +761,13 @@ export default {
|
||||
};
|
||||
RouterEditTask(editObj1)
|
||||
.then(() => {
|
||||
message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
|
||||
//message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
|
||||
ctx.emit("changeData", false);
|
||||
state.addLoading = false;
|
||||
closeDrawer();
|
||||
})
|
||||
.catch(() => {
|
||||
message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`);
|
||||
//message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`);
|
||||
});
|
||||
} else if (props.isLevel == 2) {
|
||||
let editObj = {
|
||||
@@ -791,15 +782,11 @@ export default {
|
||||
// 新增编辑或新增项目
|
||||
ProjectEditTask(editObj)
|
||||
.then(() => {
|
||||
message.success(
|
||||
`${props.EditTestId ? "编辑" : "新增"}阶段任务成功`
|
||||
);
|
||||
//message.success(`${props.EditTestId ? "编辑" : "新增"}阶段任务成功`);
|
||||
ctx.emit("changeData", false);
|
||||
})
|
||||
.catch(() => {
|
||||
message.error(
|
||||
`${props.EditTestId ? "编辑" : "新增"}阶段任务失败`
|
||||
);
|
||||
//message.error(`${props.EditTestId ? "编辑" : "新增"}阶段任务失败`);
|
||||
});
|
||||
} else if (props.isLevel == 3) {
|
||||
addTempTask({
|
||||
@@ -812,15 +799,11 @@ export default {
|
||||
type: 5,
|
||||
})
|
||||
.then(() => {
|
||||
message.success(
|
||||
`${props.EditTestId ? "编辑" : "新增"}阶段任务成功`
|
||||
);
|
||||
//message.success( `${props.EditTestId ? "编辑" : "新增"}阶段任务成功`);
|
||||
ctx.emit("changeData", false);
|
||||
})
|
||||
.catch(() => {
|
||||
message.error(
|
||||
`${props.EditTestId ? "编辑" : "新增"}阶段任务失败`
|
||||
);
|
||||
//message.error(`${props.EditTestId ? "编辑" : "新增"}阶段任务失败`);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -242,6 +242,7 @@ export default {
|
||||
state.textV1 = "",
|
||||
state.time = undefined,
|
||||
state.basevote = "",
|
||||
state.ballotId ="",
|
||||
ctx.emit("update:addvoteVisible", false);
|
||||
ctx.emit("update:edit", false);
|
||||
};
|
||||
@@ -322,12 +323,12 @@ export default {
|
||||
type: 12,
|
||||
})
|
||||
.then(() => {
|
||||
message.success(`${props.edit ? '编辑' : '新增'}关卡任务成功`)
|
||||
//message.success(`${props.edit ? '编辑' : '新增'}关卡任务成功`)
|
||||
ctx.emit("changeData", false);
|
||||
state.addLoading = false;
|
||||
})
|
||||
.catch(( ) => {
|
||||
message.error(`${props.edit ? '编辑' : '新增'}关卡任务失败`)
|
||||
//message.error(`${props.edit ? '编辑' : '新增'}关卡任务失败`)
|
||||
});
|
||||
}else if(props.isLevel ==2){
|
||||
apiTask
|
||||
@@ -340,11 +341,11 @@ export default {
|
||||
type: 12,
|
||||
})
|
||||
.then(() => {
|
||||
message.success(`${props.edit ? '编辑' : '新增'}阶段任务成功`)
|
||||
//message.success(`${props.edit ? '编辑' : '新增'}阶段任务成功`)
|
||||
ctx.emit("changeData", false);
|
||||
})
|
||||
.catch(() => {
|
||||
message.error(`${props.edit ? '编辑' : '新增'}阶段任务失败`)
|
||||
////message.error(`${props.edit ? '编辑' : '新增'}阶段任务失败`)
|
||||
});
|
||||
}else if (props.isLevel == 3) {
|
||||
|
||||
@@ -357,10 +358,11 @@ export default {
|
||||
type: 12,
|
||||
})
|
||||
.then(() => {
|
||||
message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
|
||||
ctx.emit("changeData", false);
|
||||
//message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
|
||||
})
|
||||
.catch(() => {
|
||||
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
|
||||
//message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -400,9 +402,11 @@ export default {
|
||||
console.log("updte======");
|
||||
updateToTask(res);
|
||||
closeDrawer();
|
||||
message.destroy();
|
||||
message.success("修改投票信息成功")
|
||||
})
|
||||
.catch(() => {
|
||||
message.destroy();
|
||||
message.error("修改投票信息失败")
|
||||
})
|
||||
}else{
|
||||
@@ -411,9 +415,11 @@ export default {
|
||||
.then((res) => {
|
||||
updateToTask(res);
|
||||
closeDrawer();
|
||||
message.destroy();
|
||||
message.success("创建投票信息成功")
|
||||
})
|
||||
.catch(() => {
|
||||
message.destroy();
|
||||
message.error("创建投票信息失败")
|
||||
})
|
||||
}
|
||||
|
||||
@@ -14,39 +14,28 @@
|
||||
<div class="tmplh_inp">
|
||||
<div class="inpbox">
|
||||
<div class="inpbox1">
|
||||
<a-select
|
||||
v-model:value="valueproj"
|
||||
:options="[{label:'请选择内容分类',value:''},...calssifyList]"
|
||||
/>
|
||||
<a-select v-model:value="valueproj" :options="[{ label: '请选择内容分类', value: '' }, ...calssifyList]" />
|
||||
</div>
|
||||
<div class="inpbox1">
|
||||
<a-input
|
||||
v-model:value="valuecreater"
|
||||
style="
|
||||
<a-input v-model:value="valuecreater" style="
|
||||
width: 270px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
margin-right: 14px;
|
||||
"
|
||||
placeholder="请输入创建人"
|
||||
/>
|
||||
" placeholder="请输入创建人" />
|
||||
</div>
|
||||
<div class="inpbox1">
|
||||
<a-input
|
||||
v-model:value="valuename"
|
||||
style="
|
||||
<a-input v-model:value="valuename" style="
|
||||
width: 270px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
margin-right: 14px;
|
||||
"
|
||||
placeholder="请输入名称"
|
||||
/>
|
||||
" placeholder="请输入名称" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tmplh_btn">
|
||||
<div class="btn btn1" @click="getFaceList">
|
||||
<div class="btn btn1" @click="searchList">
|
||||
<div class="search"></div>
|
||||
<div class="btnText btnText1">搜索</div>
|
||||
</div>
|
||||
@@ -58,40 +47,20 @@
|
||||
</div>
|
||||
<div class="tmpl_body">
|
||||
<div class="tmpl_tabbox">
|
||||
<a-table
|
||||
:columns="columns1"
|
||||
:data-source="tableData1"
|
||||
:loading="tableDataTotal === -1 ? true : false"
|
||||
expandRowByClick="true"
|
||||
@expand="expandTable"
|
||||
:scroll="{ x: 1300 }"
|
||||
:pagination="false"
|
||||
/>
|
||||
<a-table :columns="columns1" :data-source="tableData1" :loading="tableDataTotal === -1 ? true : false"
|
||||
expandRowByClick="true" @expand="expandTable" :scroll="{ x: 1300 }" :pagination="false" />
|
||||
</div>
|
||||
<div class="tableBox">
|
||||
<div class="pa">
|
||||
<a-pagination
|
||||
v-if="total > 10"
|
||||
showSizeChanger="true"
|
||||
show-quick-jumper
|
||||
:pageSize="pageSize"
|
||||
v-model:current="currentPage"
|
||||
:total="total"
|
||||
class="pagination"
|
||||
@change="changePagination"
|
||||
/>
|
||||
<a-pagination v-if="total > 10" showSizeChanger="true" show-quick-jumper :pageSize="pageSize"
|
||||
v-model:current="currentPage" :total="total" class="pagination" @change="changePagination" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 审核弹窗 -->
|
||||
<a-modal
|
||||
v-model:visible="courAuditModal"
|
||||
:footer="null"
|
||||
:closable="closeBack"
|
||||
wrapClassName="courAuditModal"
|
||||
centered="true"
|
||||
>
|
||||
<a-modal v-model:visible="courAuditModal" :footer="null" :closable="closeBack" wrapClassName="courAuditModal"
|
||||
centered="true">
|
||||
<div class="delete">
|
||||
<div class="del_header"></div>
|
||||
<div class="del_main">
|
||||
@@ -111,9 +80,12 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="item" style="margin-top: 20px">
|
||||
<div class="sign" style="position:relative;left:30px;top:-2px;">
|
||||
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||
</div>
|
||||
<div class="left">审核意见:</div>
|
||||
<div class="rig">
|
||||
<a-textarea v-model:value="valueSugg" :rows="4"/>
|
||||
<a-textarea v-model:value="valueSugg" :rows="4" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -129,30 +101,15 @@
|
||||
</div>
|
||||
</a-modal>
|
||||
<!-- 预览弹窗 -->
|
||||
<a-modal
|
||||
v-model:visible="lookCourseModal"
|
||||
title="Title"
|
||||
@ok="handlePush"
|
||||
:footer="null"
|
||||
:closable="false"
|
||||
wrapClassName="modalStyle lookCourseModal"
|
||||
width="80%"
|
||||
@cancel="ft_exit"
|
||||
>
|
||||
<a-modal v-model:visible="lookCourseModal" title="Title" @ok="handlePush" :footer="null" :closable="false"
|
||||
wrapClassName="modalStyle lookCourseModal" width="80%" @cancel="ft_exit">
|
||||
<div class="modalHeader">
|
||||
<div class="headerLeft">
|
||||
<img
|
||||
style="width: 17px; height: 18px; margin-right: 8px"
|
||||
src="../../assets/images/basicinfo/add.png"
|
||||
/>
|
||||
<img style="width: 17px; height: 18px; margin-right: 8px" src="../../assets/images/basicinfo/add.png" />
|
||||
<span class="headerLeftText">预览</span>
|
||||
</div>
|
||||
<div style="margin-right: 57px; cursor: pointer">
|
||||
<img
|
||||
@click="ft_exit"
|
||||
style="width: 22px; height: 22px"
|
||||
src="../../assets/images/basicinfo/close22.png"
|
||||
/>
|
||||
<img @click="ft_exit" style="width: 22px; height: 22px" src="../../assets/images/basicinfo/close22.png" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="modalMain">
|
||||
@@ -163,24 +120,17 @@
|
||||
<div class="mbl_items">
|
||||
<div class="item_nam">
|
||||
<div class="asterisk_icon">
|
||||
<img
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt=""
|
||||
/>
|
||||
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||
</div>
|
||||
<span style="margin-right: 14px">课程名称:</span>
|
||||
</div>
|
||||
<div class="item_inp">
|
||||
<div class="i1_input">fefewf</div>
|
||||
<div class="i1_input">{{ faceDetailObj !== null ? faceDetailObj.name : "" }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="i2_cz">
|
||||
<div class="i2_top">
|
||||
<div
|
||||
class="i2_right"
|
||||
@click="hideShow"
|
||||
style="cursor: pointer"
|
||||
>
|
||||
<div class="i2_right" @click="hideShow" style="cursor: pointer">
|
||||
<div class="b_icon"></div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -188,28 +138,23 @@
|
||||
<div class="mbl_items2">
|
||||
<div class="item_nam">
|
||||
<div class="asterisk_icon">
|
||||
<img
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt=""
|
||||
/>
|
||||
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||
</div>
|
||||
<span style="margin-right: 14px">封面图:</span>
|
||||
</div>
|
||||
<div class="item_inp">fefw</div>
|
||||
<img ref="heroImg" alt="" style="width:100px;height:100px;" />
|
||||
<!-- <div class="item_inp"></div> -->
|
||||
</div>
|
||||
<div class="mbl_items">
|
||||
<div class="item_nam">
|
||||
<div class="asterisk_icon">
|
||||
<img
|
||||
style="width: 10px; height: 10px"
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt=""
|
||||
/>
|
||||
<img style="width: 10px; height: 10px" src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt="" />
|
||||
</div>
|
||||
<span style="margin-right: 14px">目标人群:</span>
|
||||
</div>
|
||||
<div class="item_inp">
|
||||
<div class="i1_input"></div>
|
||||
<div class="i1_input">{{ faceDetailObj !== null ? faceDetailObj.targetUser : "" }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mbl_items">
|
||||
@@ -217,35 +162,29 @@
|
||||
<span style="margin-right: 14px">课程价值:</span>
|
||||
</div>
|
||||
<div class="item_inp">
|
||||
<div class="i1_input"></div>
|
||||
<div class="i1_input">{{ faceDetailObj !== null ? faceDetailObj.meaning : "" }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mbl_items">
|
||||
<div class="item_nam">
|
||||
<div class="asterisk_icon">
|
||||
<img
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt=""
|
||||
/>
|
||||
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||
</div>
|
||||
<span style="margin-right: 14px">资源归属:</span>
|
||||
</div>
|
||||
<div class="item_inp">
|
||||
<div class="select i6_input"></div>
|
||||
<div class="select i6_input">{{ faceDetailObj !== null ? faceDetailObj.projectId : "" }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mbl_items">
|
||||
<div class="item_nam">
|
||||
<div class="asterisk_icon">
|
||||
<img
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt=""
|
||||
/>
|
||||
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||
</div>
|
||||
<span style="margin-right: 14px">内容分类:</span>
|
||||
</div>
|
||||
<div class="item_inp">
|
||||
<div class="select i6_input"></div>
|
||||
<div class="select i6_input">{{ faceDetailObj !== null ? faceDetailObj.categoryId : "" }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mbl_items">
|
||||
@@ -253,29 +192,26 @@
|
||||
<span style="margin-right: 14px">场景:</span>
|
||||
</div>
|
||||
<div class="item_inp">
|
||||
<div class="select i7_input"></div>
|
||||
<div class="select i7_input">{{ faceDetailObj !== null ? faceDetailObj.sceneId : "" }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mbl_items">
|
||||
<div class="item_nam">
|
||||
<span style="margin-right: 14px">内容标签:</span>
|
||||
</div>
|
||||
<div class="item_inp"></div>
|
||||
<div class="item_inp">{{ faceDetailObj !== null ? faceDetailObj.tips : "" }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb_right">
|
||||
<div class="mbl_items">
|
||||
<div class="item_nam">
|
||||
<div class="asterisk_icon">
|
||||
<img
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt="asterisk"
|
||||
/>
|
||||
<img src="@/assets/images/coursewareManage/asterisk.png" alt="asterisk" />
|
||||
</div>
|
||||
<span style="margin-right: 14px">授课教师:</span>
|
||||
</div>
|
||||
<div class="item_inp">
|
||||
<div class="i1_input"></div>
|
||||
<div class="i1_input">{{ faceDetailObj !== null ? faceDetailObj.teacherId : "" }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mbl_items2">
|
||||
@@ -283,42 +219,34 @@
|
||||
<span style="margin-right: 14px">课程简介:</span>
|
||||
</div>
|
||||
<div class="item_inp">
|
||||
<div class="i10_textarea"></div>
|
||||
<div class="i10_textarea">{{ faceDetailObj !== null ? faceDetailObj.intro : "" }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mbl_items">
|
||||
<div class="item_nam">
|
||||
<span style="margin-right: 10px">附件</span>
|
||||
</div>
|
||||
<div class="item_inp">
|
||||
<a-upload
|
||||
multiple
|
||||
:show-upload-list="false"
|
||||
:before-upload="beforeUpload2"
|
||||
>
|
||||
<div class="item_inp" v-for="(value, index) in attachMap" :key="index">
|
||||
<a :src="value">
|
||||
{{ ['附件一', '附件二', '附件三', '附件四', '附件五', '附件六'][index] }}
|
||||
</a>
|
||||
<!-- <a-upload multiple :show-upload-list="false" :before-upload="beforeUpload2">
|
||||
<div class="accessory" style="cursor: pointer">
|
||||
<div class="accessory_icon">
|
||||
<img
|
||||
src="@/assets/images/coursewareManage/enclosure.png"
|
||||
alt="enclosure"
|
||||
/>
|
||||
<img src="@/assets/images/coursewareManage/enclosure.png" alt="enclosure" />
|
||||
</div>
|
||||
<span style="color: #4ea6ff">添加附件</span>
|
||||
</div>
|
||||
</a-upload>
|
||||
<span>
|
||||
支持.pdf,.ppt,.pptx,.doc,.docx,.xls,.xlsx,.jpg,.jpeg,.png,.gif,.zip
|
||||
</span>
|
||||
</span> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="mbl_items12">
|
||||
<div
|
||||
class="i12_box1"
|
||||
v-for="(item, index) in imgList"
|
||||
:key="index"
|
||||
>
|
||||
<div class="i12_box1" v-for="(item, index) in imgList" :key="index">
|
||||
<div class="file_img">
|
||||
<img :src="item.img"/>
|
||||
<img :src="item.img" />
|
||||
</div>
|
||||
<div class="file_detail">
|
||||
<div class="file_name">
|
||||
@@ -352,28 +280,18 @@
|
||||
</div>
|
||||
<div class="fotarea">
|
||||
<div style="border: 1px solid #ccc">
|
||||
<Toolbar
|
||||
style="border-bottom: 1px solid #ccc"
|
||||
:editor="editorRef"
|
||||
:defaultConfig="toolbarConfig"
|
||||
:mode="mode"
|
||||
/>
|
||||
<Editor
|
||||
style="height: 500px; overflow-y: hidden"
|
||||
v-model="valueHtml"
|
||||
:defaultConfig="editorConfig"
|
||||
:mode="mode"
|
||||
@onCreated="handleCreated"
|
||||
/>
|
||||
<Toolbar style="border-bottom: 1px solid #ccc" :editor="editorRef" :defaultConfig="toolbarConfig"
|
||||
:mode="mode" />
|
||||
<Editor v-model="valueHtml" :defaultConfig="editorConfig" :mode="mode" @onCreated="handleCreated" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="m_btn">
|
||||
<div class="btn btn5">
|
||||
<div class="btnText" @click="ft_exit">取消</div>
|
||||
<div class="btn btn5" @click="ft_exit">
|
||||
<div class="btnText">取消</div>
|
||||
</div>
|
||||
<div class="btn btn6">
|
||||
<div class="btnText" @click="handlePush">确定</div>
|
||||
<div class="btn btn6" @click="handlePush">
|
||||
<div class="btnText">确定</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -382,30 +300,20 @@
|
||||
</a-modal>
|
||||
|
||||
<!-- 审核在线课 -->
|
||||
<a-modal
|
||||
v-model:visible="onlineClassesVisible"
|
||||
:footer="null"
|
||||
:closable="false"
|
||||
wrapClassName="modalStyle onlineClassesStyle"
|
||||
:zIndex="9999"
|
||||
>
|
||||
<iframe
|
||||
id="iframe"
|
||||
style="width: 100%; height: 100%"
|
||||
:src="iframeUrl + 'course/noapproved'"
|
||||
name="myframe"
|
||||
sandbox="allow-forms allow-scripts allow-same-origin allow-popups"
|
||||
></iframe>
|
||||
<a-modal v-model:visible="onlineClassesVisible" :footer="null" :closable="false"
|
||||
wrapClassName="modalStyle onlineClassesStyle" :zIndex="9999">
|
||||
<iframe id="iframe" style="width: 100%; height: 100%" :src="iframeUrl + 'course/noapproved'" name="myframe"
|
||||
sandbox="allow-forms allow-scripts allow-same-origin allow-popups"></iframe>
|
||||
</a-modal>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import {reactive, toRefs, onMounted} from "vue";
|
||||
import {list, courseAuditView} from "../../api/indexAudit";
|
||||
import {toDate} from "../../api/method";
|
||||
import {message} from "ant-design-vue";
|
||||
import {Editor, Toolbar} from "@wangeditor/editor-for-vue";
|
||||
import {iframeUrl} from "../../api/method";
|
||||
import { reactive, toRefs, onMounted, ref } from "vue";
|
||||
import { list, courseAuditView, courseDetail } from "../../api/indexAudit";
|
||||
import { toDate } from "../../api/method";
|
||||
import { message } from "ant-design-vue";
|
||||
import { Editor, Toolbar } from "@wangeditor/editor-for-vue";
|
||||
import { iframeUrl } from "../../api/method";
|
||||
import * as api1 from "@/api/index1";
|
||||
|
||||
export default {
|
||||
@@ -442,6 +350,7 @@ export default {
|
||||
chooseCreater: null,
|
||||
chooseOffId: null,
|
||||
lookCourseModal: false, //预览
|
||||
faceDetailObj: null,
|
||||
columns1: [
|
||||
{
|
||||
title: "序号",
|
||||
@@ -466,7 +375,7 @@ export default {
|
||||
dataIndex: "content",
|
||||
key: "content",
|
||||
align: "center",
|
||||
customRender: ({text}) => state.calssifyList.find(e => e.value == text)?.label,
|
||||
customRender: ({ text }) => state.calssifyList.find(e => e.value == text)?.label,
|
||||
},
|
||||
{
|
||||
title: "状态",
|
||||
@@ -514,7 +423,13 @@ export default {
|
||||
审核
|
||||
</span>
|
||||
|
||||
<span style="cursor:pointer;color:#387DF7">预览</span>
|
||||
<span
|
||||
onClick={() => {
|
||||
state.lookCourseModal = true;
|
||||
getFaceDetail(value.record.offId);
|
||||
console.log(value.record)
|
||||
}}
|
||||
style="cursor:pointer;color:#387DF7">预览</span>
|
||||
</div>
|
||||
);
|
||||
},
|
||||
@@ -541,15 +456,16 @@ export default {
|
||||
const getFaceList = () => {
|
||||
let objn = {
|
||||
auditStatus: 1,
|
||||
// beginTime: 0,
|
||||
categoryId: state.valueproj,
|
||||
createName: state.valuecreater,
|
||||
// endTime: 0,
|
||||
name: state.valuename,
|
||||
pageNo: state.currentPage,
|
||||
pageSize: 10,
|
||||
projectName: "",
|
||||
projectName: ""
|
||||
};
|
||||
|
||||
console.log(objn);
|
||||
|
||||
list(objn)
|
||||
.then((res) => {
|
||||
console.log("获取面授列表成功", res);
|
||||
@@ -557,14 +473,79 @@ export default {
|
||||
state.total = result.total;
|
||||
if (result.total > 0) {
|
||||
setFaceData(result.rows);
|
||||
} else {
|
||||
setFaceData([]);
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log("获取面授列表失败", err);
|
||||
});
|
||||
};
|
||||
|
||||
// 获取面授详情
|
||||
const heroImg = ref(null);
|
||||
const valueHtml = ref(null);
|
||||
const attachMap = ref([]);
|
||||
const getFaceDetail = (id) => {
|
||||
console.log(id);
|
||||
courseDetail(id)
|
||||
.then((res) => {
|
||||
console.log("获取面授详情信息成功", res);
|
||||
let result = res.data.data;
|
||||
state.faceDetailObj = result;
|
||||
heroImg.value.src = result.picUrl
|
||||
valueHtml.value = result.outline
|
||||
attachMap.value = result.attach.split(",")
|
||||
console.log(result, attachMap.value);
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log("获取面授详情信息失败", err);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
const searchList = () => {
|
||||
let objn = {
|
||||
auditStatus: 1,
|
||||
categoryId: state.valueproj,
|
||||
createName: state.valuecreater,
|
||||
name: state.valuename,
|
||||
pageNo: state.currentPage,
|
||||
pageSize: 10,
|
||||
projectName: ""
|
||||
};
|
||||
|
||||
console.log(objn);
|
||||
|
||||
list(objn)
|
||||
.then((res) => {
|
||||
console.log("获取面授列表成功", res);
|
||||
let result = res.data.data;
|
||||
state.total = result.total;
|
||||
if (result.total > 0) {
|
||||
setFaceData(result.rows);
|
||||
} else {
|
||||
setFaceData([]);
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log("获取面授列表失败", err);
|
||||
});
|
||||
}
|
||||
|
||||
// 预览弹框 开启和关闭
|
||||
|
||||
const ft_exit = () => {
|
||||
state.lookCourseModal = false;
|
||||
}
|
||||
|
||||
const handlePush = () => {
|
||||
state.lookCourseModal = false;
|
||||
}
|
||||
|
||||
const setFaceData = (tableData) => {
|
||||
if(!tableData || !tableData.length){
|
||||
if (!tableData || !tableData.length) {
|
||||
state.tableData1 = []
|
||||
return
|
||||
}
|
||||
@@ -622,6 +603,13 @@ export default {
|
||||
state.chooseOffId = null;
|
||||
};
|
||||
const sureCourAuditModal = () => {
|
||||
console.log(state.valueSugg)
|
||||
if (state.valueSugg == null || state.valueSugg == undefined || state.valueSugg == "") {
|
||||
message.destroy();
|
||||
message.error("请输入审核意见")
|
||||
return
|
||||
}
|
||||
|
||||
courseAuditView({
|
||||
createId: state.chooseId,
|
||||
createName: state.chooseCreater,
|
||||
@@ -633,28 +621,36 @@ export default {
|
||||
console.log(res);
|
||||
state.courAuditModal = false;
|
||||
message.destroy();
|
||||
return message.success("审核提交成功");
|
||||
message.success("审核提交成功");
|
||||
getFaceList();
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
message.destroy();
|
||||
return message.warning("审核提交失败");
|
||||
message.warning("审核提交失败");
|
||||
});
|
||||
};
|
||||
onMounted(async () => {
|
||||
getFaceList();
|
||||
//获取分类列表
|
||||
state.calssifyList = (await getDictList("faceclassClass")).map(e => ({label: e.dictName, value: e.dictCode}))
|
||||
state.calssifyList = (await getDictList("faceclassClass")).map(e => ({ label: e.dictName, value: e.dictCode }))
|
||||
});
|
||||
return {
|
||||
...toRefs(state),
|
||||
getFaceList,
|
||||
searchList,
|
||||
setFaceData,
|
||||
reset,
|
||||
changePagination,
|
||||
showAudit,
|
||||
closeCourAuditModal,
|
||||
sureCourAuditModal,
|
||||
ft_exit,
|
||||
handlePush,
|
||||
getFaceDetail,
|
||||
heroImg,
|
||||
valueHtml,
|
||||
attachMap
|
||||
};
|
||||
},
|
||||
};
|
||||
@@ -681,6 +677,7 @@ export default {
|
||||
background: #ffffff;
|
||||
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.21);
|
||||
border-radius: 4px;
|
||||
|
||||
// position: absolute;
|
||||
// left: 50%;
|
||||
// top: 10%;
|
||||
@@ -689,10 +686,8 @@ export default {
|
||||
position: absolute;
|
||||
width: calc(100%);
|
||||
height: 68px;
|
||||
background: linear-gradient(
|
||||
rgba(78, 166, 255, 0.2) 0%,
|
||||
rgba(78, 166, 255, 0) 100%
|
||||
);
|
||||
background: linear-gradient(rgba(78, 166, 255, 0.2) 0%,
|
||||
rgba(78, 166, 255, 0) 100%);
|
||||
}
|
||||
|
||||
.del_main {
|
||||
@@ -800,6 +795,7 @@ export default {
|
||||
.lookCourseModal {
|
||||
.ant-modal {
|
||||
.ant-modal-content {
|
||||
|
||||
// width:1358px !important;
|
||||
.ant-modal-body {
|
||||
.modalHeader {
|
||||
|
||||
@@ -573,12 +573,12 @@
|
||||
</div>
|
||||
</div>
|
||||
</a-tab-pane>
|
||||
<a-tab-pane key="2" tab="共享文档">
|
||||
<a-tab-pane key="13" tab="共享文档">
|
||||
<div class="sametab">
|
||||
<div class="Gcon">
|
||||
<div class="pad"></div>
|
||||
<div class="Gin">
|
||||
<div class="headone" style="transform: translateX(30px)">
|
||||
<div class="headone">
|
||||
<div class="box"></div>
|
||||
<div class="onetitle">上传共享文档</div>
|
||||
<div class="oneedi">
|
||||
@@ -589,8 +589,8 @@
|
||||
<a-upload
|
||||
v-model:file-list="fileList"
|
||||
name="file"
|
||||
action="/api/file/upload"
|
||||
@change="handleChange"
|
||||
action="/manageApi/file/upload"
|
||||
@change="handleChange2"
|
||||
>
|
||||
<span
|
||||
class="xkbtn"
|
||||
@@ -609,8 +609,8 @@
|
||||
</span>
|
||||
</div>
|
||||
<div
|
||||
v-for="item in docList"
|
||||
:key="item.src"
|
||||
v-for="item in fileList"
|
||||
:key="item.uid"
|
||||
class="docListStyle"
|
||||
>
|
||||
<img
|
||||
@@ -623,10 +623,14 @@
|
||||
"
|
||||
alt=""
|
||||
/>
|
||||
<span style="font: oblique 16px Sans-serif">{{
|
||||
<span style="font: oblique bold 16px Sans-serif">{{
|
||||
item.name
|
||||
}}</span>
|
||||
<span style="color: #4ea6ff; float: right">删除</span>
|
||||
<span
|
||||
style="color: #4ea6ff; float: right; cursor: pointer"
|
||||
@click="deFile(item.uid)"
|
||||
>删除</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -947,6 +951,7 @@ export default defineComponent({
|
||||
state.projectInfo.remark = res.data.data.projectTemplateInfo.remark;
|
||||
state.projectInfo.status = res.data.data.projectTemplateInfo.status;
|
||||
state.projectInfo.picUrl = res.data.data.projectTemplateInfo.picUrl;
|
||||
state.projectInfo.attach =res.res.data.data.projectTemplateInfo.attach;
|
||||
let data = res.data.data.stageList;
|
||||
console.log("data=====", data);
|
||||
for (let i in data) {
|
||||
@@ -972,6 +977,7 @@ export default defineComponent({
|
||||
|
||||
// 发布公告
|
||||
const addNotice = () => {
|
||||
console.log("ok====s");
|
||||
let obj = {
|
||||
name: state.projectInfo.name,
|
||||
category: state.projectInfo.category,
|
||||
@@ -986,11 +992,13 @@ export default defineComponent({
|
||||
boeFlag: state.projectInfo.boeFlag ? 1 : 0,
|
||||
courseSyncFlag: state.projectInfo.courseSyncFlag ? 1 : 0,
|
||||
notice: state.projectInfo.notice,
|
||||
noticeFlag: 0,
|
||||
noticeFlag: state.projectInfo.noticeFlag,
|
||||
projectTemplateId: localStorage.getItem("projectTemplateId"),
|
||||
remark: state.projectInfo.remark,
|
||||
status: state.projectInfo.status,
|
||||
attach:state.projectInfo.attach,
|
||||
};
|
||||
console.log("obj======",obj);
|
||||
api
|
||||
.templateEdit(obj)
|
||||
.then((res) => {
|
||||
@@ -1108,6 +1116,51 @@ export default defineComponent({
|
||||
console.log("获取项目积分规则失败了", err);
|
||||
});
|
||||
};
|
||||
const handleChange2 = ({ file, fileList }) => {
|
||||
let list = [];
|
||||
if (file.status !== "uploading") {
|
||||
console.log("上传的list", fileList);
|
||||
console.log(file);
|
||||
list = state.fileList;
|
||||
console.log("list", list);
|
||||
let str = JSON.stringify(list);
|
||||
console.log("str", str);
|
||||
//要编辑项目
|
||||
api
|
||||
.templateEdit({
|
||||
name: state.projectInfo.name,
|
||||
category: state.projectInfo.category,
|
||||
picUrl: state.projectInfo.picUrl,
|
||||
beginTime: new Date(state.projectInfo.beginTime).getTime(),
|
||||
endTime: new Date(state.projectInfo.endTime).getTime(),
|
||||
manager: state.projectInfo.manager,
|
||||
managerId: state.projectInfo.managerId || 0,
|
||||
sourceBelongId: state.projectInfo.sourceBelongId,
|
||||
level: state.projectInfo.level,
|
||||
systemId: state.projectInfo.systemId,
|
||||
boeFlag: state.projectInfo.boeFlag ? 1 : 0,
|
||||
courseSyncFlag: state.projectInfo.courseSyncFlag ? 1 : 0,
|
||||
notice: state.projectInfo.notice,
|
||||
noticeFlag: state.projectInfo.noticeFlag,
|
||||
projectTemplateId: localStorage.getItem("projectTemplateId"),
|
||||
remark: state.projectInfo.remark,
|
||||
status: state.projectInfo.status,
|
||||
attach:str,
|
||||
})
|
||||
.then((res) => {
|
||||
console.log("上传成功", res);
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log("上传失败了", err);
|
||||
});
|
||||
}
|
||||
|
||||
if (file.status === "done") {
|
||||
message.success(`${file.name} 文件上传成功`);
|
||||
} else if (file.status === "error") {
|
||||
message.error(`${file.name} 文件上传失败.`);
|
||||
}
|
||||
};
|
||||
//设置积分规则
|
||||
const editRule = () => {
|
||||
let obj = {
|
||||
@@ -1186,6 +1239,7 @@ export default defineComponent({
|
||||
toEdit,
|
||||
getScoreRule,
|
||||
editRule,
|
||||
handleChange2,
|
||||
scoresum,
|
||||
};
|
||||
},
|
||||
@@ -1258,6 +1312,427 @@ export default defineComponent({
|
||||
}
|
||||
}
|
||||
}
|
||||
.sametab {
|
||||
// margin-left: 30px;
|
||||
// margin-right: 30px;
|
||||
margin-top: 30px;
|
||||
width: 100%;
|
||||
// background-color: green;
|
||||
.Gcon {
|
||||
display: flex;
|
||||
.pad {
|
||||
height: 100%;
|
||||
width: 40px;
|
||||
}
|
||||
.Gin {
|
||||
// background-color: #bfa;
|
||||
margin-top: 30px;
|
||||
.headone {
|
||||
// background-color: red;
|
||||
display: flex;
|
||||
text-align: center;
|
||||
.box {
|
||||
width: 4px;
|
||||
height: 20px;
|
||||
background-color: #409eff;
|
||||
border-radius: 2px;
|
||||
}
|
||||
.onetitle {
|
||||
margin-left: 15px;
|
||||
color: #333333;
|
||||
font-size: 14px;
|
||||
}
|
||||
.oneedi {
|
||||
margin-left: 15px;
|
||||
color: #4ea6ff;
|
||||
cursor: pointer;
|
||||
}
|
||||
.twobtn {
|
||||
display: flex;
|
||||
.btnone {
|
||||
width: 42px;
|
||||
height: 24px;
|
||||
border: 1px solid rgba(64, 158, 255, 1);
|
||||
border-radius: 4px;
|
||||
color: rgba(64, 158, 255, 1);
|
||||
margin-left: 20px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.btntwo {
|
||||
width: 42px;
|
||||
height: 24px;
|
||||
border: 1px solid rgba(64, 158, 255, 1);
|
||||
border-radius: 4px;
|
||||
color: #ffffff;
|
||||
margin-left: 20px;
|
||||
background: #409eff;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
}
|
||||
.btnbox {
|
||||
.ant-upload-list {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
.onemain {
|
||||
margin-top: 20px;
|
||||
margin-left: 55px;
|
||||
color: #6f6f6f;
|
||||
font-size: 14px;
|
||||
.checkcon {
|
||||
position: relative;
|
||||
.in {
|
||||
position: absolute;
|
||||
// margin-top: 10px;
|
||||
left: 0;
|
||||
top: 3px;
|
||||
}
|
||||
.yulan {
|
||||
// color: yellow;
|
||||
margin-left: 22px;
|
||||
// display: inline-block;
|
||||
}
|
||||
.yulan2 {
|
||||
margin-left: 22px;
|
||||
}
|
||||
.ant-input-number {
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
margin: 10px;
|
||||
border-radius: 4px;
|
||||
border: 1px solid #6d7584;
|
||||
.ant-input-number-input {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
font-size: 14px;
|
||||
padding: 0;
|
||||
color: #409eff;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.twomain {
|
||||
margin-left: 20px;
|
||||
margin-top: 20px;
|
||||
.ant-switch-checked {
|
||||
background-color: #5dc988;
|
||||
}
|
||||
.info {
|
||||
margin-left: 10px;
|
||||
color: #6f6f6f;
|
||||
font-size: 14px;
|
||||
// margin-top: 10px;
|
||||
}
|
||||
.infor {
|
||||
margin-left: 38px;
|
||||
margin-top: 10px;
|
||||
color: #c7cbd2;
|
||||
font-size: 14px;
|
||||
}
|
||||
.chooseshow {
|
||||
// background-color: red;
|
||||
margin-left: 38px;
|
||||
margin-top: 12px;
|
||||
.fane {
|
||||
color: #6f6f6f;
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
.choo {
|
||||
display: none;
|
||||
}
|
||||
.btm {
|
||||
margin-left: 38px;
|
||||
margin-top: 20px;
|
||||
.bmo {
|
||||
color: #6f6f6f;
|
||||
font-size: 14px;
|
||||
}
|
||||
.bmt {
|
||||
color: #c7cbd2;
|
||||
font-size: 14px;
|
||||
margin-top: 3px;
|
||||
}
|
||||
.chosecon {
|
||||
display: flex;
|
||||
margin-top: 6px;
|
||||
margin-bottom: 20px;
|
||||
.chose {
|
||||
position: relative;
|
||||
.inl {
|
||||
position: absolute;
|
||||
top: 2px;
|
||||
}
|
||||
.sh {
|
||||
margin-left: 23px;
|
||||
color: #6f6f6f;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.Lhead {
|
||||
display: flex;
|
||||
.btns {
|
||||
display: flex;
|
||||
margin-left: 20px;
|
||||
// flex-wrap: wrap;
|
||||
.btn {
|
||||
padding: 0px 26px 0px 26px;
|
||||
height: 38px;
|
||||
background: rgba(64, 158, 255, 0);
|
||||
border-radius: 8px;
|
||||
border: 1px solid rgba(64, 158, 255, 1);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-right: 14px;
|
||||
flex-shrink: 0;
|
||||
cursor: pointer;
|
||||
.search {
|
||||
background-size: 100%;
|
||||
}
|
||||
.btnText {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: rgba(64, 158, 255, 1);
|
||||
line-height: 36px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
}
|
||||
.btn1 {
|
||||
.search {
|
||||
width: 15px;
|
||||
height: 17px;
|
||||
background-image: url("../../assets/images/courseManage/search1.png");
|
||||
}
|
||||
}
|
||||
.btn2 {
|
||||
.search {
|
||||
width: 16px;
|
||||
height: 18px;
|
||||
background-image: url("../../assets/images/courseManage/reset1.png");
|
||||
}
|
||||
}
|
||||
.btn3 {
|
||||
margin-right: 0px;
|
||||
.search {
|
||||
width: 17px;
|
||||
height: 18px;
|
||||
background-image: url("../../assets/images/courseManage/add1.png");
|
||||
}
|
||||
}
|
||||
.btn1:hover {
|
||||
background: rgba(64, 158, 255, 1);
|
||||
.search {
|
||||
background-image: url("../../assets/images/courseManage/search0.png");
|
||||
}
|
||||
.btnText {
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
.btn2:hover {
|
||||
background: rgba(64, 158, 255, 1);
|
||||
.search {
|
||||
background-image: url("../../assets/images/courseManage/reset0.png");
|
||||
}
|
||||
.btnText {
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
.btn3:hover {
|
||||
background: rgba(64, 158, 255, 1);
|
||||
.search {
|
||||
background-image: url("../../assets/images/courseManage/add0.png");
|
||||
}
|
||||
.btnText {
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.Lbom {
|
||||
position: relative;
|
||||
margin-bottom: 20px;
|
||||
.item {
|
||||
width: 100%;
|
||||
height: 200px;
|
||||
// background-color: green;
|
||||
margin-top: 40px;
|
||||
border-radius: 8px;
|
||||
border: 1px solid #f0f4fe;
|
||||
.itemhead {
|
||||
height: 50px;
|
||||
width: 100%;
|
||||
background-color: #f0f4fe;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
.lev {
|
||||
margin-left: 27px;
|
||||
margin-right: 16px;
|
||||
line-height: 100%;
|
||||
color: #409eff;
|
||||
font-size: 16px;
|
||||
}
|
||||
.lin {
|
||||
width: 1px;
|
||||
height: 35%;
|
||||
background-color: #c7cbd2;
|
||||
}
|
||||
.nam {
|
||||
margin-left: 16px;
|
||||
color: #4f5156;
|
||||
line-height: 100%;
|
||||
font-size: 16px;
|
||||
}
|
||||
.count {
|
||||
position: absolute;
|
||||
line-height: 100%;
|
||||
color: #4f5156;
|
||||
font-size: 14px;
|
||||
right: 40px;
|
||||
span:nth-child(2) {
|
||||
color: #63ca8c;
|
||||
}
|
||||
}
|
||||
}
|
||||
.itembomm {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 150px;
|
||||
.it {
|
||||
// margin-left: 110px;
|
||||
// margin-right: 110px;
|
||||
width: 13%;
|
||||
text-align: center;
|
||||
.on {
|
||||
font-size: 30px;
|
||||
}
|
||||
.ittext {
|
||||
color: #4f5156;
|
||||
margin-top: 16px;
|
||||
margin-left: -5px;
|
||||
}
|
||||
}
|
||||
.linee {
|
||||
background-color: #ecf2fb;
|
||||
width: 1px;
|
||||
height: 55%;
|
||||
}
|
||||
.itright {
|
||||
position: absolute;
|
||||
right: 45px;
|
||||
display: flex;
|
||||
.te {
|
||||
color: #4ea6ff;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.more {
|
||||
position: relative;
|
||||
height: 30px;
|
||||
display: flex;
|
||||
.moreArrow {
|
||||
width: 13px;
|
||||
height: 7px;
|
||||
display: inline-block;
|
||||
background-image: url("../../assets/images/navtop/down.png");
|
||||
background-size: 100%;
|
||||
margin: 2px;
|
||||
margin-left: 7px;
|
||||
margin-top: 6px;
|
||||
}
|
||||
.moreItems {
|
||||
width: 80px;
|
||||
height: 70px;
|
||||
display: none;
|
||||
background: #ffffff;
|
||||
box-shadow: 2px 3px 9px 3px rgba(0, 0, 0, 0.05);
|
||||
border-radius: 3px;
|
||||
border: 0px solid #dcdcdc;
|
||||
position: absolute;
|
||||
left: 0px;
|
||||
top: 20px;
|
||||
z-index: 100;
|
||||
.roleItem {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: rgba(79, 81, 86, 1);
|
||||
line-height: 36px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
.roleItem:hover {
|
||||
color: #4ea6ff;
|
||||
}
|
||||
}
|
||||
}
|
||||
.more:hover .moreArrow {
|
||||
background-image: url("../../assets/images/navtop/up.png");
|
||||
}
|
||||
.more:hover .moreItems {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.show {
|
||||
color: blue;
|
||||
}
|
||||
.noshow {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.create {
|
||||
margin-top: 40px;
|
||||
.taskbox {
|
||||
width: 412px;
|
||||
height: 160px;
|
||||
border-radius: 10px;
|
||||
position: relative;
|
||||
// margin-left: 68px;
|
||||
margin-bottom: 40px;
|
||||
cursor: pointer;
|
||||
.leftt {
|
||||
position: absolute;
|
||||
top: 18px;
|
||||
left: 0;
|
||||
}
|
||||
.photo {
|
||||
position: absolute;
|
||||
top: 42px;
|
||||
left: 37px;
|
||||
}
|
||||
.rightt {
|
||||
position: absolute;
|
||||
top: 69px;
|
||||
right: 26px;
|
||||
}
|
||||
.centerbox {
|
||||
position: absolute;
|
||||
top: 52px;
|
||||
left: 145px;
|
||||
font-size: 20px;
|
||||
font-weight: 700;
|
||||
//line-height: 36px;
|
||||
}
|
||||
.centermain {
|
||||
color: rgba(135, 139, 146, 1);
|
||||
font-size: 14px;
|
||||
position: absolute;
|
||||
left: 144px;
|
||||
bottom: 49px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.editBtn {
|
||||
float: right;
|
||||
margin-right: 150px;
|
||||
|
||||
Reference in New Issue
Block a user