This commit is contained in:
songwc
2022-11-11 18:15:52 +08:00
8 changed files with 500 additions and 761 deletions

View File

@@ -109,8 +109,6 @@ import * as api from "../../api/indexVote";
import { message } from "ant-design-vue";
export default {
name: "CreVote",
// components: {
// },
props: {
crevoteVisible: {
type: Boolean,
@@ -138,7 +136,6 @@ export default {
},
],
});
const addQue = () => {
state.questions.push({
stemTit: "题干",
@@ -168,7 +165,6 @@ export default {
// delete value[0]
value.pop()
}
const closeDrawer = () => {
ctx.emit("update:crevoteVisible", false);
};

View File

@@ -41,11 +41,15 @@
</div>
</div>
<div class="btns">
<div class="btn btn1" style="margin-right: 20px">
<div
class="btn btn1"
style="margin-right: 20px"
@click="searchTaskList"
>
<div class="img1"></div>
<div class="wz">搜索</div>
</div>
<div class="btn btn2">
<div class="btn btn2" @click="resetTaskList">
<div class="img2"></div>
<div class="wz">重置</div>
</div>
@@ -158,7 +162,7 @@ export default {
type: Boolean,
default: false,
},
ProjectTaskId: {
projectTaskId: {
type: Number,
default: null,
},
@@ -167,140 +171,65 @@ export default {
setup(props, ctx) {
const state = reactive({
Evisible: false, //录入成绩抽屉
name: null,
name: "",
showmodal: false, //勾选提示框
closable: false, //modal右上角的关闭按钮
pageNo: 1,
pageSize: 10,
currentPage: 1,
tableDataTotal: 100,
showdonemodal: false,
open: false,
selectedRowKeys: [],
projectName: "",
projectNameList: [
{
id: 1,
value: "项目一",
label: "项目一",
value: "-1",
label: "未开始",
},
{
id: 2,
value: "项目二",
label: "项目二",
value: "0",
label: "进行中",
},
{
id: 3,
value: "项目三",
label: "项目三",
},
{
id: 4,
value: "项目四",
label: "项目四",
value: "1",
label: "已完成",
},
],
tabledata: [
{
key: 1,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
score: "-",
state: "未完成",
},
{
key: 2,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
score: "-",
state: "未完成",
},
{
key: 3,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
score: "合格",
state: "完成",
},
{
key: 4,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
score: "合格",
state: "完成",
},
{
key: 5,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
score: "合格",
state: "完成",
},
{
key: 6,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
score: "合格",
state: "完成",
},
{
key: 7,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
score: "合格",
state: "完成",
},
{
key: 8,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
score: "不合格",
state: "完成",
},
{
key: 9,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
score: "不合格",
state: "完成",
},
{
key: 10,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
score: "不合格",
state: "完成",
},
// {
// key: 1,
// name: "哈哈",
// bum: "产品部",
// gangw: "产品经理",
// score: "-",
// state: "未完成",
// },
],
tablecolumns: [
{
title: "姓名",
dataIndex: "name",
key: "name",
dataIndex: "userName",
key: "userName",
width: 50,
align: "left",
className: "h head",
},
{
title: "所在部门",
dataIndex: "bum",
key: "bum",
dataIndex: "deptName",
key: "userName",
width: 60,
align: "center",
className: "h",
},
{
title: "所在岗位",
dataIndex: "gangw",
key: "gangw",
dataIndex: "jobName",
key: "jobName",
width: 60,
align: "center",
className: "h",
@@ -315,8 +244,8 @@ export default {
},
{
title: "任务状态",
dataIndex: "state",
key: "state",
dataIndex: "status",
key: "status",
width: 60,
align: "center",
className: "h",
@@ -325,6 +254,7 @@ export default {
});
const selectProjectName = (value, index) => {
console.log("value", value, index);
state.projectName = value;
};
const closeDrawer = () => {
ctx.emit("update:Fvisible", false);
@@ -369,28 +299,71 @@ export default {
const getManageList = () => {
let obj = {
name: "",
pageNo: 0,
pageSize: 0,
projectTaskId: props.ProjectTaskId,
status: 0,
pageNo: state.pageNo,
pageSize: state.pageSize,
projectId: 27,
projectTaskId: props.projectTaskId,
status: -1,
};
console.log('9999999999999',obj.projectTaskId);
api
.taskStudentList(obj)
.then((res) => {
console.log('获取任务管理列表成功', 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);
}
})
.catch((err) => {
console.log("获取任务列表失败",err)
console.log("获取面授任务列表失败", err);
});
};
//搜索任务列表
const searchTaskList = () => {
let objser = {
name: "",
pageNo: state.pageNo,
pageSize: state.pageSize,
projectId: 27,
projectTaskId: props.projectTaskId,
status: -1,
};
if (state.name !== "" || state.projectName !== "") {
api
.taskStudentList(objser)
.then((res) => {
state.pageNo = res.data.data.pageNo;
state.pageSize = res.data.data.pageSize;
state.pageSize = res.data.data.pageSize;
let newArr = [];
for (let i = 0; i < res.data.data.rows.length; i++) {
//少一个状态的参数判断状态
if (res.data.data.rows[i].userInfoBo.userName == state.name)
newArr.push(res.data.data.rows[i].userInfoBo);
}
state.tabledata = newArr;
})
.catch((err) => {
console.log("搜索任务列表失败", err);
});
}
};
//重置任务列表
const resetTaskList = () => {
state.name = "";
state.projectName = "";
state.tabledata = [];
getManageList();
};
let timer;
onMounted(() => {
setTimeout(() => {
getManageList()
},1000)
getManageList();
}, 1000);
timer = setInterval(() => {
state.open = false;
}, 3000);
@@ -411,6 +384,8 @@ export default {
closedoneModal,
showopen,
getManageList,
searchTaskList,
resetTaskList,
};
},
};

View File

@@ -8,7 +8,7 @@
>
<div class="drawerMain">
<div class="header">
<div class="headerTitle">{{ title }}</div>
<div class="headerTitle">{{ title }}管理</div>
<img
style="width: 29px; height: 29px; cursor: pointer"
src="../../assets/images/basicinfo/close.png"
@@ -43,11 +43,15 @@
</div>
</div>
<div class="btns">
<div class="btn btn1" style="margin-right: 20px">
<div
class="btn btn1"
style="margin-right: 20px"
@click="searchTaskList"
>
<div class="img1"></div>
<div class="wz">搜索</div>
</div>
<div class="btn btn2">
<div class="btn btn2" @click="resetTaskList">
<div class="img2"></div>
<div class="wz">重置</div>
</div>
@@ -108,6 +112,7 @@
<script>
import { toRefs, reactive, onMounted, onUnmounted } from "vue";
import * as api from "../../api/index";
export default {
name: "TestManage",
props: {
@@ -122,194 +127,85 @@ export default {
projectTaskId: {
type: Number,
default: null,
}
},
},
setup(props, ctx) {
const state = reactive({
name: null,
open: false,
pageNo: 1,
pageSize: 10,
currentPage: 1,
tableDataTotal: 100,
projectName: "",
projectNameList: [
{
id: 1,
value: "项目一",
label: "项目一",
value: "-1",
label: "未开始",
},
{
id: 2,
value: "项目二",
label: "项目二",
value: "0",
label: "进行中",
},
{
id: 3,
value: "项目三",
label: "项目三",
},
{
id: 4,
value: "项目四",
label: "项目四",
value: "1",
label: "已完成",
},
],
tabledata: [
{
key: 1,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
comp: "-",
score: "-",
time: "-",
state: "未完成",
},
{
key: 2,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
comp: "1",
score: "10",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 3,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
comp: "10",
score: "10",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 4,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
comp: "10",
score: "10",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 5,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
comp: "10",
score: "10",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 6,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
comp: "10",
score: "10",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 7,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
comp: "10",
score: "10",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 8,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
comp: "10",
score: "10",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 9,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
comp: "10",
score: "10",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 10,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
comp: "10",
score: "10",
time: "2022-10-31 23:12:00",
state: "未完成",
},
// {
// key: 1,
// name: "哈哈",
// bum: "产品部",
// gangw: "产品经理",
// comp: "-",
// score: "-",
// time: "-",
// state: "未完成",
// },
],
tablecolumns: [
{
title: "姓名",
dataIndex: "name",
key: "name",
dataIndex: "userName",
key: "userName",
width: 50,
align: "center",
className: "h",
align: "left",
className: "h head",
},
{
title: "所在部门",
dataIndex: "bum",
key: "bum",
width: 50,
dataIndex: "deptName",
key: "userName",
width: 60,
align: "center",
className: "h",
},
{
title: "所在岗位",
dataIndex: "gangw",
key: "gangw",
width: 50,
dataIndex: "jobName",
key: "jobName",
width: 60,
align: "center",
className: "h",
},
{
title: "考试次数",
dataIndex: "comp",
key: "comp",
width: 50,
align: "center",
className: "h",
},
{
title: "成绩",
title: "课程成绩",
dataIndex: "score",
key: "score",
width: 50,
align: "center",
className: "h",
},
{
title: "完成时间",
dataIndex: "time",
key: "time",
width: 100,
width: 60,
align: "center",
className: "h",
},
{
title: "任务状态",
dataIndex: "state",
key: "state",
width: 50,
dataIndex: "status",
key: "status",
width: 60,
align: "center",
className: "h",
},
@@ -317,6 +213,7 @@ export default {
});
const selectProjectName = (value, index) => {
console.log("value", value, index);
state.projectName = value;
};
const closeDrawer = () => {
ctx.emit("update:TMvisible", false);
@@ -327,8 +224,75 @@ export default {
const onChange = (pageNumber) => {
console.log("Page: ", pageNumber);
};
//获取任务管理列表
const getManageList = () => {
let obj = {
name: "",
pageNo: state.pageNo,
pageSize: state.pageSize,
projectId: 27,
projectTaskId: props.projectTaskId,
status: -1,
};
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);
}
})
.catch((err) => {
console.log("获取测试任务列表失败", err);
});
};
//搜索任务列表
const searchTaskList = () => {
let objser = {
name: "",
pageNo: state.pageNo,
pageSize: state.pageSize,
projectId: 27,
projectTaskId: props.projectTaskId,
status: -1,
};
if (state.name !== "" || state.projectName !== "") {
api
.taskStudentList(objser)
.then((res) => {
state.pageNo = res.data.data.pageNo;
state.pageSize = res.data.data.pageSize;
state.pageSize = res.data.data.pageSize;
let newArr = [];
for (let i = 0; i < res.data.data.rows.length; i++) {
if (res.data.data.rows[i].userInfoBo.userName == state.name)
newArr.push(res.data.data.rows[i].userInfoBo);
}
state.tabledata = newArr;
})
.catch((err) => {
console.log("搜索任务列表失败", err);
});
}
};
//重置任务列表
const resetTaskList = () => {
state.name = "";
state.projectName = "";
state.tabledata = [];
getManageList();
};
let timer;
onMounted(() => {
setTimeout(() => {
getManageList();
}, 1000);
timer = setInterval(() => {
state.open = false;
}, 3000);
@@ -344,6 +308,9 @@ export default {
onMounted,
onUnmounted,
onChange,
getManageList,
searchTaskList,
resetTaskList,
};
},
};

View File

@@ -8,7 +8,7 @@
>
<div class="drawerMain">
<div class="header">
<div class="headerTitle">{{ title }}</div>
<div class="headerTitle">{{ title }}管理</div>
<img
style="width: 29px; height: 29px; cursor: pointer"
src="../../assets/images/basicinfo/close.png"
@@ -43,11 +43,15 @@
</div>
</div>
<div class="btns">
<div class="btn btn1" style="margin-right: 20px">
<div
class="btn btn1"
style="margin-right: 20px"
@click="searchTaskList"
>
<div class="img1"></div>
<div class="wz">搜索</div>
</div>
<div class="btn btn2">
<div class="btn btn2" @click="resetTaskList">
<div class="img2"></div>
<div class="wz">重置</div>
</div>
@@ -104,6 +108,7 @@
<script>
import { toRefs, reactive, onMounted, onUnmounted } from "vue";
import * as api from "../../api/index";
export default {
name: "TimeManage",
props: {
@@ -118,158 +123,84 @@ export default {
projectTaskId: {
type: Number,
default: null,
}
},
},
setup(props, ctx) {
const state = reactive({
name: null,
visible: props.Tvisible,
name: "",
open: false,
pageNo: 1,
pageSize: 10,
currentPage: 1,
tableDataTotal: 100,
projectName: "",
projectNameList: [
{
id: 1,
value: "项目一",
label: "项目一",
value: "-1",
label: "未开始",
},
{
id: 2,
value: "项目二",
label: "项目二",
value: "0",
label: "进行中",
},
{
id: 3,
value: "项目三",
label: "项目三",
},
{
id: 4,
value: "项目四",
label: "项目四",
value: "1",
label: "已完成",
},
],
tabledata: [
{
key: 1,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
time: "-",
state: "未完成",
},
{
key: 2,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 3,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 4,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 5,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 6,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 7,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 8,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 9,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 10,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
time: "2022-10-31 23:12:00",
state: "未完成",
},
// {
// key: 1,
// userName: "哈哈",
// deptName: "产品部",
// gangw: "产品经理",
// time: "-",
// state: "未完成",
// },
],
tablecolumns: [
{
title: "姓名",
dataIndex: "name",
key: "name",
dataIndex: "userName",
key: "userName",
width: 50,
align: "center",
className: "h",
align: "left",
className: "h head",
},
{
title: "所在部门",
dataIndex: "bum",
key: "bum",
width: 50,
dataIndex: "deptName",
key: "userName",
width: 60,
align: "center",
className: "h",
},
{
title: "所在岗位",
dataIndex: "gangw",
key: "gangw",
width: 50,
dataIndex: "jobName",
key: "jobName",
width: 60,
align: "center",
className: "h",
},
{
title: "完成时间",
dataIndex: "time",
key: "time",
width: 50,
title: "课程成绩",
dataIndex: "score",
key: "score",
width: 60,
align: "center",
className: "h",
},
{
title: "任务状态",
dataIndex: "state",
key: "state",
width: 50,
dataIndex: "status",
key: "status",
width: 60,
align: "center",
className: "h",
},
@@ -277,6 +208,7 @@ export default {
});
const selectProjectName = (value, index) => {
console.log("value", value, index);
state.projectName = value;
};
const closeDrawer = () => {
ctx.emit("update:Tvisible", false);
@@ -287,8 +219,80 @@ export default {
const onChange = (pageNumber) => {
console.log("Page: ", pageNumber);
};
// watch(props.visible, ()=>{
// getManageList()
// },{immediate:true});
//获取任务管理列表
const getManageList = () => {
let obj = {
name: "",
pageNo: state.pageNo,
pageSize: state.pageSize,
projectId: 27,
// projectTaskId: 370,
projectTaskId: props.projectTaskId,
status: -1,
};
api
.taskStudentList(obj)
.then((res) => {
console.log("csscas成功");
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);
}
})
.catch((err) => {
console.log("获取时间任务列表失败cc", err);
});
};
//搜索任务列表
const searchTaskList = () => {
let objser = {
name: "",
pageNo: state.pageNo,
pageSize: state.pageSize,
projectId: 27,
projectTaskId: props.projectTaskId,
status: -1,
};
if (state.name !== "" || state.projectName !== "") {
api
.taskStudentList(objser)
.then((res) => {
state.pageNo = res.data.data.pageNo;
state.pageSize = res.data.data.pageSize;
state.pageSize = res.data.data.pageSize;
let newArr = [];
for (let i = 0; i < res.data.data.rows.length; i++) {
if (res.data.data.rows[i].userInfoBo.userName == state.name)
newArr.push(res.data.data.rows[i].userInfoBo);
}
state.tabledata = newArr;
})
.catch((err) => {
console.log("搜索任务列表失败", err);
});
}
};
//重置任务列表
const resetTaskList = () => {
state.name = "";
state.projectName = "";
state.tabledata = [];
getManageList();
};
let timer;
onMounted(() => {
setTimeout(() => {
getManageList();
}, 500);
timer = setInterval(() => {
state.open = false;
}, 3000);
@@ -304,6 +308,9 @@ export default {
onMounted,
onUnmounted,
onChange,
getManageList,
searchTaskList,
resetTaskList,
};
},
};

View File

@@ -43,11 +43,15 @@
</div>
</div>
<div class="btns">
<div class="btn btn1" style="margin-right: 20px">
<div
class="btn btn1"
style="margin-right: 20px"
@click="searchTaskList"
>
<div class="img1"></div>
<div class="wz">搜索</div>
</div>
<div class="btn btn2">
<div class="btn btn2" @click="resetTaskList">
<div class="img2"></div>
<div class="wz">重置</div>
</div>
@@ -124,8 +128,9 @@
</template>
<script>
import { toRefs, reactive } from "vue";
import { toRefs, reactive, onMounted } from "vue";
import WorkDetail from "../drawers/WorkDetail.vue";
import * as api from "../../api/index";
export default {
name: "WorkManage",
components: { WorkDetail },
@@ -137,7 +142,7 @@ export default {
projectTaskId: {
type: Number,
default: null,
}
},
},
setup(props, ctx) {
@@ -146,201 +151,85 @@ export default {
visible: false, //导出数据弹窗
close: false, //导出弹窗的关闭按钮
WDvisible: false, //作业详情
pageNo: 1,
pageSize: 10,
currentPage: 1,
tableDataTotal: 100,
projectName: "",
projectNameList: [
{
id: 1,
value: "项目一",
label: "项目一",
value: "-1",
label: "未开始",
},
{
id: 2,
value: "项目二",
label: "项目二",
value: "0",
label: "进行中",
},
{
id: 3,
value: "项目三",
label: "项目三",
},
{
id: 4,
value: "项目四",
label: "项目四",
value: "1",
label: "已完成",
},
],
tabledata: [
{
key: 1,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
comp: "好好学习",
time: "-",
state: "未完成",
},
{
key: 2,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
comp: "好好学习",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 3,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
comp: "好好学习",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 4,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
comp: "好好学习",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 5,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
comp: "好好学习",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 6,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
comp: "好好学习",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 7,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
comp: "好好学习",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 8,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
comp: "好好学习",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 9,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
comp: "好好学习",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 10,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
comp: "好好学习",
time: "2022-10-31 23:12:00",
state: "未完成",
},
// {
// key: 1,
// userName: "哈哈",
// deptName: "产品部",
// jobName: "产品经理",
// comp: "好好学习",
// time: "-",
// state: "未完成",
// },
],
tablecolumns: [
{
title: "姓名",
dataIndex: "name",
key: "name",
dataIndex: "userName",
key: "userName",
width: 50,
align: "center",
className: "h",
align: "left",
className: "h head",
},
{
title: "所在部门",
dataIndex: "bum",
key: "bum",
width: 50,
dataIndex: "deptName",
key: "userName",
width: 60,
align: "center",
className: "h",
},
{
title: "所在岗位",
dataIndex: "gangw",
key: "gangw",
width: 50,
dataIndex: "jobName",
key: "jobName",
width: 60,
align: "center",
className: "h",
},
{
title: "所在小组",
dataIndex: "comp",
key: "comp",
width: 50,
align: "center",
className: "h",
},
{
title: "完成时间",
dataIndex: "time",
key: "time",
width: 100,
title: "课程成绩",
dataIndex: "score",
key: "score",
width: 60,
align: "center",
className: "h",
},
{
title: "任务状态",
dataIndex: "state",
key: "state",
width: 50,
dataIndex: "status",
key: "status",
width: 60,
align: "center",
className: "h",
},
{
title: "操作",
className: "h",
dataIndex: "opacation",
key: "opacation",
width: 50,
align: "center",
scopedSlots: { customRender: "action" }, //引入的插槽
customRender: () => {
return (
<div class="opa">
<div class="opacation">
<span
style="color:#4EA6FF;cursor:pointer"
onClick={() => {
showWorkDetail();
}}
>
查看
</span>
</div>
</div>
);
},
},
],
});
const selectProjectName = (value, index) => {
console.log("value", value, index);
state.projectName = value;
};
const closeDrawer = () => {
ctx.emit("update:Wvisible", false);
@@ -357,6 +246,75 @@ export default {
const onChange = (pageNumber) => {
console.log("Page: ", pageNumber);
};
//获取任务管理列表
const getManageList = () => {
let obj = {
name: "",
pageNo: state.pageNo,
pageSize: state.pageSize,
projectId: 27,
projectTaskId: props.projectTaskId,
status: -1,
};
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);
}
})
.catch((err) => {
console.log("获取作业任务列表失败", err);
});
};
//搜索任务列表
const searchTaskList = () => {
let objser = {
name: "",
pageNo: state.pageNo,
pageSize: state.pageSize,
projectId: 27,
projectTaskId: props.projectTaskId,
status: -1,
};
if (state.name !== "" || state.projectName !== "") {
api
.taskStudentList(objser)
.then((res) => {
state.pageNo = res.data.data.pageNo;
state.pageSize = res.data.data.pageSize;
state.pageSize = res.data.data.pageSize;
let newArr = [];
for (let i = 0; i < res.data.data.rows.length; i++) {
if (res.data.data.rows[i].userInfoBo.userName == state.name)
newArr.push(res.data.data.rows[i].userInfoBo);
}
state.tabledata = newArr;
})
.catch((err) => {
console.log("搜索任务列表失败", err);
});
}
};
//重置任务列表
const resetTaskList = () => {
state.name = "";
state.projectName = "";
state.tabledata = [];
getManageList();
};
onMounted(() => {
setTimeout(() => {
getManageList();
}, 1000);
});
return {
...toRefs(state),
selectProjectName,
@@ -365,6 +323,9 @@ export default {
closeModal,
showWorkDetail,
onChange,
getManageList,
searchTaskList,
resetTaskList,
};
},
};

View File

@@ -1,161 +0,0 @@
<template>
<!--删除弹窗 -->
<a-modal
v-model:visible="delete_hs"
:footer="null"
:closable="closableQR"
wrapClassName="DelModal"
style="margin-top: 400px"
>
<div class="delete" :style="{ display: delete_hs ? 'block' : 'none' }">
<div class="del_header"></div>
<div class="del_main">
<div class="header">
<div class="del-icon"></div>
<span>提示</span>
<div class="close_exit" @click="delete_exit"></div>
</div>
<div class="body">
<span>您确定要删除此课程吗</span>
</div>
<div class="del_btnbox">
<div class="del_btn btn1">
<div class="btnText" @click="delete_exit">取消</div>
</div>
<div class="del_btn btn2">
<div class="btnText" @click="delete_exit">确定</div>
</div>
</div>
</div>
</div>
</a-modal>
<!--删除弹窗 -->
</template>
<script>
import { toRefs, reactive, defineComponent } from "vue";
export default defineComponent({
name: "DelWins",
props: {
delete_hs: {
type: Boolean,
default: false,
},
},
setup() {
const state = reactive({
delete_hs: false,
closableQR: false,
})
const delete_exit = () => {
state.delete_hs = false;
}
return {
...toRefs(state),
delete_exit,
};
},
})
</script>
<style lang="scss" scope>
.DelModal {
.ant-modal {
.ant-modal-content {
width: 424px !important;
.ant-modal-body {
.delete {
z-index: 999;
width: 424px;
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: 40px;
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;
.del-icon {
width: 16px;
height: 16px;
margin-right: 10px;
background-image: url(@/assets/images/coursewareManage/notice.png);
background-size: 100% 100%;
}
.icon {
width: 16px;
height: 16px;
margin-right: 10px;
background-image: url(@/assets/images/coursewareManage/QR.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;
}
.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;
margin-right: 14px;
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;
}
.btn2 {
background-color: #4ea6ff;
color: #ffffff;
}
}
}
}
}
}
}
}
</style>

View File

@@ -187,7 +187,7 @@
}"
@click="showFS"
>
学员
<!-- 学员 -->
</div>
<div
class="operation"
@@ -200,7 +200,7 @@
: 'none',
}"
>
考勤
<!-- 考勤 -->
</div>
<div
class="operation"
@@ -214,7 +214,7 @@
: 'none',
}"
>
二维码
<!-- 二维码 -->
</div>
<div
class="operation"
@@ -238,7 +238,7 @@
: null
"
>
管理
<!-- 管理 -->
</div>
</div>
</div>

View File

@@ -220,7 +220,10 @@
<div class="split"></div>
<div class="onerow">
<div class="taskmain">任务大纲</div>
<button class="btn" @click="showFaceIn">批量面授报名</button>
<button class="btn" @click="showFaceIn" v-if="morFaceT">
批量面授报名
</button>
<router-link to="/taskadd">
<button to="/taskadd" class="edit">
<img
class="editimg"
@@ -228,6 +231,7 @@
/>
<span class="editext">编辑</span>
</button>
</router-link>
</div>
<!-- <div class="taskSyllabus">
<a-collapse v-model:activeKey="taskSyllabusActive" accordion>
@@ -405,13 +409,13 @@
item.type == '11' ||
item.type == '12' ||
item.type == '9'
? showTime(item.course, item.name)
? showTime(item.name, item.projectTaskId)
: item.type == '5' || item.type == '10'
? showTest(item.course, item.name)
? showTest(item.name, item.projectTaskId)
: item.type == '2'
? showFace(item.course)
? showFace(item.projectTaskId)
: item.type == '4'
? showWork(item.course)
? showWork(item.projectTaskId)
: null
"
>
@@ -429,6 +433,7 @@
background: linear-gradient(180deg, #ddeaff, #f0f8fe);
display: block;
"
v-if="taskSyllabus.length == 0"
>
<div class="leftt">
<img src="../../assets/images/taskpage/left2.png" />
@@ -920,14 +925,16 @@
</div>
<!-- 时间管理抽屉 -->
<time-manage
v-model:Tvisible="visible"
v-model:Tvisible.sync="visible"
v-if="visible"
:projectTaskId="projectTaskId"
:title="showTimeText"
v-model:ProjectTaskId="projectTaskId"
/>
<!-- 面授管理抽屉 -->
<face-manage
v-model:Fvisible="FaceVisivle"
v-model:ProjectTaskId="projectTaskId"
v-model:Fvisible.sync="FaceVisivle"
v-if="FaceVisivle"
:projectTaskId="projectTaskId"
/>
<!-- 学员小组管理创建小组抽屉 -->
<subset-manage v-model:Svisible="subsetVisivle" />
@@ -958,14 +965,16 @@
<active-attendance v-model:AAvisible="AAvisible" :title="showkaoqinText" />
<!-- 作业管理抽屉 -->
<work-manage
v-model:Wvisible="Wvisible"
v-model:ProjectTaskId="projectTaskId"
v-model:Wvisible.sync="Wvisible"
v-if="Wvisible"
:projectTaskId="projectTaskId"
/>
<!-- 考试管理抽屉 -->
<test-manage
v-model:TMvisible="TMvisible"
v-model:TMvisible.sync="TMvisible"
v-if="Wvisible"
:title="showTestText"
v-model:ProjectTaskId="projectTaskId"
:projectTaskId="projectTaskId"
/>
<!-- 批量面授报名 -->
<task-imp-stu v-model:TaskFaceImpStuvisible="TaskFaceImpStuvisible" />
@@ -1473,32 +1482,6 @@ export default {
// excellent: true,
// studentId: 22,
// },
// {
// key: 2,
// name: "sss",
// bum: "c",
// gangw: "ss",
// group: "sss",
// progress: "sss",
// diploma: "0",
// stutime: "20202",
// putin: "shs",
// excellent: true,
// studentId: 23,
// },
// {
// key: 3,
// name: "sss",
// bum: "c",
// gangw: "ss",
// group: "sss",
// progress: "sss",
// diploma: "0",
// stutime: "20202",
// putin: "shs",
// excellent: false,
// studentId: 24,
// },
],
//小组信息列表
groupList: [],
@@ -1513,7 +1496,8 @@ export default {
selectedRowKeys: [], //选择的学员
selectedRows: [], //选择的学员的id值
chooseDeleteOne: [], //删除的单个学员id
projectTaskId: "", //项目任务id
// projectId:"", //项目任务id
projectTaskId: "", //项目任务任务id
//进度排行学员
rankjindu: [{ value: "学员", label: "学员" }],
valuestu1: "学员",
@@ -1579,6 +1563,8 @@ export default {
valuestugn: "", //小组管理的输入的小组名称
checkStuId: null, //要查看的学员id
chooseGroupId: null,
morFaceT: false, //批量面授报名按钮
faceArr: [], //任务大纲列表所有name
//进度排行表
jindutabledata: [
{
@@ -2064,21 +2050,26 @@ export default {
.getProjectDetail(objtl)
.then((res) => {
if (res.status == 200) {
console.log("res", res);
console.log("阶段列表", res.data.data.stageList);
console.log(
"任务id",
res.data.data.stageList[0].taskList[0].projectTaskId
);
//taskList[num] num应该是点那个就是那个数
state.projectTaskId =
res.data.data.stageList[0].taskList[0].projectTaskId;
for (let i = 0; i < res.data.data.stageList.length; i++) {
for (
let k = 0;
k < res.data.data.stageList[i].taskList.length;
k++
) {
if (res.data.data.stageList[i].taskList[k].name == "面授") {
state.morFaceT = true;
break;
}
}
}
//暂时传个固定的id用 到时候看数据里面是否有在更换
// state.projectTaskId = res.data.data.stageList[0].taskList[0].projectTaskId
let leng = res.data.data.stageList.length;
if (leng > 0) {
//获取任务列表 阶段
let taskarr = res.data.data.stageList;
state.taskSyllabus = taskarr;
// console.log(res.data.data.stageList[0].taskList[0].type, "ggg");
}
}
})
@@ -2258,17 +2249,18 @@ export default {
state.TaskFaceImpStuvisible = true;
};
//新增
const showTime = (course) => {
console.log("点击管理");
const showTime = (name, id) => {
console.log("点击管理并传了id");
state.visible = true;
state.showTimeText = "【" + course + "】" + "管理";
// console.log("state.showTimeText", state.showTimeText);
state.showTimeText = name;
state.projectTaskId = id;
};
//新增
const showFace = () => {
const showFace = (id) => {
//面授管理的抽屉
// console.log("点击管理");
state.FaceVisivle = true;
state.projectTaskId = id;
};
const showSubset = () => {
// 随机分组
@@ -2290,13 +2282,15 @@ export default {
state.showkaoqinText = "【" + course + "】" + "考勤";
};
//作业管理的抽屉
const showWork = () => {
const showWork = (id) => {
state.Wvisible = true;
state.projectTaskId = id;
};
//考试管理的抽屉
const showTest = (course, name) => {
const showTest = (name, id) => {
state.TMvisible = true;
state.showTestText = "【" + course + "】" + name;
state.showTestText = name;
state.projectTaskId = id;
};
const showStuAdd = () => {
state.Stuvisible = true;