mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-13 12:56:45 +08:00
已审核已发布项目不可编辑
This commit is contained in:
@@ -282,4 +282,28 @@ function submitCall(flag) {
|
|||||||
border-right: 1px solid #e9e9e9;
|
border-right: 1px solid #e9e9e9;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
.cus-btn {
|
||||||
|
width: 100%;
|
||||||
|
height: 40px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
margin-right: 16px;
|
||||||
|
border: 1px solid #4ea6ff;
|
||||||
|
border-radius: 8px;
|
||||||
|
background: #4ea6ff;
|
||||||
|
cursor: pointer;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.white {
|
||||||
|
background: #fff;
|
||||||
|
color: #4ea6ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cus-input {
|
||||||
|
height: 40px;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
@@ -2218,9 +2218,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="aeLoading" :style="{ display: addLoading ? 'flex' : 'none' }">
|
|
||||||
<a-spin :spinning="addLoading" tip="" />
|
|
||||||
</div>
|
|
||||||
</a-modal>
|
</a-modal>
|
||||||
<!--新建开课页面 -->
|
<!--新建开课页面 -->
|
||||||
<!--开课学员管理页面 -->
|
<!--开课学员管理页面 -->
|
||||||
@@ -3415,21 +3413,21 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
title: "加入方式",
|
// title: "加入方式",
|
||||||
width: "10%",
|
// width: "10%",
|
||||||
dataIndex: "join",
|
// dataIndex: "join",
|
||||||
key: "6",
|
// key: "6",
|
||||||
align: "center",
|
// align: "center",
|
||||||
customRender: ({ record }) => {
|
// customRender: ({ record }) => {
|
||||||
switch (String(record.source)) {
|
// switch (String(record.source)) {
|
||||||
case "1":
|
// case "1":
|
||||||
return "手动加入";
|
// return "手动加入";
|
||||||
case "2":
|
// case "2":
|
||||||
return "报名加入";
|
// // return "报名加入";
|
||||||
}
|
// }
|
||||||
},
|
// },
|
||||||
},
|
// },
|
||||||
// {
|
// {
|
||||||
// title: "签到状态",
|
// title: "签到状态",
|
||||||
// width: '10%',
|
// width: '10%',
|
||||||
@@ -4844,7 +4842,7 @@ export default defineComponent({
|
|||||||
};
|
};
|
||||||
//保存开课
|
//保存开课
|
||||||
const handleSureStu = () => {
|
const handleSureStu = () => {
|
||||||
state.addLoading = true;
|
|
||||||
let startTime,
|
let startTime,
|
||||||
endTime = 0;
|
endTime = 0;
|
||||||
if (state.xjkkinputV3) {
|
if (state.xjkkinputV3) {
|
||||||
@@ -4886,17 +4884,19 @@ export default defineComponent({
|
|||||||
message.destroy();
|
message.destroy();
|
||||||
return message.error("请输入必填项");
|
return message.error("请输入必填项");
|
||||||
} else {
|
} else {
|
||||||
state.addLoading = true;
|
|
||||||
console.log("state.addLoading ", state.addLoading);
|
console.log("state.addLoading ", state.addLoading);
|
||||||
}
|
}
|
||||||
|
state.addLoading = true;
|
||||||
editPlan(postData).then((res) => {
|
editPlan(postData).then((res) => {
|
||||||
if (res.data.code === 200) {
|
if (res.data.code === 200) {
|
||||||
getTableDate3();
|
getTableDate3();
|
||||||
handleCancelStu();
|
handleCancelStu();
|
||||||
rest();
|
rest();
|
||||||
}
|
}
|
||||||
});
|
|
||||||
state.addLoading = false;
|
state.addLoading = false;
|
||||||
|
});
|
||||||
|
|
||||||
};
|
};
|
||||||
//编辑开课
|
//编辑开课
|
||||||
const handelEditStu = async (itm) => {
|
const handelEditStu = async (itm) => {
|
||||||
@@ -8127,183 +8127,9 @@ export default defineComponent({
|
|||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
||||||
.i5_left {
|
|
||||||
display: flex;
|
|
||||||
|
|
||||||
.select {
|
|
||||||
margin-right: 20px;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addTimeBox {
|
|
||||||
position: relative;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
|
|
||||||
.addTime {
|
|
||||||
position: absolute;
|
|
||||||
z-index: 10;
|
|
||||||
margin-left: 10px;
|
|
||||||
color: rgba(0, 0, 0, 0.4);
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-picker {
|
|
||||||
padding-left: 85px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-picker-range .ant-picker-active-bar {
|
|
||||||
margin-left: 85px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn {
|
|
||||||
padding: 0px 26px 0px 26px;
|
|
||||||
height: 38px;
|
|
||||||
background: #4ea6ff;
|
|
||||||
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: #ffffff;
|
|
||||||
line-height: 36px;
|
|
||||||
margin-left: 5px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.btnn {
|
|
||||||
padding: 0px 26px 0px 26px;
|
|
||||||
height: 38px;
|
|
||||||
background: #ffffff;
|
|
||||||
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: #4ea6ff;
|
|
||||||
line-height: 36px;
|
|
||||||
margin-left: 5px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn1 {
|
|
||||||
.search {
|
|
||||||
width: 15px;
|
|
||||||
height: 17px;
|
|
||||||
background-image: url("../../assets/images/courseManage/search0.png");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn2 {
|
|
||||||
.search {
|
|
||||||
width: 16px;
|
|
||||||
height: 18px;
|
|
||||||
background-image: url("../../assets/images/courseManage/reset1.png");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn1:hover {
|
|
||||||
background: rgba(64, 158, 255, 0.76);
|
|
||||||
|
|
||||||
.search {
|
|
||||||
background-image: url("../../assets/images/courseManage/search0.png");
|
|
||||||
}
|
|
||||||
|
|
||||||
.btnText {
|
|
||||||
color: #ffffff;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn1:active {
|
|
||||||
background: #0982ff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn2:hover {
|
|
||||||
background: rgba(64, 158, 255, 0.1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn2:active {
|
|
||||||
background: rgba(64, 158, 255, 0.2);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.btns {
|
|
||||||
display: flex;
|
|
||||||
// flex-wrap: wrap;
|
|
||||||
.btn {
|
|
||||||
padding: 0px 26px 0px 26px;
|
|
||||||
height: 38px;
|
|
||||||
background: #4ea6ff;
|
|
||||||
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: #ffffff;
|
|
||||||
line-height: 36px;
|
|
||||||
margin-left: 5px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn3 {
|
|
||||||
margin-right: 0px;
|
|
||||||
|
|
||||||
.search {
|
|
||||||
width: 17px;
|
|
||||||
height: 18px;
|
|
||||||
background-image: url("../../assets/images/courseManage/add0.png");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn3:hover {
|
|
||||||
background: rgba(64, 158, 255, 0.76);
|
|
||||||
|
|
||||||
.search {
|
|
||||||
background-image: url("../../assets/images/courseManage/add0.png");
|
|
||||||
}
|
|
||||||
|
|
||||||
.btnText {
|
|
||||||
color: #ffffff;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn3:active {
|
|
||||||
background: #0982ff;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.stmm_i6 {
|
.stmm_i6 {
|
||||||
@@ -8643,29 +8469,7 @@ export default defineComponent({
|
|||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cus-btn {
|
|
||||||
width: 100%;
|
|
||||||
height: 40px;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
margin-right: 16px;
|
|
||||||
border: 1px solid #4ea6ff;
|
|
||||||
border-radius: 8px;
|
|
||||||
background: #4ea6ff;
|
|
||||||
cursor: pointer;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.white {
|
|
||||||
background: #fff;
|
|
||||||
color: #4ea6ff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cus-input {
|
|
||||||
height: 40px;
|
|
||||||
border-radius: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
// .tableSelect {
|
// .tableSelect {
|
||||||
// position: relative;
|
// position: relative;
|
||||||
|
|||||||
@@ -851,7 +851,7 @@
|
|||||||
<div class="img"></div>
|
<div class="img"></div>
|
||||||
<div class="ed">编辑</div>
|
<div class="ed">编辑</div>
|
||||||
</div> -->
|
</div> -->
|
||||||
<div class="edit" @click="toEdit">
|
<div class="edit" v-if="status!=3 && status!=2" @click="toEdit">
|
||||||
<div class="img"></div>
|
<div class="img"></div>
|
||||||
<div class="ed">编辑</div>
|
<div class="ed">编辑</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -1442,14 +1442,7 @@
|
|||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="modalHeader"
|
class="modalHeader"
|
||||||
style="
|
style="width: 100%;height: 68px;display: flex;align-items: center; justify-content: space-between; ">
|
||||||
width: 100%;
|
|
||||||
height: 68px;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<div class="headerLeft" style="margin-left: 32px">
|
<div class="headerLeft" style="margin-left: 32px">
|
||||||
<span style="width: 15px; height: 15px"
|
<span style="width: 15px; height: 15px"
|
||||||
><img src="../../assets/images/taskpage/pub.png"
|
><img src="../../assets/images/taskpage/pub.png"
|
||||||
|
|||||||
@@ -912,10 +912,10 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="del_btnbox">
|
<div class="del_btnbox">
|
||||||
<div class="del_btn btn1">
|
<div class="del_btn btn1">
|
||||||
<div class="btnText" @click="delete_exit">取消</div>
|
<div class="btnText" @click="closeCancel">取消</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="del_btn btn2">
|
<div class="del_btn btn2">
|
||||||
<div class="btnText" @click="showModal">确定</div>
|
<div class="btnText" @click="removeAllLevel">确定</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -1626,7 +1626,36 @@ export default {
|
|||||||
console.log("获取任务列表失败", err);
|
console.log("获取任务列表失败", err);
|
||||||
});
|
});
|
||||||
};*/
|
};*/
|
||||||
|
// 删除所有阶段
|
||||||
|
const removeAllLevel = () => {
|
||||||
|
// state.cancelModal = false;
|
||||||
|
console.log(state.level);
|
||||||
|
let removeArr = state.level;
|
||||||
|
for (let i = 0; i < removeArr.length; i++) {
|
||||||
|
|
||||||
|
api
|
||||||
|
.deleteStage(removeArr[i].id)
|
||||||
|
.then((res) => {
|
||||||
|
console.log("删除阶段成功", res);
|
||||||
|
if (removeArr.length - 1 == i) {
|
||||||
|
message.destroy();
|
||||||
|
message.success("删除全部阶段成功");
|
||||||
|
closeDeleteStage();
|
||||||
|
localStorage.setItem("stageId", "");
|
||||||
|
getTask();
|
||||||
|
state.cancelModal = false;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
if (removeArr.length - 1 == i) {
|
||||||
|
console.log("删除阶段失败", err);
|
||||||
|
message.destroy();
|
||||||
|
message.success("删除全部阶段失败");
|
||||||
|
state.cancelModal = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
//获取任务列表
|
//获取任务列表
|
||||||
const getTask = async () => {
|
const getTask = async () => {
|
||||||
await api
|
await api
|
||||||
@@ -2161,6 +2190,7 @@ export default {
|
|||||||
getTableData,
|
getTableData,
|
||||||
deleteTask,
|
deleteTask,
|
||||||
editStage,
|
editStage,
|
||||||
|
removeAllLevel,
|
||||||
updateTableData,
|
updateTableData,
|
||||||
changeVData,
|
changeVData,
|
||||||
changeRow,
|
changeRow,
|
||||||
|
|||||||
@@ -171,7 +171,8 @@
|
|||||||
<div class="btnText" @click="handleCancelModal">取消</div>
|
<div class="btnText" @click="handleCancelModal">取消</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="del_btn btn2">
|
<div class="del_btn btn2">
|
||||||
<div class="btnText" @click="handleSure">确定</div>
|
<div class="btnText" v-if="!addLoading" @click="handleSure">确定</div>
|
||||||
|
<div class="btnText" v-else>确定</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -670,6 +671,7 @@ export default {
|
|||||||
state.copy_hs = true;
|
state.copy_hs = true;
|
||||||
};
|
};
|
||||||
const handleSure = () => {
|
const handleSure = () => {
|
||||||
|
|
||||||
// 发布
|
// 发布
|
||||||
if (state.pub_hs) {
|
if (state.pub_hs) {
|
||||||
editReleaseStatus({
|
editReleaseStatus({
|
||||||
@@ -715,11 +717,13 @@ export default {
|
|||||||
}
|
}
|
||||||
// 复制
|
// 复制
|
||||||
if (state.copy_hs) {
|
if (state.copy_hs) {
|
||||||
|
state.addLoading = true;
|
||||||
let resultPost = restData(state.copyItem);
|
let resultPost = restData(state.copyItem);
|
||||||
resultPost.assessmentName = resultPost.assessmentName + "(1)";
|
resultPost.assessmentName = resultPost.assessmentName + "(1)";
|
||||||
console.log("resultPost");
|
console.log("resultPost");
|
||||||
console.log(resultPost);
|
console.log(resultPost);
|
||||||
createResearch(resultPost).then((res) => {
|
createResearch(resultPost).then((res) => {
|
||||||
|
state.addLoading =false;
|
||||||
console.log(res);
|
console.log(res);
|
||||||
handleCancelModal();
|
handleCancelModal();
|
||||||
getTableDate();
|
getTableDate();
|
||||||
|
|||||||
Reference in New Issue
Block a user