feat:合并

This commit is contained in:
lixg
2022-11-25 15:14:25 +08:00
26 changed files with 1131 additions and 491 deletions

View File

@@ -34,7 +34,7 @@ http.interceptors.request.use(
// 此处测试默认配置token
config.headers.token = "123456";
// config.headers.token = "eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC91LmJvZS5jb20iLCJpYXQiOjE2NjkyMTE4MzMsImV4cCI6MTY2OTIxOTAzMywiR2l2ZW5OYW1lIjoiYm9ldSIsInVzZXJJZCI6IjZCMDQ5RkFGLUMzMTQtN0NDRi0wRDI4LTBEMjNGNEM0MjUzMSIsInVJZCI6Ijk2NTM0MjAyNzQ5NzYwNzE2OCIsInBlcm1pc3Npb24iOiIifQ==.40067eca3be5d50857448005a673cbe1a48f560ff8e9c7aea4e7ff12f59c7962";
// config.headers.token = "eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC91LmJvZS5jb20iLCJpYXQiOjE2NjkzMDA4MDksImV4cCI6MTY2OTMwODAwOSwiR2l2ZW5OYW1lIjoiYm9ldSIsInVzZXJJZCI6IjZCMDQ5RkFGLUMzMTQtN0NDRi0wRDI4LTBEMjNGNEM0MjUzMSIsInVJZCI6Ijk2NTM0MjAyNzQ5NzYwNzE2OCIsInBlcm1pc3Npb24iOiIifQ==.bb3e0e031513761003d5c3bfeaf16e364bdf8fe7bc4cf691a05a74dc454afbfb";
}
return config;
},

View File

@@ -32,7 +32,7 @@
</div>
</div>
<div class="mi_btns">
<div class="btn btn1">
<div class="btn btn1" @click="getAllCaseText">
<div class="search"></div>
<div class="btnText">搜索</div>
</div>
@@ -149,6 +149,8 @@ export default {
ctx.emit("update:edit", false);
localStorage.setItem("stageId", props.chooseStageId);
localStorage.setItem("chapterId", props.isactive);
state.inputV1=""
state.selectedRowKeys=[]
};
const afterVisibleChange = (bol) => {
if ( bol == true ) {
@@ -189,7 +191,6 @@ export default {
}
state.selectedRowKeys = selectedRowKeys;
state.apiTaskList = selectedRows;
console.log('-------------%o-%o',state.apiTaskList, state.apiTaskList.length);
};
const handelChangePage = (page, pageSize) => {
state.currentPage = page;
@@ -206,19 +207,19 @@ export default {
authorName:value.authorName,
companyId:value.companyId,
coverUrl:value.coverUrl,
caseid:value.id,
id:value.id,
casesId:value.casesId,
title:value.title,
};
array.push(obj);
});
state.tableData = array;
console.log('get下来的数据',state.tableData);
};
//获取全部案例信息接口
const getAllCaseText = () => {
api
.queryCasesDetailList({
"keyWord": "",
"keyWord": state.inputV1,
"orderAsc": true,
"orderField": "",
"pageIndex": 0,
@@ -238,8 +239,8 @@ export default {
for(let i = 0;i < state.apiTaskList.length;i++){
RouterEditTask({
chapterId: props.isactive,
courseId: state.apiTaskList[i].caseid,
name: state.apiTaskList[i].caseName,
courseId: state.apiTaskList[i].casesId,
name: state.apiTaskList[i].title,
routerId: props.routerId,
routerTaskId: props.routerTaskId || 0,
type: 3,
@@ -255,18 +256,16 @@ export default {
});
}
} else if (props.isLevel == 2) {
console.log("state api task list: %o-length: %o", state.apiTaskList, state.apiTaskList.length )
for(let i = 0;i < state.apiTaskList.length;i++){
console.log(state.apiTaskList[i],'state.apiTaskList[i].caseIdstate.apiTaskList[i].caseId');
apiTask
.addTask({
"courseId": state.apiTaskList[i].caseid,
"courseId": state.apiTaskList[i].casesId,
"duration": 0,
"flag": true,
"name": state.apiTaskList[i].caseName,
"name": state.apiTaskList[i].title,
"projectId": props.projectId,
"projectTaskId": props.projectTaskId,
"stageId": props.chooseStageId,
"stageId": Number(props.chooseStageId),
"type": 3,
})
.then(() => {
@@ -281,7 +280,30 @@ export default {
});
}
} else if (props.isLevel == 3) {
console.log("");
for(let i = 0;i < state.apiTaskList.length;i++){
console.log(state.apiTaskList[i],'state.apiTaskList[i].caseIdstate.apiTaskList[i].caseId');
apiTask
.addTask({
"courseId": state.apiTaskList[i].caseid,
"duration": 0,
"flag": true,
"name": state.apiTaskList[i].caseName,
"projectId": props.projectId,
"projectTemplateId": props.projectTemplateId,
"stageId": props.chooseStageId,
"type": 3,
})
.then(() => {
message.destroy()
message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
ctx.emit("changeData", false);
closeDrawer();
})
.catch(() => {
message.destroy()
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
});
}
}
};
//重置案例信息

View File

@@ -201,7 +201,15 @@ export default {
type: 8,
});
} else if (props.isLevel == 3) {
console.log("");
apiTask.addTask({
courseId: res.data.data.discussId,
duration: res.data.data.discussExplain,
name: res.data.data.discussName,
projectId: props.projectId,
projectTaskTemplateId: props.projectTaskTemplateId || 0,
stageId: props.chooseStageId,
type: 8,
});
}
};
const updateDiscussInfo = () => {

View File

@@ -56,6 +56,7 @@
class="tag-style"
v-if="evaluationTypeName != ''"
:closable="true"
@close="delTag"
>{{ evaluationTypeName }}</a-tag
>
</span>
@@ -91,7 +92,7 @@
</div>
<div class="main_btns">
<button class="btn1" @click="closeDrawer">取消</button>
<button class="btn2" @click="createEvalText">确定</button>
<button class="btn2" @click="creoredit">确定</button>
</div>
</div>
<EvList
@@ -149,11 +150,6 @@ export default {
type: Number,
default: null,
},
projectTaskId: {
// 要编辑的projectId
type: Number,
default: null,
},
routerId: {
type: Number,
default: null,
@@ -183,6 +179,10 @@ export default {
ctx.emit("update:addevalVisible", false);
ctx.emit("update:edit", false);
state.inputV1 = "";
state.time= undefined;
state.description="";
state.evaluationTypeId= 0,
state.evaluationTypeName= "",
localStorage.setItem("stageId", props.chooseStageId);
localStorage.setItem("chapterId", props.isactive);
};
@@ -194,6 +194,12 @@ export default {
const showEvalDrawer = () => {
state.EvalListVisible = true;
};
//删除标签要清除子组件传过来的参数
const delTag = ()=> {
state.evaluationTypeId= 0
state.evaluationTypeName= ""
}
//向关卡或阶段渲染
const updateTask = (value) => {
if (props.isLevel == 1) {
RouterEditTask({
@@ -222,14 +228,32 @@ export default {
stageId: props.chooseStageId,
type: 10,
})
.then(( ) => {
message.destroy()
message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
})
.catch(( ) => {
message.destroy()
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
});
} else if (props.isLevel == 3) {
apitaskadd
.addTask({
duration:0,
flag:true,
courseId: Number(value.evaluationId),
name: value.evaluationName,
projectTemplateId: props.projectTemplateId,
projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId,
type: 10,
})
.then(( ) => {
message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
})
.catch(( ) => {
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
});
} else if (props.isLevel == 3) {
console.log("");
}
};
//根据id获取测评信息
@@ -250,9 +274,49 @@ export default {
dayjs(res.data.data.evaluationEndTime, "YYYY-MM-DD"),
];
})
.catch(() => {
.catch((err) => {
message.destroy()
message.error("获取测量平信息失败");
console.log(err,"erererrerererererer");
});
}
const creoredit = ()=> {
if(props.edit){
editInvistText()
}else{
createEvalText()
}
}
const editInvistText = ()=> {
if (!state.inputV1) {
message.destroy();
return message.info("请输入测评名称");
}
if (!state.evaluationTypeId) {
message.destroy();
return message.info("请选择测评");
}
let objei = {
evaluationName: state.inputV1,
evaluationEndTime: dayjs(state.time[1]).format("YYYY-MM-DD"),
evaluationId: props.edit ? Number(props.EditEvalId) : 0,
evaluationStartTime: dayjs(state.time[0]).format("YYYY-MM-DD"),
evaluationTypeId: state.evaluationTypeId,
evaluationTypeName: state.evaluationTypeName,
evaluationFlag: "",
evaluationPictureAddress: "",
evaluationTag: "",
updateTime: "",
}
api
.updateEvaluation(objei)
.then((res) => {
updateTask(res.data.data);
closeDrawer();
ctx.emit("changeData", false);
})
.catch((err) => {
console.log(err,'errrrrrrrrrrrrrrrrrrrrr');
});
}
//创建测评信息
@@ -268,7 +332,7 @@ export default {
let obj = {
evaluationName: state.inputV1,
evaluationEndTime: dayjs(state.time[1]).format("YYYY-MM-DD"),
evaluationId: props.edit ? props.evaluationId : 0,
evaluationId: props.evaluationId ,
evaluationStartTime: dayjs(state.time[0]).format("YYYY-MM-DD"),
evaluationTypeId: state.evaluationTypeId,
evaluationTypeName: state.evaluationTypeName,
@@ -281,12 +345,10 @@ export default {
.createEvaluation(obj)
.then((res) => {
updateTask(res.data.data);
message.success("创建成功");
closeDrawer();
ctx.emit("changeData", false);
})
.catch(() => {
message.error("创建失败");
});
};
@@ -295,9 +357,12 @@ export default {
afterVisibleChange,
checkFinish,
closeDrawer,
delTag,
//增改
creoredit,
createEvalText,
queryInvistById,
editInvistText,
showEvalDrawer,
updateTask,
};

View File

@@ -699,7 +699,26 @@ export default {
message.error(`${props.EditFaceId ? "编辑" : "新增"}阶段任务失败`);
});
} else if (props.isLevel == 3) {
console.log("");
let editObj = {
courseId: res.data.data.offcoursePlanId,
duration: 0,
name: res.data.data.name,
projectTemplateId: props.projecTempaltetId,
projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId,
type: 2,
};
// 新增编辑或新增项目
ProjectEditTask(editObj)
.then(() => {
message.success(
`${props.EditFaceId ? "编辑" : "新增"}阶段任务成功`
);
ctx.emit("changeData", false);
})
.catch(() => {
message.error(`${props.EditFaceId ? "编辑" : "新增"}阶段任务失败`);
});
}
};
const closeTag = () => {

View File

@@ -362,7 +362,23 @@ export default {
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
});
} else if (props.isLevel == 3) {
console.log("");
let editObj = {
courseId: res.data.data.workId,
name: res.data.data.workName,
projectId: props.edit ? props.projectId : 0,
projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId,
type: 4,
};
ProjectEditTask(editObj)
.then(() => {
message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
ctx.emit("changeData", false);
state.addLoading = false;
})
.catch(() => {
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
});
}
};

View File

@@ -29,8 +29,6 @@
>
</div>
<div v-else>
<div v-if="assessment1 == null">
<span class="title"
>已选择 <span class="data">1</span> ;</span
@@ -42,10 +40,12 @@
>题数 <span class="data">{{ assessment.num }}</span>
</span>
<span class="title"
>创建人 <span class="data">{{ assessment.creator }}</span>
>创建人
<span class="data">{{ assessment.creator }}</span>
</span>
<span class="title"
>创建时间 <span class="data">{{ assessment.time }}</span>
>创建时间
<span class="data">{{ assessment.time }}</span>
</span>
</div>
<div v-else>
@@ -53,23 +53,25 @@
>已选择 <span class="data">1</span> ;</span
>
<span class="title"
>名称 <span class="data">{{ assessment1.createName }}</span>
>名称
<span class="data">{{ assessment1.createName }}</span>
</span>
<span class="title"
>题数 <span class="data">{{ assessment1.essayQuestionVoList.length }}</span>
>题数
<span class="data">{{
assessment1.essayQuestionVoList.length
}}</span>
</span>
<span class="title"
>创建人 <span class="data">{{ assessment1.createUser }}</span>
>创建人
<span class="data">{{ assessment1.createUser }}</span>
</span>
<span class="title"
>创建时间 <span class="data">{{ assessment1.createTime }}</span>
>创建时间
<span class="data">{{ assessment1.createTime }}</span>
</span>
</div>
</div>
</div>
</div>
<div class="main_item">
@@ -190,7 +192,6 @@ export default {
state.assessmentName = "";
state.assessment = null;
queryInfo();
};
const queryInfo = () => {
if (props.edit) {
@@ -201,10 +202,8 @@ export default {
.then((res) => {
//更新讨论信息
state.assessment1 = res.data.data;
})
.catch(() => {
});
.catch(() => {});
}
};
const updateTask = () => {
@@ -248,7 +247,23 @@ export default {
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
});
} else if (props.isLevel == 3) {
console.log("");
apiTask
.addTask({
courseId: state.assessment.assessmentId,
name: state.assessment.name,
projectId: props.projectId,
projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId,
type: 11,
})
.then(() => {
message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
ctx.emit("changeData", false);
closeDrawer();
})
.catch(() => {
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
});
}
};

View File

@@ -557,7 +557,23 @@ export default {
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
});
} else if (props.isLevel == 3) {
console.log("");
apiTask
.addTask({
courseId: res.data.data.liveId,
duration: res.data.data.duration,
name: res.data.data.liveName,
projectTemplateId: props.projectTemplateId,
projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId,
type: 6,
})
.then(() => {
message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
ctx.emit("changeData", false);
})
.catch(() => {
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
});
}
};
//创建直播

View File

@@ -328,7 +328,25 @@ export default {
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
});
} else if (props.isLevel == 3) {
console.log("");
apiTask
.addTask({
courseId: state.assessmentId,
name: state.assessmentName,
projectTemplateId: props.projectTemplateId,
projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId,
type: 1,
})
.then(() => {
message.destroy()
message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
ctx.emit("changeData", false);
closeDrawer();
})
.catch(() => {
message.destroy()
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
});
}
};
//重置在线信息

View File

@@ -1,5 +1,4 @@
<template>
<a-drawer
:visible="addprojvisible"
class="drawerStyle addonlineDrawer"
@@ -51,7 +50,6 @@
/>
</div>
</div>
</div>
<div class="mi_btns">
<div class="btn btn1">
@@ -64,12 +62,109 @@
</div>
</div>
</div>
<div class="main_notice" v-if="edit">
<div class="mntc_left">
<div class="notice_icon"></div>
<div v-if="selectedRows.length == 0">
<span class="title"
>已选择
<span class="data" style="color: #4ea6ff">{{ 0 }}</span>
</span
>
</div>
<div v-else>
<div>
<span class="title"
>已选择
<span class="data" style="color: #4ea6ff">{{
selectedRows.length
}}</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span
>
<span class="title"
>名称
<span
class="data"
style="color: #4ea6ff; margin-right: 15px"
>{{ selectedRows[0].name }}</span
>
</span>
<span class="title"
>项目经理
<span
class="data"
style="color: #4ea6ff; margin-right: 15px"
>{{ selectedRows[0].manager }}</span
>
</span>
<span class="title"
>创建人
<span
class="data"
style="color: #4ea6ff; margin-right: 15px"
>{{ selectedRows[0].creater }}</span
>
</span>
<span class="title"
>创建时间
<span class="data" style="color: #4ea6ff">{{
selectedRows[0].time
}}</span>
</span>
</div>
<!-- <div v-else>
<span class="title"
>已选择 <span class="data">1</span> ;</span
>
<span class="title"
>名称
<span class="data">{{ assessment1.createName }}</span>
</span>
<span class="title"
>题数
<span class="data">{{
assessment1.essayQuestionVoList.length
}}</span>
</span>
<span class="title"
>创建人
<span class="data">{{ assessment1.createUser }}</span>
</span>
<span class="title"
>创建时间
<span class="data">{{ assessment1.createTime }}</span>
</span>
</div> -->
</div>
</div>
</div>
<div class="">
<div class="drawerbox">
<!-- 添加的时候显示多选的表 -->
<a-table
v-if="!edit"
:columns="tableDataFunc()"
:data-source="drawertableData"
:row-selection="rowSelection"
:row-selection="{
selectedRowKeys: selectedRowKeys,
onChange: onSelectChange,
}"
:loading="tableDataTotal === -1 ? true : false"
:scroll="{ x: 700 }"
@expand="expandTable"
:pagination="false"
>
</a-table>
<!-- 编辑的时候显示单选的表 -->
<a-table
v-else
:columns="tableDataFunc()"
:data-source="drawertableData"
:row-selection="{
selectedRowKeys: selectedRowKeys,
onChange: onSelectChange,
type: 'radio',
}"
:loading="tableDataTotal === -1 ? true : false"
:scroll="{ x: 700 }"
@expand="expandTable"
@@ -83,16 +178,41 @@
<button @click="closeDrawer" class="btn1">取消</button>
<button @click="updateTaskList" class="btn2">确定</button>
</div>
</div>
<!-- 有重复添加的项目时的弹窗 -->
<a-modal
v-model:visible="sameModal"
:footer="null"
:closable="sameCopy"
wrapClassName="sameModal"
centered="true"
>
<div class="delete">
<div class="del_header"></div>
<div class="del_main">
<div class="header">
<div class="icon"></div>
<span>提示</span>
<div class="close_exit" @click="closeSameModal"></div>
</div>
<div class="body">
<span>项目已存在是否重复添加</span>
</div>
<div class="del_btnbox">
<div class="del_btn btn1" @click="closeSameModal">
<div class="btnText">取消</div>
</div>
<div class="del_btn btn2" @click="sureSameModal">
<div class="btnText">确定</div>
</div>
</div>
</div>
</div>
</a-modal>
</a-drawer>
</template>
<script>
import { reactive, toRefs,ref } from "vue";
import * as apiTask from "../../api/indexTaskadd";
import { reactive, toRefs } from "vue";
import { RouterEditTask } from "@/api/indexTask";
import { message } from "ant-design-vue";
import * as apiProj from "../../api/index.js";
@@ -144,6 +264,11 @@ export default {
type: Number,
default: null,
},
// 路径图里选择的阶段下的任务列表
chooseProjectList: {
type: String,
default: null,
},
},
setup(props, ctx) {
const state = reactive({
@@ -155,101 +280,16 @@ export default {
checkedC1: false,
discussSettings: "",
addLoading: false,
tableData: [
{
key: 1,
parentId:1,
name: '123',
manager:'afssfa',
children:[
{
key: 5,
parentId:1,
name: '123',
manager:'afssfa',
},
]
},
{
key: 2,
parentId:2,
name: '123',
manager:'afssfa',
children:[
{
key: 7,
parentId:1,
name: '123',
manager:'afssfa',
children:[
{
key: 9,
parentId:1,
name: '123',
manager:'afssfa',
},
]
},
]
},
{
key: 3,
parentId:3,
name: '123',
manager:'afssfa',
},
],
sameModal: false,
sameCopy: false,
sameProj: null,
selectedRowKeys: [],
selectedRows: [],
currentPage: 1,
tableDataTotal: 0,
pageSize: 10,
//项目抽屉、列表参数
drawertableData: [
{
key: 1,
parentId:1,
name: '123',
manager:'afssfa',
children:[
{
key: 5,
parentId:1,
name: '123',
manager:'afssfa',
},
]
},
{
key: 2,
parentId:2,
name: '123',
manager:'afssfa',
children:[
{
key: 7,
parentId:1,
name: '123',
manager:'afssfa',
children:[
{
key: 9,
parentId:1,
name: '123',
manager:'afssfa',
},
]
},
]
},
{
key: 3,
parentId:3,
name: '123',
manager:'afssfa',
},
],
drawertableData: [],
});
const tableDataFunc = () => {
@@ -270,7 +310,7 @@ export default {
},
{
title: "创建人",
dataIndex: "creator",
dataIndex: "creater",
key: "creater",
width: 100,
align: "center",
@@ -288,21 +328,22 @@ export default {
const closeDrawer = () => {
ctx.emit("update:addprojvisible", false);
ctx.emit("update:edit", false);
ctx.emit("changeData", false);
state.selectedRows = [];
state.selectedRowKeys = [];
};
const rowSelection =()=> ref({
checkStrictly: false,
onChange: (selectedRowKeys, selectedRows) => {
console.log(`selectedRowKeys: ${selectedRowKeys}`, 'selectedRows: ', selectedRows);
},
onSelect: (record, selected, selectedRows) => {
console.log(record, selected, selectedRows);
},
onSelectAll: (selected, selectedRows, changeRows) => {
console.log(selected, selectedRows, changeRows);
},
});
// const rowSelection =()=> ref({
// checkStrictly: false,
// onChange: (selectedRowKeys, selectedRows) => {
// console.log(`selectedRowKeys: ${selectedRowKeys}`, 'selectedRows: ', selectedRows);
// },
// onSelect: (record, selected, selectedRows) => {
// console.log(record, selected, selectedRows);
// },
// onSelectAll: (selected, selectedRows, changeRows) => {
// console.log(selected, selectedRows, changeRows);
// },
// });
const start = () => {
state.loading = true;
// ajax request after empty completing
@@ -311,31 +352,31 @@ export default {
state.selectedRowKeys = [];
}, 1000);
};
const onSelectChange =(selectedRowKeys,selectedRows) => {
console.log('selectedRowKeys changed: ', selectedRowKeys);
state.selectedRowKeys = selectedRowKeys;
this.selectedRows=selectedRows;
};
// const onSelectChange = (selectedRowKeys, selectedRows) => {
// console.log("selectedRowKeys changed: ", selectedRowKeys);
// state.selectedRowKeys = selectedRowKeys;
// this.selectedRows = selectedRows;
// };
const searchProjectList = () => {
getAllProjText();
}
};
const resetProjectList = () => {
state.inputV1 = "";
state.inputV2 = "";
state.inputV1 = "";
getAllProjText();
}
};
//获取全部项目信息接口
const getAllProjText = () => {
apiProj
.getProjectList({
"createName": state.inputV1,
"manager": state.inputV2,
"name":state.inputV3,
createName: state.inputV1,
manager: state.inputV2,
name: state.inputV3,
pageNo: state.currentPage,
pageSize: state.pageSize,
"status": state.status
status: state.status,
})
.then((res) => {
let arr = res.data.data.rows;
@@ -344,12 +385,12 @@ export default {
}
})
.catch(() => {
message.destroy()
message.error("获取全部项目信息接口失败")
message.destroy();
message.error("获取全部项目信息接口失败");
});
};
const afterVisibleChange = (bool) => {
console.log("哈哈,我进来了")
console.log("哈哈,我进来了");
if (bool) {
getAllProjText();
}
@@ -361,7 +402,7 @@ export default {
getAllProjText();
};
const getTableDate = (data) => {
let array = []
let array = [];
data.map((value) => {
if (value.type == 3) {
let obj = {
@@ -371,10 +412,10 @@ export default {
name: value.name,
manager: value.manager,
time: dayjs(value.createTime).format("YYYY-MM-DD"),
}
array.push(obj)
}
else {
creater: value.createName,
};
array.push(obj);
} else {
let obj = {
key: value.projectId,
parentId: value.parentId,
@@ -382,28 +423,50 @@ export default {
manager: value.manager,
time: dayjs(value.createTime).format("YYYY-MM-DD"),
children: value.subList ? getTableDate(value.subList) : [],
};
array.push(obj);
}
array.push(obj)
}
})
return array
});
return array;
};
//项目抽屉用的
const updateTaskList = () => {
//const resultArr = [];
state.selectedRows.forEach((item) => {
let origin = JSON.parse(props.chooseProjectList);
console.log("ccxx", origin);
if (origin.length == 0) {
//可以直接添加到任务列表里
updateTask(item);
closeDrawer();
} else {
//需要先判断是否含有之前的
//根据courseId判断
let re = origin.filter((it) => {
return it.courseId == item.key;
});
console.log("re", re);
if (re.length == 0) {
updateTask(item);
} else {
state.sameProj = item;
//询问是否重复添加
showSameModal();
}
}
});
};
const updateTask = (res) => {
if (props.isLevel == 1) {
RouterEditTask({
chapterId: props.isactive,
courseId: 0,
name: res.data.data.discussName,
courseId: res.key,
name: res.name,
routerId: props.routerId,
routerTaskId: props.routerTaskId || 0,
type: 8,
type: 13,
})
.then(() => {
message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
@@ -411,21 +474,31 @@ export default {
.catch(() => {
message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`);
});
} else if (props.isLevel == 2) {
apiTask.addTask({
courseId: res.data.data.discussId,
duration: res.data.data.discussExplain,
name: res.data.data.discussName,
projectId: props.projectId,
projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId,
type: 8,
});
} else if (props.isLevel == 3) {
console.log("");
}
};
const onSelectChange = (selectedRowKeys, selectRow) => {
console.log("selectedRowKeys changed: ", selectedRowKeys, selectRow);
state.selectedRowKeys = selectedRowKeys;
state.selectedRows = selectRow;
};
const showSameModal = () => {
state.sameModal = true;
};
const closeSameModal = () => {
state.sameProj = null;
state.sameModal = false;
};
const sureSameModal = () => {
// updateTask(state.sameProj);
state.selectedRows.forEach((item) => {
updateTask(item);
});
state.sameProj = null;
state.sameModal = false;
closeDrawer();
ctx.emit("changeData", false);
};
return {
...toRefs(state),
afterVisibleChange,
@@ -439,8 +512,9 @@ export default {
searchProjectList,
resetProjectList,
handelChangePage,
rowSelection,
showSameModal,
closeSameModal,
sureSameModal,
};
},
};
@@ -449,8 +523,149 @@ export default {
.ant-table-striped :deep(.table-striped) td {
background-color: #fafafa !important;
}
.sameModal {
.ant-modal {
width: 424px !important;
height: 258px !important;
.ant-modal-content {
width: 424px !important;
height: 258px !important;
.ant-modal-body {
width: 424px !important;
height: 258px !important;
padding: 0 !important;
.delete {
z-index: 999;
width: 424px;
height: 258px;
background: #ffffff;
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.21);
border-radius: 4px;
// position: absolute;
// left: 50%;
// top: 10%;
// transform: translate(-50%, -50%);
.del_header {
position: absolute;
width: calc(100%);
height: 68px;
background: linear-gradient(
rgba(78, 166, 255, 0.2) 0%,
rgba(78, 166, 255, 0) 100%
);
}
.del_main {
width: 100%;
position: relative;
.header {
display: flex;
align-items: center;
padding-top: 20px;
padding-left: 26px;
font-size: 16px;
.icon {
width: 16px;
height: 16px;
margin-right: 10px;
background-image: url(@/assets/images/taskpage/gan.png);
background-size: 100% 100%;
}
.close_exit {
position: absolute;
right: 42px;
cursor: pointer;
width: 20px;
height: 20px;
background-image: url(@/assets/images/coursewareManage/close.png);
background-size: 100% 100%;
}
}
.body {
width: 100%;
margin: 34px auto 56px auto;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
// background-color: red;
position: relative;
.back {
position: absolute;
top: 30px;
font-size: 12px;
font-weight: 400;
color: #666666;
}
}
.del_btnbox {
display: flex;
margin: 30px auto;
justify-content: center;
.del_btn {
width: 100px;
height: 40px;
background: rgba(64, 158, 255, 0);
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
cursor: pointer;
.btnText {
font-size: 14px;
font-weight: 400;
line-height: 40px;
}
}
.btn1 {
border: 1px solid rgba(64, 158, 255, 1);
color: #4ea6ff;
margin-right: 14px;
}
.btn2 {
background-color: #4ea6ff;
color: #ffffff;
}
}
}
}
}
}
}
}
.addrefDrawer {
.drawerMain {
// .main_notice {
// display: flex;
// justify-content: space-between;
// align-items: center;
// margin-bottom: 32px;
// height: 40px;
// background-color: #e9f6fe;
// .mntc_left {
// display: flex;
// align-items: center;
// .title {
// color: rgba(0, 0, 0, 0.65);
// margin-right: 17px;
// }
// .data {
// color: #388be1;
// }
// .notice_icon {
// width: 14px;
// height: 14px;
// margin-right: 9px;
// margin-left: 9px;
// background-image: url(@/assets/images/coursewareManage/gan.png);
// background-size: 100% 100%;
// }
// }
// .mntc_right {
// cursor: pointer;
// }
// }
.header {
height: 73px;
border-bottom: 1px solid #e8e8e8;

View File

@@ -210,7 +210,23 @@ export default {
message.error(`${props.EditTestId ? "编辑" : "新增"}阶段任务失败`);
});
} else if (props.isLevel == 3) {
console.log("");
apiTask
.addTask({
courseId: res.data.data.linkId,
name: res.data.data.linkName,
projectTempalteId: props.projectTemplateId,
projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId,
type: 7,
})
.then(() => {
message.success(`${props.EditTestId ? "编辑" : "新增"}阶段任务成功`);
ctx.emit("changeData", false);
closeDrawer();
})
.catch(() => {
message.error(`${props.EditTestId ? "编辑" : "新增"}阶段任务失败`);
});
}
};
//创建外链

View File

@@ -717,7 +717,26 @@ export default {
message.error(`${props.EditTestId ? "编辑" : "新增"}阶段任务失败`);
});
} else if (props.isLevel == 3) {
console.log("");
let editObj = {
courseId: res.data.data.examinationId,
duration: 0,
name: res.data.data.examinationName,
projectId: props.projectId,
projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId,
type: 5,
};
// 新增编辑或新增项目
ProjectEditTask(editObj)
.then(() => {
message.success(
`${props.EditTestId ? "编辑" : "新增"}阶段任务成功`
);
ctx.emit("changeData", false);
})
.catch(() => {
message.error(`${props.EditTestId ? "编辑" : "新增"}阶段任务失败`);
});
}
};

View File

@@ -29,7 +29,6 @@
/>
</div>
</div>
</div>
<div class="mi_btns">
<div class="btn btn1">
@@ -42,7 +41,6 @@
</div>
</div>
</div>
<div class="main_table">
<a-table
style="border: 1px solid #f2f6fe"

View File

@@ -399,16 +399,17 @@ export default {
array.push(obj)
})
state.tabledata = array
ListOpera();
}
//获取任务管理列表
const getManageList = () => {
let obj = {
name: "",
// name: "",
pageNo: state.pageNo,
pageSize: state.pageSize,
projectId: 27,
// projectId: 27,
projectTaskId: props.projectTaskId,
status: -1,
status: 0,
};
api
.taskStudentList(obj)
@@ -425,12 +426,12 @@ export default {
//搜索任务列表
const searchTaskList = () => {
let objser = {
name: "",
// name: "",
pageNo: state.pageNo,
pageSize: state.pageSize,
projectId: 27,
// projectId: 27,
projectTaskId: props.projectTaskId,
status: -1,
status: 0,
};
if (state.name !== "" || state.projectName !== "") {
api

View File

@@ -69,7 +69,7 @@ export default {
};
noticeList(obj)
.then((res) => {
console.log("获取公告列表成功");
console.log("获取公告列表成功", res.data.data);
let result = res.data.data;
if (result.total > 0) {
setNoticeData(result.rows);

View File

@@ -254,6 +254,7 @@ export default {
.queryExaminationPaper(obj)
.then((res) => {
getTableDate(res.data.data);
message.success("获取选择考试列表成功");
})
.catch(() => {
message.destroy();

View File

@@ -126,6 +126,8 @@
<button class="btn2">确定</button>
</div>
</div>
<!-- 查看答卷抽屉 -->
<CQue v-model:CQvisible="CQvisible"/>
</a-drawer>
</template>
@@ -133,8 +135,12 @@
import { toRefs, reactive } from "vue";
import { message } from 'ant-design-vue';
import * as api from "../../api/index";
import CQue from './CheckQue.vue'
export default {
name: "TestManage",
components: {
CQue,
},
props: {
TMvisible: {
type: Boolean,
@@ -158,6 +164,7 @@ export default {
const state = reactive({
name: null,
open: false,
CQvisible:false, //查看答卷抽屉
pageNo: 1,
pageSize: 10,
currentPage: 1,
@@ -182,15 +189,15 @@ export default {
],
tabledata: [
{
workNum:1,
key:1,
status:"已完成",
operation:"",
},
{
workNum:1,
key:2,
status:"未完成",
operation:"",
}
},
],
selectedRowKeys:[],
});
@@ -325,20 +332,16 @@ export default {
title: "操作",
dataIndex: "operation",
key: "operation",
width: 60,
width: 90,
align: "center",
className: "h",
},
]
return columns;
}
};
//考试管理列表操作
const ListOpera = () => {
let arr = state.tabledata;
if(props.itemsType == 5){
arr.map((value) => {
if(value.status == '已完成'){
value.operation = (
@@ -354,7 +357,7 @@ export default {
class="operation"
style="cursor:pointer;margin-right:10px;"
onClick={() => {
console.log('123')
state.CQvisible = true
}}
>
查看
@@ -382,7 +385,6 @@ export default {
);
}
})
}
};
ListOpera();
const onSelect = (record) => {
@@ -398,7 +400,6 @@ export default {
if ( bol == true ) {
getManageList();
}
};
const selectProjectName = (value, index) => {
console.log("value", value, index);
@@ -438,12 +439,12 @@ export default {
//获取任务管理列表
const getManageList = () => {
let obj = {
name: "",
// name: "",
pageNo: state.pageNo,
pageSize: state.pageSize,
projectId: 27,
// projectId: 27,
projectTaskId: props.projectTaskId,
status: -1,
status: 0,
};
api
.taskStudentList(obj)
@@ -461,12 +462,12 @@ export default {
//搜索任务列表
const searchTaskList = () => {
let objser = {
name: "",
// name: "",
pageNo: state.pageNo,
pageSize: state.pageSize,
projectId: 27,
// projectId: 27,
projectTaskId: props.projectTaskId,
status: -1,
status: 0,
};
if (state.name !== "" || state.projectName !== "") {
api

View File

@@ -364,36 +364,37 @@ export default {
//获取任务管理列表
const getManageList = () => {
let obj = {
name: "",
// name: "",
pageNo: state.pageNo,
pageSize: state.pageSize,
projectId: 27,
// projectId: 27,
projectTaskId: props.projectTaskId,
status: -1,
status: 0,
};
api
.taskStudentList(obj)
.then((res) => {
state.pageNo = res.data.data.pageNo;
state.pageSize = res.data.data.pageSize;
state.pageSize = res.data.data.pageSize;
for (let i = 0; i < res.data.data.rows.length; i++) {
state.tabledata.push(res.data.data.rows[i].userInfoBo);
}
ListOpera();
})
.catch(() => {
.catch((err) => {
console.log(err,'sss');
});
};
//搜索任务列表
const searchTaskList = () => {
let objser = {
name: "",
// name: "",
pageNo: state.pageNo,
pageSize: state.pageSize,
projectId: 27,
// projectId: 27,
projectTaskId: props.projectTaskId,
status: -1,
status: 0,
};
if (state.name !== "" || state.projectName !== "") {
api

View File

@@ -323,12 +323,12 @@ export default {
//获取任务管理列表
const getManageList = () => {
let obj = {
name: "",
// name: "",
pageNo: state.pageNo,
pageSize: state.pageSize,
projectId: 27,
// projectId: 27,
projectTaskId: props.projectTaskId,
status: -1,
status: 0,
};
api
.taskStudentList(obj)
@@ -347,12 +347,12 @@ export default {
//搜索任务列表
const searchTaskList = () => {
let objser = {
name: "",
// name: "",
pageNo: state.pageNo,
pageSize: state.pageSize,
projectId: 27,
// projectId: 27,
projectTaskId: props.projectTaskId,
status: -1,
status: 0,
};
if (state.name !== "" || state.projectName !== "") {
api

View File

@@ -780,8 +780,8 @@
支持pdf.ppt.pptx.doc.docx.xls.xlsx.jpeg.png.gif.zip
</span>
</div>
<div
v-for="item in docList"
<!-- <div
v-for="item in fileList"
:key="item.src"
style="margin-top: 20px"
class="docListStyle"
@@ -800,6 +800,30 @@
item.name
}}</span>
<span style="color: #4ea6ff; float: right">删除</span>
</div> -->
<div
v-for="item in fileList"
:key="item.uid"
class="docListStyle"
>
<img
src="@/assets/images/basicinfo/download.png"
style="
cursor: pointer;
width: 40px;
height: 40px;
margin-right: 40px;
"
alt=""
/>
<span style="font: oblique bold 16px Sans-serif">{{
item.name
}}</span>
<span
style="color: #4ea6ff; float: right; cursor: pointer"
@click="deFile(item.uid)"
>删除</span
>
</div>
</div>
</div>
@@ -1898,11 +1922,13 @@ export default {
remark: state.remark,
routerId: state.routerId,
status: state.action,
}).then((res) => {
console.log(res)
}).catch((err) => {
console.log(err)
})
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
});
}
if (info.file.status === "done") {
@@ -2003,6 +2029,32 @@ export default {
message.error("编辑失败");
});
};
const deFile = (id) => {
console.log(id);
let index = state.fileList.findIndex((item) => {
item.uid == id;
});
state.fileList.splice(index, 1);
let str = JSON.stringify(state.fileList);
//要编辑路径图
editRoutered({
attach: str,
name: state.styTitle,
picUrl: state.picUrl,
remark: state.remark,
routerId: state.routerId,
status: state.action,
})
.then((res) => {
console.log(res);
message.destroy();
return message.success("删除成功");
})
.catch((err) => {
console.log(err);
message.warning("删除失败");
});
};
return {
...toRefs(state),
...toRefs(levelList),
@@ -2052,6 +2104,7 @@ export default {
stageChange,
pageChange,
setconfig,
deFile,
};
},
};
@@ -3924,6 +3977,11 @@ export default {
}
}
}
.btnbox {
.ant-upload-list {
display: none !important;
}
}
.onemain {
margin-top: 20px;

View File

@@ -263,6 +263,9 @@
<add-case
v-model:addcaseVisible="addcasevisible"
@changeData="updateTableData"
:isLevel="isLevel"
v-model:isactive="isactive"
v-model:routerId="routerId"
v-model:edit="edit"
v-model:projectId="projectId"
v-model:chooseStageId="chooseStageId"
@@ -420,10 +423,13 @@
:isLevel="isLevel"
@changeData="updateTableData"
v-model:isactive="isactive"
v-model:routerTaskId="routerTaskId"
v-model:edit="edit"
v-model:routerId="routerId"
v-model:projectId="projectId"
v-model:chooseStageId="chooseStageId"
v-model:projectTaskId="projectTaskId"
v-model:EditEvalId="EditEvalId"
v-model:routerTaskId="routerTaskId"
/>
</div>
<!-- 添加测评侧弹窗 -->
@@ -481,9 +487,7 @@
<div class="item" @click="showDrawerAddProj">
<div class="itcon">
<div class="img">
<img
src="../../assets/images/leveladd/xiang.png"
/>
<img src="../../assets/images/leveladd/xiang.png" />
</div>
<div class="text">项目</div>
<div>
@@ -497,6 +501,7 @@
v-model:chooseStageId="chooseStageId"
v-model:EditProjectId="EditProjectId"
v-model:routerTaskId="routerTaskId"
v-model:chooseProjectList = "chooseProjectList"
/>
</div>
</div>
@@ -720,9 +725,6 @@
<!-- 无数据样式 -->
</div>
</div>
</div>
<div class="right" :style="{ display: gqxy_hs ? 'none' : 'block' }">
<div class="addhead">
@@ -1043,7 +1045,7 @@ import { deleteStudyTask } from "../../api/indexStudy";
import draggable from "vuedraggable";
import { editTask } from "../../api/indexTaskadd";
import { RouterEditTask } from "@/api/indexTask";
// import { RouterEditTask } from "@/api/indexTask";
import { toDate } from "../../api/method";
import UnlockMode from "../../components/drawers/UnlockMode.vue";
@@ -1169,55 +1171,9 @@ export default {
},
],
//项目抽屉、列表参数
drawertableData: [
{
key: 1,
parentId:1,
name: '123',
manager:'afssfa',
children:[
{
key: 5,
parentId:1,
name: '123',
manager:'afssfa',
},
]
},
{
key: 2,
parentId:2,
name: '123',
manager:'afssfa',
children:[
{
key: 7,
parentId:1,
name: '123',
manager:'afssfa',
children:[
{
key: 9,
parentId:1,
name: '123',
manager:'afssfa',
},
]
},
]
},
{
key: 3,
parentId:3,
name: '123',
manager:'afssfa',
},
],
selectedProjRowKeys:[],
currentPage: 1,
tableDataTotal: 0,
pageSize: 10,
visible: false,
//项目
editproj: false,
addprojvisible: false,
@@ -1292,6 +1248,7 @@ export default {
deleteChapterId: null, //删除关卡id
unlockModeVisible: false, //切换模式抽屉
chooseProjectList: null, //选择的阶段下的任务列表
});
const showModal = (element) => {
@@ -1468,16 +1425,17 @@ export default {
state.EditProjectId = id;
state.routerTaskId = eleId;
};
//关闭项目抽屉
const leaveProjDrawer = () => {
state.addprojvisible = false;
};
//tableData数据赋值方法
const dataAssignment = (id) => {
console.log(state.level);
for (let i = 0; i < state.level.length; i++) {
if (state.level[i].chapterId === id) {
let array = [];
state.chooseProjectList = JSON.stringify(state.level[i].taskList);
// console.log(
// "goggoo",
// Object.prototype.toString.call(state.chooseProjectList)
// );
state.level[i].taskList.forEach((element) => {
let obj = {
id: element.routerTaskId,
@@ -1559,6 +1517,7 @@ export default {
"测评",
"评估",
"投票",
"项目",
];
return typeRules[index];
};
@@ -1924,30 +1883,6 @@ export default {
state.removeStageId = option.chapterId;
};
//添加关卡项目
const updateTask = () => {
RouterEditTask({
duration: 0,
flag: true,
chapterId: state.isactive,
courseId: Number(state.projId),
name: state.projName,
routerId: state.routerId,
routerTaskId: state.routerTaskId,
type: 13,
})
.then(( ) => {
message.success(`${state.editproj ? "编辑" : "新增"}关卡任务成功`);
// ctx.emit("changeData", false);
leaveProjDrawer()
state.addLoading = false;
})
.catch(() => {
message.destroy()
message.error("添加关卡任务失败")
});
};
//显示切换模式抽屉
const showModeVisible = () => {
state.unlockModeVisible = true;
@@ -1981,7 +1916,6 @@ export default {
showDrawerAddLive,
showDrawerAddRef,
showDrawerAddProj,
leaveProjDrawer,
closeDeleteModel,
clearEditData,
showDrawerAddDiscuss,
@@ -1998,7 +1932,6 @@ export default {
closeChangeModal,
handleChangeStage,
updateTask,
showDeleteChapter,
closeDeleteChapter,

View File

@@ -272,13 +272,14 @@
</div>
</a-tab-pane>
<a-tab-pane key="2" tab="公告" force-render>
<div class="notice">
<div class="split"></div>
<div class="ntc_tit"><span>公告</span></div>
<hr color="#E8E8E8" />
<a-tabs v-model:activeKey="activeKeyNotice">
<a-tab-pane key="11" tab="公告">
<div class="notice">
<div class="ntc_body">
<div class="ntc_switch">
<a-switch v-model:checked="checked" @click="changeopclo" />
<a-switch size="small" v-model:checked="checked" @click="changeopclo" />
<div
class="opclo"
:style="{ display: hideshow ? 'block' : 'none' }"
@@ -316,6 +317,10 @@
</div>
</div>
</a-tab-pane>
</a-tabs>
</a-tab-pane>
<a-tab-pane key="3" tab="项目积分">
<div class="split"></div>
<div class="projectscore">
@@ -326,14 +331,14 @@
<div class="pjc_body">
<div class="groupright">
<div class="spandiv"><span class="spantext">规则</span></div>
<div v-if="edit" class="btns">
<div v-if="edit" class="btns" style="display:none">
<div class="btn1" @click="edit = !edit">
<img src="../../assets/images/projectadd/edit1.png" />
<span class="btn1text">编辑</span>
</div>
</div>
<div v-else class="btns">
<div class="btn1" @click="edit = !edit">
<div class="btn1" @click="editRule">
<span class="btn1text">保存</span>
</div>
</div>
@@ -349,9 +354,40 @@
<span>完成必修/选修获得 </span
><span class="scoretext">{{ score1 }} </span><span>积分</span>
</div>
<div class="content content3">
<span>优秀学员可获得 </span
><span class="scoretext">{{ score2 }}</span
<div class="content">
<span>完成作业成绩不低于 </span
><span class="scoretext">{{ done2 }}</span
><span>分获得</span> <span class="scoretext">{{ done3 }}</span
><span>积分</span>
</div>
<div class="content">
<span></span><span class="scoretext">{{ four1 }}</span
><span>名学完在线课程获得</span>
<span class="scoretext">{{ four2 }}</span
><span style="margin-right: 50px">积分</span> <span></span
><span class="scoretext">{{ four3 }}</span
><span>名提交作业且成绩不低于</span>
<span class="scoretext">{{ four4 }}</span
><span>分获得</span> <span class="scoretext">{{ four5 }}</span
><span>积分</span>
</div>
<div class="content">
<span>考试成绩高于</span
><span class="scoretext">{{ five1 }}</span
><span>分获得</span> <span class="scoretext">{{ five2 }}</span
><span>积分</span>
</div>
<div class="content">
<span>考勤正常学员获得 </span
><span class="scoretext">{{ six1 }}</span
><span>积分</span>
</div>
<div class="content">
<span>成为小组长获得</span
><span class="scoretext">{{ seven1 }}</span
><span style="margin-right: 50px">积分</span>
<span>优秀学员可获得</span>
<span class="scoretext">{{ seven2 }}</span
><span>积分</span>
</div>
</div>
@@ -371,11 +407,60 @@
/> </span
><span>积分</span>
</div>
<div class="content content3">
<span>优秀学员可获得 </span
><span
><a-input v-model:value="score2" :bordered="false" /></span
><span>积分</span>
<div class="content">
<span>完成作业成绩不低于 </span
><a-input v-model:value="done2" :bordered="false" /><span
>分获得</span
>
<a-input v-model:value="done3" :bordered="false" /><span
>积分</span
>
</div>
<div class="content">
<span></span
><a-input v-model:value="four1" :bordered="false" /><span
>名学完在线课程获得</span
>
<a-input v-model:value="four2" :bordered="false" /><span
style="margin-right: 50px"
>积分</span
>
<span></span
><a-input v-model:value="four3" :bordered="false" /><span
>名提交作业且成绩不低于</span
>
<a-input v-model:value="four4" :bordered="false" /><span
>分获得</span
>
<a-input v-model:value="four5" :bordered="false" /><span
>积分</span
>
</div>
<div class="content">
<span>考试成绩高于</span
><a-input v-model:value="five1" :bordered="false" /><span
>分获得</span
>
<a-input v-model:value="five2" :bordered="false" /><span
>积分</span
>
</div>
<div class="content">
<span>考勤正常学员获得 </span
><a-input v-model:value="six1" :bordered="false" /><span
>积分</span
>
</div>
<div class="content">
<span>成为小组长获得</span
><a-input v-model:value="seven1" :bordered="false" /><span
style="margin-right: 50px"
>积分</span
>
<span>优秀学员可获得</span>
<a-input v-model:value="seven2" :bordered="false" /><span
>积分</span
>
</div>
</div>
</div>
@@ -561,10 +646,11 @@
</template>
<script>
import { ref, reactive, defineComponent, toRefs, onMounted} from "vue";
import { ref, reactive, defineComponent, toRefs, onMounted,computed} from "vue";
import { message } from "ant-design-vue";
import * as api from "@/api/indexTemplate"
import { useRouter } from "vue-router";
import {scoreRule,setScoreRule} from "@/api/indexTaskadd"
import { useStore } from "vuex";
export default defineComponent({
name: "LibraryAdd",
@@ -688,8 +774,19 @@ export default defineComponent({
value3: false,
value4: false,
hideshow: true,
score1: 5,
score2: 5,
score1: null,
done2: null,
done3: null,
four1: null,
four2: null,
four3: null,
four4: null,
four5: null,
five1: null,
five2: null,
six1: null,
seven1: null,
seven2: null,
edit: true,
// 共享文档列表
docList:[
@@ -731,6 +828,23 @@ export default defineComponent({
const changecheck2 = () => {
state.checked2 = !state.checked2;
};
const scoresum = computed(() => {
// console.log(Object.prototype.toString.call(Number(state.score1)));
// if (Object.prototype.toString.call(state.score1) !== "[object Number]") {
// message.destroy();
// return message.warning("请输入合法数字");
// }
return (
Number(state.score1) +
Number(state.done3) +
Number(state.four2) +
Number(state.four5) +
Number(state.five2) +
Number(state.six1) +
Number(state.seven1) +
Number(state.seven2)
);
});
const changecheck3 = () => {
state.checked3 = !state.checked3;
};
@@ -760,7 +874,10 @@ export default defineComponent({
];
return typeRules[type];
};
onMounted(() => {getDetail()});
onMounted(() => {
getDetail();
getScoreRule();
});
// 获取详情
const getDetail = () => {
api.templateDetail(store.state.projectTemplateId).then(res => {
@@ -772,6 +889,7 @@ export default defineComponent({
state.projectInfo.manager = res.data.data.projectTemplateInfo.manager
state.projectInfo.notice = res.data.data.projectTemplateInfo.notice
state.projectInfo.sourceBelongId = res.data.data.projectTemplateInfo.sourceBelongId
state.projectInfo.managerId = res.data.data.projectTemplateInfo.managerId
state.projectInfo.remark = res.data.data.stageList.remark
state.projectInfo.courseSyncFlag = res.data.data.projectTemplateInfo.courseSyncFlag
state.projectInfo.level = res.data.data.projectTemplateInfo.level
@@ -802,11 +920,25 @@ export default defineComponent({
// 发布公告
const addNotice = () => {
let obj = {
"name": state.projectInfo.name,
"category": state.projectInfo.category,
"picUrl": "x",
"beginTime": Number(state. projectInfo.beginTime) || 1,
"endTime": 1,
"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,
"projectId": store.state.projectTemplateId,
"title": ""
"noticeFlag": 0,
"projectTemplateId": store.state.projectTemplateId,
"remark": "",
"status": 0,
};
api.templateEdit(obj).methods(obj).then(res => {
api.templateEdit(obj).then(res => {
message.success("公告发布成功")
console.log(res)
}).catch(err => {
@@ -881,6 +1013,94 @@ export default defineComponent({
console.log(err)
})
}
const getScoreRule = () => {
scoreRule({
projectId: store.state.projectTemplateId,
})
.then((res) => {
console.log("获取了项目积分规则", res.data.data);
let result = res.data.data;
scoresum.value = result.totalScore; //Write operation failed: computed value is readonly
state.seven1 = result.leaderScore;
state.score1 = result.courseScore;
state.done2 = result.homeworkItem[1].scoreLimit;
state.done3 = result.homeworkItem[1].score;
state.four1 = result.topCompleteCourseItem[0].numLimit;
state.four2 = result.topCompleteCourseItem[0].score;
state.four3 = result.homeworkItem[0].numLimit;
state.four4 = result.homeworkItem[0].scoreLimit;
state.four5 = result.homeworkItem[0].score;
state.five1 = result.examItem[0].scoreLimit;
state.five2 = result.examItem[0].score;
state.six1 = result.signScore;
state.seven1 = result.leaderScore;
state.seven2 = result.topStudentScore;
})
.catch((err) => {
console.log("获取项目积分规则失败了", err);
});
};
//设置积分规则
const editRule = () => {
let obj = {
courseScore: state.score1,
examItem: [
{
numLimit: 0,
score: state.five2,
scoreLimit: state.five1,
type: 3,
},
],
homeworkItem: [
//有名次要求的提交作业
{
numLimit: state.four3,
score: state.four5,
scoreLimit: state.four4,
type: 2,
},
//无名次要求的提交作业
{
numLimit: 0,
score: state.done3,
scoreLimit: state.done2,
type: 2,
},
],
leaderScore: state.seven1,
projectId: store.state.projectTemplateId,
signScore: state.six1,
topCompleteCourseItem: [
{
numLimit: state.four1,
score: state.four2,
scoreLimit: 0,
type: 1,
},
],
topStudentScore: state.seven2,
totalScore: scoresum.value,
};
console.log(obj);
setScoreRule(obj)
.then((res) => {
console.log(res.data, "修改成功");
message.destroy();
return message.success("修改积分规则成功");
})
.catch((err) => {
console.log(err.data);
message.destroy();
return message.warning("修改积分规则失败");
});
// scoreRule({
// projectId: props.projectId,
// });
state.edit = true;
};
return {
...toRefs(state),
value,
@@ -896,14 +1116,11 @@ export default defineComponent({
stateEdit,
taskEdit,
toEdit,
getScoreRule,
editRule,
scoresum,
};
},
computed: {
// 计算属性的 getter
scoresum: function () {
return Number(this.score1) + Number(this.score2);
},
},
}
});
</script>
<style lang="scss">
@@ -1395,7 +1612,7 @@ export default defineComponent({
}
.ntc_body {
margin-left: 34px;
margin-left: 65px;
margin-right: 34px;
.ntc_switch {
display: flex;

View File

@@ -1988,11 +1988,9 @@ export default {
//打开测评的弹窗
const showEditEvalDrawer = (id, eleId) => {
console.log("222222222222222222222", id);
state.addevalvisible = true;
state.projectTaskId = eleId;
state.EditRefId = id;
console.log(state.EditRefId);
state.EditEvalId = id;
};
//编辑的按钮
const decideType = (type, id, eleId) => {
@@ -2020,6 +2018,8 @@ export default {
showDrawerOnline(id, eleId);
} else if (type == "面授") {
showDrawerFaceteach(id, eleId);
} else if (type == "案例") {
showDrawerAddCase(id, eleId);
}
};
const showdeAll = () => {

View File

@@ -3650,6 +3650,7 @@ export default {
})
.catch((err) => {
console.log("上传失败了", err);
message.warning("删除失败");
});
};
onMounted(() => {

View File

@@ -346,7 +346,7 @@ export default {
storage.remove("projectAddId");
setTimeout(() => {
router.push({
path: "/manage/libraryAdd",
path: "/libraryAdd",
});
}, 400);
};