mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-13 12:56:45 +08:00
feat:锁定选中阶段 面授获取 公告 历史公告 项目积分规则 项目共享文档
This commit is contained in:
4
src/api/indexFace.js
Normal file
4
src/api/indexFace.js
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
import http from "./config";
|
||||||
|
|
||||||
|
//获取面授课开课详情
|
||||||
|
export const queryFaceDetailById = (offcoursePlanId) => http.post(`http://localhost:8080/api/admin/offcourse/detailPlan?offcoursePlanId=` + offcoursePlanId + ``)
|
||||||
13
src/api/indexNotice.js
Normal file
13
src/api/indexNotice.js
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
import http from "./config";
|
||||||
|
|
||||||
|
//获取公告列表
|
||||||
|
// export const noticeList = (projectId) => http.post('/admin/project/noticeList', {
|
||||||
|
// params: {
|
||||||
|
// projectId: projectId,
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
export const noticeList = (projectId) => http.post(`http://localhost:8080/api/admin/project/noticeList?projectId=` + projectId + ``)
|
||||||
|
|
||||||
|
//发布项目公告
|
||||||
|
export const publishNotice = (obj) => http.post('/admin/project/publishNotice', obj)
|
||||||
|
|
||||||
@@ -1,376 +1,377 @@
|
|||||||
|
|
||||||
function formatNumber(n) {
|
function formatNumber(n) {
|
||||||
n = n.toString();
|
n = n.toString();
|
||||||
return n[1] ? n : "0" + n;
|
return n[1] ? n : "0" + n;
|
||||||
}
|
}
|
||||||
function toDate(number, format) {
|
function toDate(number, format) {
|
||||||
var formateArr = ["Y", "M", "D", "h", "m", "s"];
|
var formateArr = ["Y", "M", "D", "h", "m", "s"];
|
||||||
var returnArr = [];
|
var returnArr = [];
|
||||||
|
|
||||||
if (number === 0) {
|
if (number === 0) {
|
||||||
return 0;
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
var date = new Date(number * 1000);
|
var date = new Date(number * 1000);
|
||||||
}
|
}
|
||||||
returnArr.push(date.getFullYear());
|
returnArr.push(date.getFullYear());
|
||||||
returnArr.push(formatNumber(date.getMonth() + 1));
|
returnArr.push(formatNumber(date.getMonth() + 1));
|
||||||
returnArr.push(formatNumber(date.getDate()));
|
returnArr.push(formatNumber(date.getDate()));
|
||||||
|
|
||||||
returnArr.push(formatNumber(date.getHours()));
|
returnArr.push(formatNumber(date.getHours()));
|
||||||
returnArr.push(formatNumber(date.getMinutes()));
|
returnArr.push(formatNumber(date.getMinutes()));
|
||||||
returnArr.push(formatNumber(date.getSeconds()));
|
returnArr.push(formatNumber(date.getSeconds()));
|
||||||
|
|
||||||
for (var i in returnArr) {
|
for (var i in returnArr) {
|
||||||
format = format.replace(formateArr[i], returnArr[i]);
|
format = format.replace(formateArr[i], returnArr[i]);
|
||||||
}
|
}
|
||||||
return format;
|
return format;
|
||||||
}
|
}
|
||||||
function getWeek(date) {
|
function getWeek(date) {
|
||||||
//date:'Y-M-D'
|
//date:'Y-M-D'
|
||||||
let time = new Date(date).getDay()
|
let time = new Date(date).getDay()
|
||||||
let week;
|
let week;
|
||||||
if (time == 0) week = "星期日"
|
if (time == 0) week = "星期日"
|
||||||
if (time == 1) week = "星期一"
|
if (time == 1) week = "星期一"
|
||||||
if (time == 2) week = "星期二"
|
if (time == 2) week = "星期二"
|
||||||
if (time == 3) week = "星期三"
|
if (time == 3) week = "星期三"
|
||||||
if (time == 4) week = "星期四"
|
if (time == 4) week = "星期四"
|
||||||
if (time == 5) week = "星期五"
|
if (time == 5) week = "星期五"
|
||||||
if (time == 6) week = "星期六"
|
if (time == 6) week = "星期六"
|
||||||
return week;
|
return week;
|
||||||
}
|
}
|
||||||
|
|
||||||
/************************************将数字搞成带逗号的那种*********************************************/
|
/************************************将数字搞成带逗号的那种*********************************************/
|
||||||
function autoComma(number) {
|
function autoComma(number) {
|
||||||
// let number = parseInt(numb)
|
// let number = parseInt(numb)
|
||||||
if (number) {
|
if (number) {
|
||||||
let newNum = ""; //中间变量
|
let newNum = ""; //中间变量
|
||||||
let arr = [];
|
let arr = [];
|
||||||
let arr1 = [];
|
let arr1 = [];
|
||||||
let num = ""; //最终结果
|
let num = ""; //最终结果
|
||||||
let isDecimal = false; //是不是小数
|
let isDecimal = false; //是不是小数
|
||||||
let decimal = 0; //小数点所在位置
|
let decimal = 0; //小数点所在位置
|
||||||
let decimalNum = ""; //小数点和以后的数据
|
let decimalNum = ""; //小数点和以后的数据
|
||||||
let negative = false; //是不是负数
|
let negative = false; //是不是负数
|
||||||
// 判断百万级别或者上亿级别
|
// 判断百万级别或者上亿级别
|
||||||
let thousand = false;
|
let thousand = false;
|
||||||
let Billion = false;
|
let Billion = false;
|
||||||
|
|
||||||
if (
|
if (
|
||||||
(number >= 10000 || number <= -10000) &&
|
(number >= 10000 || number <= -10000) &&
|
||||||
number < 100000000 &&
|
number < 100000000 &&
|
||||||
number > -100000000
|
number > -100000000
|
||||||
) {
|
) {
|
||||||
thousand = true;
|
thousand = true;
|
||||||
number = number / 10000;
|
number = number / 10000;
|
||||||
}
|
}
|
||||||
if (number >= 100000000 || number <= -100000000) {
|
if (number >= 100000000 || number <= -100000000) {
|
||||||
thousand = false;
|
thousand = false;
|
||||||
Billion = true;
|
Billion = true;
|
||||||
number = number / 100000000;
|
number = number / 100000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (number < 0) {
|
if (number < 0) {
|
||||||
number = Math.abs(number);
|
number = Math.abs(number);
|
||||||
negative = true;
|
negative = true;
|
||||||
}
|
}
|
||||||
let numStr = JSON.stringify(number);
|
let numStr = JSON.stringify(number);
|
||||||
// 如果传入的是小数,逗号的添加位置和整数是有区别滴
|
// 如果传入的是小数,逗号的添加位置和整数是有区别滴
|
||||||
for (let i = 0; i < numStr.length; i++) {
|
for (let i = 0; i < numStr.length; i++) {
|
||||||
if (numStr[i] === ".") {
|
if (numStr[i] === ".") {
|
||||||
isDecimal = true;
|
isDecimal = true;
|
||||||
decimal = i;
|
decimal = i;
|
||||||
decimalNum = numStr.slice(decimal, numStr.length);
|
decimalNum = numStr.slice(decimal, numStr.length);
|
||||||
// 保留两位小数
|
// 保留两位小数
|
||||||
if (decimalNum.length > 2) {
|
if (decimalNum.length > 2) {
|
||||||
decimalNum = decimalNum.slice(0, 3);
|
decimalNum = decimalNum.slice(0, 3);
|
||||||
}
|
}
|
||||||
numStr = numStr.slice(0, decimal);
|
numStr = numStr.slice(0, decimal);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (let i = 0; i < numStr.length; i++) {
|
for (let i = 0; i < numStr.length; i++) {
|
||||||
arr.push(numStr[numStr.length - i - 1]);
|
arr.push(numStr[numStr.length - i - 1]);
|
||||||
}
|
}
|
||||||
for (let i = 0; i < arr.length; i++) {
|
for (let i = 0; i < arr.length; i++) {
|
||||||
if ((i + 1) % 3 === 0 && i + 1 !== 0 && i + 1 < arr.length) {
|
if ((i + 1) % 3 === 0 && i + 1 !== 0 && i + 1 < arr.length) {
|
||||||
newNum += arr[i];
|
newNum += arr[i];
|
||||||
newNum = newNum + ",";
|
newNum = newNum + ",";
|
||||||
} else {
|
} else {
|
||||||
newNum += arr[i];
|
newNum += arr[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (let i = 0; i < newNum.length; i++) {
|
for (let i = 0; i < newNum.length; i++) {
|
||||||
arr1.push(newNum[newNum.length - i - 1]);
|
arr1.push(newNum[newNum.length - i - 1]);
|
||||||
}
|
}
|
||||||
for (let i = 0; i < arr1.length; i++) {
|
for (let i = 0; i < arr1.length; i++) {
|
||||||
num += arr1[i];
|
num += arr1[i];
|
||||||
}
|
}
|
||||||
if (isDecimal) {
|
if (isDecimal) {
|
||||||
if (negative) {
|
if (negative) {
|
||||||
// num = '-' + num + decimalNum
|
// num = '-' + num + decimalNum
|
||||||
// return num
|
// return num
|
||||||
if (thousand) {
|
if (thousand) {
|
||||||
num = "-" + num + decimalNum + "万";
|
num = "-" + num + decimalNum + "万";
|
||||||
return num;
|
return num;
|
||||||
} else if (Billion) {
|
} else if (Billion) {
|
||||||
num = "-" + num + decimalNum + "亿";
|
num = "-" + num + decimalNum + "亿";
|
||||||
return num;
|
return num;
|
||||||
} else {
|
} else {
|
||||||
num = "-" + num + decimalNum;
|
num = "-" + num + decimalNum;
|
||||||
return num;
|
return num;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// num = num + decimalNum
|
// num = num + decimalNum
|
||||||
// return num
|
// return num
|
||||||
if (thousand) {
|
if (thousand) {
|
||||||
num = num + decimalNum + "万";
|
num = num + decimalNum + "万";
|
||||||
return num;
|
return num;
|
||||||
} else if (Billion) {
|
} else if (Billion) {
|
||||||
num = num + decimalNum + "亿";
|
num = num + decimalNum + "亿";
|
||||||
return num;
|
return num;
|
||||||
} else {
|
} else {
|
||||||
num = num + decimalNum;
|
num = num + decimalNum;
|
||||||
return num;
|
return num;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (negative) {
|
if (negative) {
|
||||||
// num = '-' + num
|
// num = '-' + num
|
||||||
// return num
|
// return num
|
||||||
if (thousand) {
|
if (thousand) {
|
||||||
num = "-" + num + "万";
|
num = "-" + num + "万";
|
||||||
return num;
|
return num;
|
||||||
} else if (Billion) {
|
} else if (Billion) {
|
||||||
num = "-" + num + "亿";
|
num = "-" + num + "亿";
|
||||||
return num;
|
return num;
|
||||||
} else {
|
} else {
|
||||||
num = "-" + num;
|
num = "-" + num;
|
||||||
return num;
|
return num;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (thousand) {
|
if (thousand) {
|
||||||
num = num + "万";
|
num = num + "万";
|
||||||
return num;
|
return num;
|
||||||
} else if (Billion) {
|
} else if (Billion) {
|
||||||
num = num + "亿";
|
num = num + "亿";
|
||||||
return num;
|
return num;
|
||||||
} else {
|
} else {
|
||||||
return num;
|
return num;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const commonData={
|
const commonData = {
|
||||||
timeout:50
|
timeout: 50
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//组织树
|
//组织树
|
||||||
const organizationalTree= [
|
const organizationalTree = [
|
||||||
{
|
{
|
||||||
title: "京东方",
|
title: "京东方",
|
||||||
value: "京东方",
|
value: "京东方",
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
title: "产研部",
|
title: "产研部",
|
||||||
value: "产研部",
|
value: "产研部",
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
title: "产品部",
|
title: "产品部",
|
||||||
value: "产品部",
|
value: "产品部",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "研究部",
|
title: "研究部",
|
||||||
value: "研究部",
|
value: "研究部",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "研究部2",
|
title: "研究部2",
|
||||||
value: "研究部2",
|
value: "研究部2",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "研究3",
|
title: "研究3",
|
||||||
value: "研究3",
|
value: "研究3",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "研究4",
|
title: "研究4",
|
||||||
value: "研究4",
|
value: "研究4",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "研究部5",
|
title: "研究部5",
|
||||||
value: "研究部5",
|
value: "研究部5",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "研究部6",
|
title: "研究部6",
|
||||||
value: "研究部6",
|
value: "研究部6",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "研究部7",
|
title: "研究部7",
|
||||||
value: "研究部7",
|
value: "研究部7",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "研究部8",
|
title: "研究部8",
|
||||||
value: "研究部8",
|
value: "研究部8",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "研究部9",
|
title: "研究部9",
|
||||||
value: "研究部9",
|
value: "研究部9",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "二级标题",
|
title: "二级标题",
|
||||||
value: "二级标题",
|
value: "二级标题",
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
title: "三级标题",
|
title: "三级标题",
|
||||||
value: "三级标题",
|
value: "三级标题",
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
title: "四级标题",
|
title: "四级标题",
|
||||||
value: "四级标题",
|
value: "四级标题",
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
title: "五级标题",
|
title: "五级标题",
|
||||||
value: "五级标题",
|
value: "五级标题",
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
title: "六级标题",
|
title: "六级标题",
|
||||||
value: "六级标题",
|
value: "六级标题",
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
title: "七级标题",
|
title: "七级标题",
|
||||||
value: "七级标题",
|
value: "七级标题",
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
title: "八级标题",
|
title: "八级标题",
|
||||||
value: "八级标题",
|
value: "八级标题",
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
title: "九级标题",
|
title: "九级标题",
|
||||||
value: "九级标题",
|
value: "九级标题",
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
title: "十级标题",
|
title: "十级标题",
|
||||||
value: "十级标题",
|
value: "十级标题",
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
title: "十一级标题",
|
title: "十一级标题",
|
||||||
value: "十一级标题",
|
value: "十一级标题",
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
title: "十二级标题",
|
title: "十二级标题",
|
||||||
value: "十二级标题",
|
value: "十二级标题",
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
title:
|
title:
|
||||||
"十三级标题十三级标题十三级标题十三级标题",
|
"十三级标题十三级标题十三级标题十三级标题",
|
||||||
value: "十三级标题",
|
value: "十三级标题",
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
title:
|
title:
|
||||||
"十四级标题",
|
"十四级标题",
|
||||||
value:
|
value:
|
||||||
"十四级标题",
|
"十四级标题",
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
title:
|
title:
|
||||||
"十五级标题",
|
"十五级标题",
|
||||||
value:
|
value:
|
||||||
"十五级标题",
|
"十五级标题",
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
title:
|
title:
|
||||||
"十六级标题",
|
"十六级标题",
|
||||||
value:
|
value:
|
||||||
"十六级标题",
|
"十六级标题",
|
||||||
children:
|
children:
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
title:
|
title:
|
||||||
"十七级标题",
|
"十七级标题",
|
||||||
value:
|
value:
|
||||||
"十七级标题",
|
"十七级标题",
|
||||||
children:
|
children:
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
title:
|
title:
|
||||||
"十八级标题",
|
"十八级标题",
|
||||||
value:
|
value:
|
||||||
"十八级标题",
|
"十八级标题",
|
||||||
children:
|
children:
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
title:
|
title:
|
||||||
"十九级标题",
|
"十九级标题",
|
||||||
value:
|
value:
|
||||||
"十九级标题",
|
"十九级标题",
|
||||||
children:
|
children:
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
title:
|
title:
|
||||||
"二十级标题二十级标题",
|
"二十级标题二十级标题",
|
||||||
value:
|
value:
|
||||||
"二十级标题二十级标题",
|
"二十级标题二十级标题",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "人力资源部",
|
title: "人力资源部",
|
||||||
value: "人力资源部",
|
value: "人力资源部",
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
title: "人事部",
|
title: "人事部",
|
||||||
value: "人事部",
|
value: "人事部",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "行政部",
|
title: "行政部",
|
||||||
value: "行政部",
|
value: "行政部",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
export {
|
export {
|
||||||
toDate,
|
toDate,
|
||||||
getWeek,
|
getWeek,
|
||||||
autoComma,
|
autoComma,
|
||||||
commonData,
|
formatNumber,
|
||||||
organizationalTree,
|
commonData,
|
||||||
|
organizationalTree,
|
||||||
}
|
}
|
||||||
@@ -102,6 +102,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<a-range-picker
|
<a-range-picker
|
||||||
|
v-model:value="chooseTime"
|
||||||
:placeholder="[' 开始时间', ' 结束时间']"
|
:placeholder="[' 开始时间', ' 结束时间']"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -185,10 +186,10 @@
|
|||||||
<span style="color: #999999; margin-left: 8px">分钟</span>
|
<span style="color: #999999; margin-left: 8px">分钟</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="qdqtbox">
|
<div class="qdqtbox">
|
||||||
<div class="qtbtn"><div class="btntext">签退</div></div>
|
<div class="qtbtn"><div class="btntext">签退</div></div>
|
||||||
</div> -->
|
</div>
|
||||||
<!-- <div class="setbox">
|
<div class="setbox">
|
||||||
<div class="timerbox">
|
<div class="timerbox">
|
||||||
<span>结束前:</span>
|
<span>结束前:</span>
|
||||||
<a-input-number
|
<a-input-number
|
||||||
@@ -207,7 +208,7 @@
|
|||||||
>分钟(提前签退则记为早退)</span
|
>分钟(提前签退则记为早退)</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
</div> -->
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="main_item">
|
<div class="main_item">
|
||||||
@@ -230,7 +231,7 @@
|
|||||||
<span style="margin-right: 3px">其他设置:</span>
|
<span style="margin-right: 3px">其他设置:</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<a-checkbox v-model:checked="checked"
|
<a-checkbox v-model:checked="checkedHolidy"
|
||||||
>学员请假后记为任务完成</a-checkbox
|
>学员请假后记为任务完成</a-checkbox
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
@@ -255,7 +256,9 @@
|
|||||||
<span style="margin-right: 3px">评估:</span>
|
<span style="margin-right: 3px">评估:</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="btnbox2">
|
<div class="btnbox2">
|
||||||
<a-checkbox v-model:checked="checked">需要评估</a-checkbox>
|
<a-checkbox v-model:checked="checkedAssessment"
|
||||||
|
>需要评估</a-checkbox
|
||||||
|
>
|
||||||
<button class="xkbtn">选择评估</button>
|
<button class="xkbtn">选择评估</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -309,7 +312,11 @@ import { reactive, toRefs } from "vue";
|
|||||||
import SelFacet from "../../components/drawers/SelFacet.vue";
|
import SelFacet from "../../components/drawers/SelFacet.vue";
|
||||||
import AddHomework from "../../components/drawers/AddHomework.vue";
|
import AddHomework from "../../components/drawers/AddHomework.vue";
|
||||||
import AddTest from "../../components/drawers/AddTest.vue";
|
import AddTest from "../../components/drawers/AddTest.vue";
|
||||||
|
import { ProjectEditTask, RouterEditTask } from "@/api/indexTask";
|
||||||
|
// import * as method from "../../api/method"
|
||||||
|
import { message } from "ant-design-vue";
|
||||||
|
import { queryFaceDetailById } from "../../api/indexFace";
|
||||||
|
import dayjs from "dayjs";
|
||||||
export default {
|
export default {
|
||||||
name: "AddFaceteach",
|
name: "AddFaceteach",
|
||||||
components: {
|
components: {
|
||||||
@@ -379,6 +386,10 @@ export default {
|
|||||||
testV1: "",
|
testV1: "",
|
||||||
radioV1: "",
|
radioV1: "",
|
||||||
radioV2: "",
|
radioV2: "",
|
||||||
|
textV1: "",
|
||||||
|
checkedHolidy: false,
|
||||||
|
checkedAssessment: false,
|
||||||
|
chooseTime: [],
|
||||||
});
|
});
|
||||||
const closeDrawer = () => {
|
const closeDrawer = () => {
|
||||||
ctx.emit("update:addfaceteachVisible", false);
|
ctx.emit("update:addfaceteachVisible", false);
|
||||||
@@ -388,9 +399,11 @@ export default {
|
|||||||
localStorage.setItem("chapterId", props.isactive);
|
localStorage.setItem("chapterId", props.isactive);
|
||||||
};
|
};
|
||||||
const afterVisibleChange = (bool) => {
|
const afterVisibleChange = (bool) => {
|
||||||
if (bool) {
|
if (bool && props.edit) {
|
||||||
|
// 该页面显示同时 edit为true 时,发送查询请求,
|
||||||
queryFaceTeach();
|
queryFaceTeach();
|
||||||
}
|
}
|
||||||
|
// queryFaceTeach();
|
||||||
};
|
};
|
||||||
const showDrawerSelFacet = () => {
|
const showDrawerSelFacet = () => {
|
||||||
state.selfacetvisible = true;
|
state.selfacetvisible = true;
|
||||||
@@ -412,12 +425,102 @@ export default {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
//查询面授
|
//查询面授
|
||||||
const queryFaceTeach = () => {};
|
const queryFaceTeach = () => {
|
||||||
//更新任务列表
|
//暂时写一个假的offcoursePlanId
|
||||||
const updateTask = () => {};
|
queryFaceDetailById(2).then((res) => {
|
||||||
|
// state.inputV1 = res.data.data.name;
|
||||||
|
// state.inputV2 = res.data.data.teacherId;
|
||||||
|
console.log("获取到了面授课开课详情", res.data.data);
|
||||||
|
let result = res.data.data;
|
||||||
|
state.inputV1 = result.name;
|
||||||
|
state.textV1 = result.description;
|
||||||
|
state.inputV2 = result.teacher;
|
||||||
|
if (result.beginTime && result.endTime) {
|
||||||
|
state.chooseTime = [
|
||||||
|
dayjs(result.beginTime, "YYYY-MM-DD"),
|
||||||
|
dayjs(result.endTime, "YYYY-MM-DD"),
|
||||||
|
];
|
||||||
|
} else {
|
||||||
|
state.chooseTime = [];
|
||||||
|
}
|
||||||
|
state.inputV4 = result.address;
|
||||||
|
state.inputV5 = result.beforeStart;
|
||||||
|
state.inputV6 = result.afterStart;
|
||||||
|
state.inputV7 = result.beforeEnd;
|
||||||
|
// state.radioV1 = result.
|
||||||
|
state.checkedHolidy =
|
||||||
|
result.completeType == 1
|
||||||
|
? false
|
||||||
|
: result.completeType == 2
|
||||||
|
? false
|
||||||
|
: result.completeType == 3
|
||||||
|
? true
|
||||||
|
: false;
|
||||||
|
if (result.projectMember) {
|
||||||
|
state.radioV2 = "1";
|
||||||
|
} else if (result.noProjectMember) {
|
||||||
|
state.radioV2 = "2";
|
||||||
|
} else {
|
||||||
|
state.radioV2 = "";
|
||||||
|
}
|
||||||
|
if (result.completeSet == 1) {
|
||||||
|
state.radioV1 = "1";
|
||||||
|
} else {
|
||||||
|
state.radioV1 = "2";
|
||||||
|
}
|
||||||
|
state.checkedAssessment = result.evalFlag == 1 ? true : false;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
//新建或编辑面授
|
//新建或编辑面授
|
||||||
const updateFaceTeach = () => {};
|
const updateFaceTeach = () => {};
|
||||||
const upDateTable = () => {
|
const upDateTable = () => {};
|
||||||
|
|
||||||
|
//更新任务列表
|
||||||
|
const updateTask = (res) => {
|
||||||
|
if (props.isLevel == 1) {
|
||||||
|
let editObj1 = {
|
||||||
|
chapterId: props.isactive,
|
||||||
|
courseId: res.data.data.offcoursePlanId,
|
||||||
|
name: res.data.data.name,
|
||||||
|
routerId: props.routerId,
|
||||||
|
routerTaskId: props.routerTaskId || 0,
|
||||||
|
type: 2,
|
||||||
|
};
|
||||||
|
RouterEditTask(editObj1)
|
||||||
|
.then(() => {
|
||||||
|
message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
|
||||||
|
ctx.emit("changeData", false);
|
||||||
|
// state.addLoading = false;
|
||||||
|
closeDrawer();
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`);
|
||||||
|
});
|
||||||
|
} else if (props.isLevel == 2) {
|
||||||
|
let editObj = {
|
||||||
|
courseId: res.data.data.offcoursePlanId,
|
||||||
|
duration: 0,
|
||||||
|
name: res.data.data.name,
|
||||||
|
projectId: props.projectId,
|
||||||
|
projectTaskId: props.projectTaskId || 0,
|
||||||
|
stageId: props.chooseStageId,
|
||||||
|
type: 2,
|
||||||
|
};
|
||||||
|
// 新增编辑或新增项目
|
||||||
|
ProjectEditTask(editObj)
|
||||||
|
.then(() => {
|
||||||
|
message.success(
|
||||||
|
`${props.EditTestId ? "编辑" : "新增"}阶段任务成功`
|
||||||
|
);
|
||||||
|
ctx.emit("changeData", false);
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
message.error(`${props.EditTestId ? "编辑" : "新增"}阶段任务失败`);
|
||||||
|
});
|
||||||
|
} else if (props.isLevel == 3) {
|
||||||
|
console.log("");
|
||||||
|
}
|
||||||
};
|
};
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
|
|||||||
@@ -16,6 +16,8 @@
|
|||||||
<script>
|
<script>
|
||||||
import { reactive, toRefs, onMounted } from "vue";
|
import { reactive, toRefs, onMounted } from "vue";
|
||||||
import { getTask } from "../../api/indexTaskadd";
|
import { getTask } from "../../api/indexTaskadd";
|
||||||
|
import { noticeList } from "../../api/indexNotice";
|
||||||
|
// import { toDate } from "../../api/method";
|
||||||
export default {
|
export default {
|
||||||
name: "NoticeHis",
|
name: "NoticeHis",
|
||||||
props: {
|
props: {
|
||||||
@@ -35,11 +37,6 @@ export default {
|
|||||||
// "jwlfwefefweffjwofiewjffwefwowefjwlfwefwefwefweffjwofiewjfowefjwlfwefwefwefweffjwofiewjfowefjwlfwefwefwefweffjwofiewjfowefjwlfwefwefwefweffjwofiewjfowefjwlfwefwefwefweffjwofiewjfowefjwlfwefwefwefweffjwofiewjfowefjwlfwefwefwefwef",
|
// "jwlfwefefweffjwofiewjffwefwowefjwlfwefwefwefweffjwofiewjfowefjwlfwefwefwefweffjwofiewjfowefjwlfwefwefwefweffjwofiewjfowefjwlfwefwefwefweffjwofiewjfowefjwlfwefwefwefweffjwofiewjfowefjwlfwefwefwefweffjwofiewjfowefjwlfwefwefwefwef",
|
||||||
// pubtime: "2022-11-7 12:23:00",
|
// pubtime: "2022-11-7 12:23:00",
|
||||||
// },
|
// },
|
||||||
// {
|
|
||||||
// id: 2,
|
|
||||||
// content: "fjwofiewjfowefjwlfwefwefwefwef",
|
|
||||||
// pubtime: "2022-11-7 12:23:00",
|
|
||||||
// },
|
|
||||||
],
|
],
|
||||||
projectInfo: {},
|
projectInfo: {},
|
||||||
});
|
});
|
||||||
@@ -50,12 +47,42 @@ export default {
|
|||||||
//下一步是把公告赋值给state.notice
|
//下一步是把公告赋值给state.notice
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
const setNoticeData = (tableData) => {
|
||||||
|
let data = tableData;
|
||||||
|
let array = [];
|
||||||
|
data.map((item) => {
|
||||||
|
let obj = {
|
||||||
|
id: item.noticeId,
|
||||||
|
content: item.notice,
|
||||||
|
createId: item.createId,
|
||||||
|
pubtime: item.createTime,
|
||||||
|
};
|
||||||
|
array.push(obj);
|
||||||
|
});
|
||||||
|
state.notice = array;
|
||||||
|
};
|
||||||
|
const getNotice = () => {
|
||||||
|
noticeList(props.projectId)
|
||||||
|
.then((res) => {
|
||||||
|
console.log("获取公告列表成功");
|
||||||
|
let result = res.data.data;
|
||||||
|
if (result.length > 0) {
|
||||||
|
setNoticeData(result);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log("获取公告列表失败", err);
|
||||||
|
});
|
||||||
|
};
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getTaskInfo();
|
getTaskInfo();
|
||||||
|
getNotice();
|
||||||
});
|
});
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
getTaskInfo,
|
getTaskInfo,
|
||||||
|
getNotice,
|
||||||
|
setNoticeData,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -28,7 +28,8 @@
|
|||||||
import { message } from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
import { reactive, toRefs, onMounted } from "vue";
|
import { reactive, toRefs, onMounted } from "vue";
|
||||||
import { getTask } from "../../api/indexTaskadd";
|
import { getTask } from "../../api/indexTaskadd";
|
||||||
import { editProj } from "../../api/indexTaskadd";
|
// import { editProj } from "../../api/indexTaskadd";
|
||||||
|
import { publishNotice } from "../../api/indexNotice";
|
||||||
export default {
|
export default {
|
||||||
name: "NoticePub",
|
name: "NoticePub",
|
||||||
props: {
|
props: {
|
||||||
@@ -54,36 +55,19 @@ export default {
|
|||||||
message.destroy();
|
message.destroy();
|
||||||
return message.warning("请输入公告内容");
|
return message.warning("请输入公告内容");
|
||||||
} else {
|
} else {
|
||||||
let result = state.projectInfo;
|
|
||||||
let obj = {
|
let obj = {
|
||||||
attach: result.attach,
|
createId: state.projectInfo.createId,
|
||||||
beginTime: result.beginTime,
|
createName: state.projectInfo.createName,
|
||||||
boeFlag: result.boeFlag,
|
|
||||||
category: result.category,
|
|
||||||
courseSyncFlag: result.courseSyncFlag,
|
|
||||||
endTime: result.endTime,
|
|
||||||
level: result.level,
|
|
||||||
manager: result.manager,
|
|
||||||
managerId: result.managerId,
|
|
||||||
name: result.name,
|
|
||||||
notice: state.noticeContent,
|
notice: state.noticeContent,
|
||||||
noticeFlag: 1,
|
noticeId: 0,
|
||||||
parentId: result.parentId,
|
projectId: props.projectId,
|
||||||
picUrl: result.picUrl,
|
title: "",
|
||||||
projectId: result.projectId,
|
|
||||||
remark: result.remark,
|
|
||||||
sourceBelongId: result.sourceBelongId,
|
|
||||||
status: result.status,
|
|
||||||
systemId: result.systemId,
|
|
||||||
templateId: result.templateId,
|
|
||||||
type: result.type,
|
|
||||||
};
|
};
|
||||||
// console.log(result, obj, result.type);
|
publishNotice(obj)
|
||||||
editProj(obj)
|
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
message.destroy();
|
message.destroy();
|
||||||
message.success("发布成功", res);
|
message.success("发布成功", res);
|
||||||
state.noticeContent = null;
|
state.noticeContent = "";
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
message.destroy();
|
message.destroy();
|
||||||
|
|||||||
@@ -291,9 +291,10 @@ import StuScoreDetail from "../../components/drawers/StuScoreDetail";
|
|||||||
import { reactive, toRefs, computed, onMounted } from "vue";
|
import { reactive, toRefs, computed, onMounted } from "vue";
|
||||||
import * as api from "../../api/index1";
|
import * as api from "../../api/index1";
|
||||||
// import { message } from "ant-design-vue";
|
// import { message } from "ant-design-vue";
|
||||||
// import { scoreRule } from "../../api/indexTaskadd"; //获取项目积分规则
|
import { scoreRule } from "../../api/indexTaskadd"; //获取项目积分规则
|
||||||
import { setScoreRule } from "../../api/indexTaskadd"; //设置项目积分规则
|
import { setScoreRule } from "../../api/indexTaskadd"; //设置项目积分规则
|
||||||
import { getProjStu } from "../../api/indexProjStu";
|
import { getProjStu } from "../../api/indexProjStu";
|
||||||
|
import { message } from "ant-design-vue";
|
||||||
export default {
|
export default {
|
||||||
name: "ProjectScore",
|
name: "ProjectScore",
|
||||||
components: {
|
components: {
|
||||||
@@ -512,6 +513,8 @@ export default {
|
|||||||
if (e == 2) {
|
if (e == 2) {
|
||||||
// console.log('获取项目积分-榜单')
|
// console.log('获取项目积分-榜单')
|
||||||
scoreRank(1, 1);
|
scoreRank(1, 1);
|
||||||
|
} else if (e == 3) {
|
||||||
|
getScoreRule();
|
||||||
}
|
}
|
||||||
rankReset();
|
rankReset();
|
||||||
state.todayvalue = "1";
|
state.todayvalue = "1";
|
||||||
@@ -558,29 +561,55 @@ export default {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
// end -----榜单----------------榜单----------------------榜单-----------榜单----------
|
// end -----榜单----------------榜单----------------------榜单-----------榜单----------
|
||||||
|
//设置积分规则
|
||||||
const editRule = () => {
|
const editRule = () => {
|
||||||
console.log(props.projectId);
|
console.log(props.projectId);
|
||||||
let obj = {
|
let obj = {
|
||||||
courseScore: state.score1,
|
courseScore: state.score1,
|
||||||
examItem: {
|
examItem: [
|
||||||
numLimit: 0,
|
{
|
||||||
score: state.five2,
|
id: 0,
|
||||||
scoreLimit: state.five1,
|
projectId: props.projectId,
|
||||||
},
|
numLimit: 0,
|
||||||
//有名次要求的提交作业
|
score: state.five2,
|
||||||
homeworkItem: {
|
scoreLimit: state.five1,
|
||||||
numLimit: state.four3,
|
type: 3,
|
||||||
score: state.four5,
|
},
|
||||||
scoreLimit: state.four4,
|
],
|
||||||
},
|
|
||||||
|
homeworkItem: [
|
||||||
|
//有名次要求的提交作业
|
||||||
|
{
|
||||||
|
id: 0,
|
||||||
|
projectId: props.projectId,
|
||||||
|
numLimit: state.four3,
|
||||||
|
score: state.four5,
|
||||||
|
scoreLimit: state.four4,
|
||||||
|
type: 2,
|
||||||
|
},
|
||||||
|
//无名次要求的提交作业
|
||||||
|
{
|
||||||
|
id: 0,
|
||||||
|
projectId: props.projectId,
|
||||||
|
numLimit: 0,
|
||||||
|
score: state.done3,
|
||||||
|
scoreLimit: state.done2,
|
||||||
|
type: 2,
|
||||||
|
},
|
||||||
|
],
|
||||||
leaderScore: state.seven1,
|
leaderScore: state.seven1,
|
||||||
projectId: props.projectId,
|
projectId: props.projectId,
|
||||||
signScore: state.six1,
|
signScore: state.six1,
|
||||||
topCompleteCourseItem: {
|
topCompleteCourseItem: [
|
||||||
numLimit: state.four1,
|
{
|
||||||
score: state.four2,
|
id: 0,
|
||||||
scoreLimit: 0,
|
projectId: props.projectId,
|
||||||
},
|
numLimit: state.four1,
|
||||||
|
score: state.four2,
|
||||||
|
scoreLimit: 0,
|
||||||
|
type: 1,
|
||||||
|
},
|
||||||
|
],
|
||||||
topStudentScore: state.seven2,
|
topStudentScore: state.seven2,
|
||||||
totalScore: scoresum.value,
|
totalScore: scoresum.value,
|
||||||
};
|
};
|
||||||
@@ -588,9 +617,13 @@ export default {
|
|||||||
setScoreRule(obj)
|
setScoreRule(obj)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log(res.data, "修改成功");
|
console.log(res.data, "修改成功");
|
||||||
|
message.destroy();
|
||||||
|
return message.success("修改积分规则成功");
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.log(err.data);
|
console.log(err.data);
|
||||||
|
message.destroy();
|
||||||
|
return message.warning("修改积分规则失败");
|
||||||
});
|
});
|
||||||
// scoreRule({
|
// scoreRule({
|
||||||
// projectId: props.projectId,
|
// projectId: props.projectId,
|
||||||
@@ -655,6 +688,33 @@ export default {
|
|||||||
state.searchNameValue = null;
|
state.searchNameValue = null;
|
||||||
getStu();
|
getStu();
|
||||||
};
|
};
|
||||||
|
const getScoreRule = () => {
|
||||||
|
scoreRule({
|
||||||
|
projectId: props.projectId,
|
||||||
|
})
|
||||||
|
.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);
|
||||||
|
});
|
||||||
|
};
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getStu();
|
getStu();
|
||||||
});
|
});
|
||||||
@@ -673,6 +733,7 @@ export default {
|
|||||||
changePagination,
|
changePagination,
|
||||||
searchStu,
|
searchStu,
|
||||||
resetStud,
|
resetStud,
|
||||||
|
getScoreRule,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
// computed: {
|
// computed: {
|
||||||
|
|||||||
@@ -989,9 +989,8 @@
|
|||||||
</div></a-modal
|
</div></a-modal
|
||||||
>
|
>
|
||||||
|
|
||||||
|
<!-- 是否删除阶段弹窗 -->
|
||||||
<!-- 是否删除阶段弹窗 -->
|
<a-modal
|
||||||
<a-modal
|
|
||||||
v-model:visible="deleteStageModal"
|
v-model:visible="deleteStageModal"
|
||||||
:footer="null"
|
:footer="null"
|
||||||
:closable="cC"
|
:closable="cC"
|
||||||
@@ -1011,10 +1010,10 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="del_btnbox">
|
<div class="del_btnbox">
|
||||||
<div class="del_btn btn1" @click="closeDeleteStage">
|
<div class="del_btn btn1" @click="closeDeleteStage">
|
||||||
<div class="btnText" >取消</div>
|
<div class="btnText">取消</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="del_btn btn2" @click="deleteStage">
|
<div class="del_btn btn2" @click="deleteStage">
|
||||||
<div class="btnText" >确定</div>
|
<div class="btnText">确定</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -1289,8 +1288,8 @@ export default {
|
|||||||
selectAll: 0, //0:未选择,1:全选,2:部分选择
|
selectAll: 0, //0:未选择,1:全选,2:部分选择
|
||||||
|
|
||||||
updateStageID: null, //编辑阶段id
|
updateStageID: null, //编辑阶段id
|
||||||
deleteStageId:null,//删除阶段的id
|
deleteStageId: null, //删除阶段的id
|
||||||
deleteStageModal:false,//删除阶段弹窗
|
deleteStageModal: false, //删除阶段弹窗
|
||||||
});
|
});
|
||||||
console.log("projectId", state.projectId);
|
console.log("projectId", state.projectId);
|
||||||
const selectProjectName = (value, index) => {
|
const selectProjectName = (value, index) => {
|
||||||
@@ -1520,8 +1519,10 @@ export default {
|
|||||||
? localStorage.getItem("stageId")
|
? localStorage.getItem("stageId")
|
||||||
: null;
|
: null;
|
||||||
console.log("zhaodaole", stage);
|
console.log("zhaodaole", stage);
|
||||||
|
// console.log("stage",Object.prototype.toString.call(stage))
|
||||||
if (stage !== null) {
|
getStageData(res.data.data.stageList);
|
||||||
|
if (stage !== "null") {
|
||||||
|
console.log(stage);
|
||||||
let stageList = res.data.data.stageList; //阶段数组
|
let stageList = res.data.data.stageList; //阶段数组
|
||||||
let result = stageList.find((item) => item.stageId == stage);
|
let result = stageList.find((item) => item.stageId == stage);
|
||||||
console.log("又找到了", result);
|
console.log("又找到了", result);
|
||||||
@@ -1530,11 +1531,9 @@ export default {
|
|||||||
let arr = res.data.data.stageList[0].taskList;
|
let arr = res.data.data.stageList[0].taskList;
|
||||||
console.log("任务列表", arr);
|
console.log("任务列表", arr);
|
||||||
getTableData(arr);
|
getTableData(arr);
|
||||||
|
// state.isActive = true;
|
||||||
|
changebgc(res.data.data.stageList[0].stageId);
|
||||||
}
|
}
|
||||||
// let stageList = res.data.data.stageList; //阶段数组
|
|
||||||
// let result = stageList.find((item) => item.stageId == stage);
|
|
||||||
// console.log("又找到了", result);
|
|
||||||
// getTableData(result.taskList);
|
|
||||||
|
|
||||||
// 每次都获取了第一条taskList
|
// 每次都获取了第一条taskList
|
||||||
// let arr = res.data.data.stageList[0].taskList;
|
// let arr = res.data.data.stageList[0].taskList;
|
||||||
@@ -1544,7 +1543,7 @@ export default {
|
|||||||
|
|
||||||
let stagearr = res.data.data.stageList;
|
let stagearr = res.data.data.stageList;
|
||||||
let arrlist = state.curLevel;
|
let arrlist = state.curLevel;
|
||||||
//console.log(stagearr, 111111);
|
console.log(stagearr, 111111);
|
||||||
if (stagearr.length > 0) {
|
if (stagearr.length > 0) {
|
||||||
getStageData(stagearr);
|
getStageData(stagearr);
|
||||||
stagearr.map((value) => {
|
stagearr.map((value) => {
|
||||||
@@ -1553,11 +1552,11 @@ export default {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
//给阶段id赋初始值
|
//给阶段id赋初始值
|
||||||
let stage = localStorage.getItem("stageId")
|
let stageid = localStorage.getItem("stageId")
|
||||||
? localStorage.getItem("stageId")
|
? localStorage.getItem("stageId")
|
||||||
: null;
|
: null;
|
||||||
if (stage !== "null") {
|
if (stageid !== "null") {
|
||||||
state.chooseStageId = stage;
|
state.chooseStageId = stageid;
|
||||||
} else {
|
} else {
|
||||||
state.chooseStageId = leng > 0 ? stagearr[0].stageId : null;
|
state.chooseStageId = leng > 0 ? stagearr[0].stageId : null;
|
||||||
}
|
}
|
||||||
@@ -1719,7 +1718,7 @@ export default {
|
|||||||
console.log("修改阶段成功", res);
|
console.log("修改阶段成功", res);
|
||||||
state.valuesname = "";
|
state.valuesname = "";
|
||||||
state.valuesnotice = "";
|
state.valuesnotice = "";
|
||||||
closeModal()
|
closeModal();
|
||||||
state.updateStageID = null;
|
state.updateStageID = null;
|
||||||
message.destroy();
|
message.destroy();
|
||||||
message.success("修改阶段成功");
|
message.success("修改阶段成功");
|
||||||
@@ -1738,9 +1737,9 @@ export default {
|
|||||||
.editStage(obj)
|
.editStage(obj)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log("添加阶段成功", res);
|
console.log("添加阶段成功", res);
|
||||||
state.valuesname = ""
|
state.valuesname = "";
|
||||||
state.valuesnotice = ""
|
state.valuesnotice = "";
|
||||||
closeModal()
|
closeModal();
|
||||||
message.destroy();
|
message.destroy();
|
||||||
message.success("添加阶段成功");
|
message.success("添加阶段成功");
|
||||||
getTask();
|
getTask();
|
||||||
@@ -1751,19 +1750,17 @@ export default {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//打开删除阶段弹窗
|
||||||
//打开删除阶段弹窗
|
const showDeleteStage = (id) => {
|
||||||
const showDeleteStage=(id)=>{
|
state.deleteStageId = id;
|
||||||
|
state.deleteStageModal = true;
|
||||||
state.deleteStageId=id
|
};
|
||||||
state.deleteStageModal=true
|
//关闭删除阶段弹窗
|
||||||
}
|
const closeDeleteStage = () => {
|
||||||
//关闭删除阶段弹窗
|
state.deleteStageId = null;
|
||||||
const closeDeleteStage=()=>{
|
state.deleteStageModal = false;
|
||||||
state.deleteStageId=null
|
};
|
||||||
state.deleteStageModal=false
|
//删除阶段
|
||||||
}
|
|
||||||
//删除阶段
|
|
||||||
const deleteStage = () => {
|
const deleteStage = () => {
|
||||||
console.log("chapterId", state.deleteStageId);
|
console.log("chapterId", state.deleteStageId);
|
||||||
let obj = {
|
let obj = {
|
||||||
@@ -1773,8 +1770,8 @@ const closeDeleteStage=()=>{
|
|||||||
.deleteStage(obj)
|
.deleteStage(obj)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log("删除阶段成功", res);
|
console.log("删除阶段成功", res);
|
||||||
message.success('删除阶段成功')
|
message.success("删除阶段成功");
|
||||||
closeDeleteStage()
|
closeDeleteStage();
|
||||||
getTask();
|
getTask();
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
|
|||||||
@@ -1049,8 +1049,8 @@
|
|||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-for="item in docList"
|
v-for="item in fileList"
|
||||||
:key="item.src"
|
:key="item.uid"
|
||||||
class="docListStyle"
|
class="docListStyle"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
@@ -1066,7 +1066,7 @@
|
|||||||
<span style="font: oblique bold 16px Sans-serif">{{
|
<span style="font: oblique bold 16px Sans-serif">{{
|
||||||
item.name
|
item.name
|
||||||
}}</span>
|
}}</span>
|
||||||
<span style="color: #4ea6ff; float: right">删除</span>
|
<span style="color: #4ea6ff; float: right;cursor: pointer;" @click="deFile(item.uid)">删除</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -1713,6 +1713,7 @@ import {
|
|||||||
import { message } from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
import * as apitl from "../../api/index";
|
import * as apitl from "../../api/index";
|
||||||
import { getTask } from "../../api/indexTaskadd";
|
import { getTask } from "../../api/indexTaskadd";
|
||||||
|
import { editProj } from "../../api/indexTaskadd";
|
||||||
import { toDate } from "../../api/method";
|
import { toDate } from "../../api/method";
|
||||||
import projSet from "../../components/Modals/projSet";
|
import projSet from "../../components/Modals/projSet";
|
||||||
import { overview } from "../../api/indexProjStu";
|
import { overview } from "../../api/indexProjStu";
|
||||||
@@ -1776,20 +1777,6 @@ export default {
|
|||||||
choosedStageId: 1, // 选择的阶段id
|
choosedStageId: 1, // 选择的阶段id
|
||||||
activeSetKey: "12", //12-基础信息 13-共享文档
|
activeSetKey: "12", //12-基础信息 13-共享文档
|
||||||
docChecked: true,
|
docChecked: true,
|
||||||
docList: [
|
|
||||||
{
|
|
||||||
name: "测试文档1.doc",
|
|
||||||
src: "",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "测试文档2.doc",
|
|
||||||
src: "",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "测试文档3.doc",
|
|
||||||
src: "",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
//学员信息列表
|
//学员信息列表
|
||||||
tabledata: [
|
tabledata: [
|
||||||
// {
|
// {
|
||||||
@@ -1907,6 +1894,7 @@ export default {
|
|||||||
ChangeGroupStuId: null, //要换组的学生id
|
ChangeGroupStuId: null, //要换组的学生id
|
||||||
ChangeGroupStuName: null, //要换组的学生name
|
ChangeGroupStuName: null, //要换组的学生name
|
||||||
ChangeGroupId: null, //要换组的学生的小组id
|
ChangeGroupId: null, //要换组的学生的小组id
|
||||||
|
fileList: [], //文件列表
|
||||||
//进度排行表
|
//进度排行表
|
||||||
jindutabledata: [
|
jindutabledata: [
|
||||||
{
|
{
|
||||||
@@ -2371,16 +2359,31 @@ export default {
|
|||||||
valueName: "", //排行榜输入姓名
|
valueName: "", //排行榜输入姓名
|
||||||
|
|
||||||
//设置
|
//设置
|
||||||
name: null, //项目名称
|
name: null, //项目名称 未改
|
||||||
startTime: null, //开始时间
|
startTime: null, //开始时间 已改
|
||||||
endTime: null, //结束时间
|
tstartTime: null, //开始事件 未改
|
||||||
manager: null, //项目经理
|
endTime: null, //结束时间 已改
|
||||||
sourceBelong: null, //资源归属
|
tendTime: null, //结束时间 未改
|
||||||
remark: null, //项目说明
|
manager: null, //项目经理 未改
|
||||||
level: null, //项目级别
|
sourceBelong: null, //资源归属 已改
|
||||||
|
tsourceBelong: null, //资源归属 未改
|
||||||
|
remark: null, //项目说明 未改
|
||||||
|
level: null, //项目级别 已改
|
||||||
|
tlevel: null, //项目级别 未改
|
||||||
systemId: null, //培训分类
|
systemId: null, //培训分类
|
||||||
picUrl: null,
|
tsystemId: null, //培训分类 未改
|
||||||
parentId: null,
|
picUrl: null, //未改
|
||||||
|
parentId: null, //未改
|
||||||
|
courseSyncFlag: null, //未改
|
||||||
|
boeFlag: null, //未改
|
||||||
|
managerId: null, //未改
|
||||||
|
notice: null, //未改
|
||||||
|
status: null, //未改
|
||||||
|
type: null, //未改
|
||||||
|
category: null, //未改
|
||||||
|
noticeFlag: null, //未改
|
||||||
|
templateId: null, //未改
|
||||||
|
attach: null,
|
||||||
});
|
});
|
||||||
|
|
||||||
const levelList = reactive({
|
const levelList = reactive({
|
||||||
@@ -3309,6 +3312,9 @@ export default {
|
|||||||
let info = res.data.data.projectInfo;
|
let info = res.data.data.projectInfo;
|
||||||
let start = toDate(info.beginTime / 1000, "Y-M-D h:m");
|
let start = toDate(info.beginTime / 1000, "Y-M-D h:m");
|
||||||
let end = toDate(info.endTime / 1000, "Y-M-D h:m");
|
let end = toDate(info.endTime / 1000, "Y-M-D h:m");
|
||||||
|
state.tstartTime = info.beginTime;
|
||||||
|
state.tendTime = info.endTime;
|
||||||
|
state.tsourceBelong = info.sourceBelongId;
|
||||||
state.parentId = info.parentId;
|
state.parentId = info.parentId;
|
||||||
state.name = info.name;
|
state.name = info.name;
|
||||||
state.startTime = start;
|
state.startTime = start;
|
||||||
@@ -3325,6 +3331,7 @@ export default {
|
|||||||
: info.level == 4
|
: info.level == 4
|
||||||
? "部门级"
|
? "部门级"
|
||||||
: "-";
|
: "-";
|
||||||
|
state.tlevel = info.level;
|
||||||
state.systemId =
|
state.systemId =
|
||||||
info.systemId == 1
|
info.systemId == 1
|
||||||
? "集团级"
|
? "集团级"
|
||||||
@@ -3335,9 +3342,20 @@ export default {
|
|||||||
: info.systemId == 4
|
: info.systemId == 4
|
||||||
? "部门级"
|
? "部门级"
|
||||||
: "-";
|
: "-";
|
||||||
|
state.tsystemId = info.systemId;
|
||||||
state.checkedSty = info.courseSyncFlag == 1 ? true : false;
|
state.checkedSty = info.courseSyncFlag == 1 ? true : false;
|
||||||
|
state.courseSyncFlag = info.courseSyncFlag;
|
||||||
state.checkedBOEU = info.boeFlag == 1 ? true : false;
|
state.checkedBOEU = info.boeFlag == 1 ? true : false;
|
||||||
|
state.boeFlag = info.boeFlag;
|
||||||
state.picUrl = info.picUrl;
|
state.picUrl = info.picUrl;
|
||||||
|
state.managerId = info.managerId;
|
||||||
|
state.notice = info.notice;
|
||||||
|
state.status = info.status;
|
||||||
|
state.type = info.type;
|
||||||
|
state.category = info.category;
|
||||||
|
state.noticeFlag = info.noticeFlag;
|
||||||
|
// state.attach = info.attach;
|
||||||
|
// state.templateId = info.templateId;
|
||||||
state.sourceBelong =
|
state.sourceBelong =
|
||||||
info.sourceBelongId == 1
|
info.sourceBelongId == 1
|
||||||
? "项目一"
|
? "项目一"
|
||||||
@@ -3346,6 +3364,24 @@ export default {
|
|||||||
: info.sourceBelongId == 3
|
: info.sourceBelongId == 3
|
||||||
? "项目三"
|
? "项目三"
|
||||||
: "-";
|
: "-";
|
||||||
|
// state.fileList=info.attach.split(",")
|
||||||
|
let d = info.attach.indexOf(",");
|
||||||
|
console.log(info.attach, "xgo", info.attach.length);
|
||||||
|
if (info.attach.length == 0) {
|
||||||
|
return;
|
||||||
|
} else if (info.attach.length !== 0 && d == -1) {
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
console.log(info.attach, "xgo");
|
||||||
|
// let str = JSON.parse(info.attach)
|
||||||
|
// console.log("赚回来",str)
|
||||||
|
// let luj = info.attach.split(",")
|
||||||
|
let luj = info.attach;
|
||||||
|
console.log("lulj", luj);
|
||||||
|
console.log("赚回来", JSON.parse(luj));
|
||||||
|
state.fileList = JSON.parse(luj)
|
||||||
|
// state.fileList = luj
|
||||||
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
//获取小组列表
|
//获取小组列表
|
||||||
@@ -3453,8 +3489,54 @@ export default {
|
|||||||
//end---------项目概览
|
//end---------项目概览
|
||||||
|
|
||||||
const handleChange = (info) => {
|
const handleChange = (info) => {
|
||||||
|
let list = [];
|
||||||
if (info.file.status !== "uploading") {
|
if (info.file.status !== "uploading") {
|
||||||
console.log(info.file, info.fileList);
|
console.log(info.file.response.data, info.fileList);
|
||||||
|
// info.fileList.map((item) => {
|
||||||
|
// //把地址放到list里
|
||||||
|
// // list.push(item.response.data);
|
||||||
|
// // list.push(JSON.stringify(item))
|
||||||
|
// state.fileList.push(item)
|
||||||
|
// });
|
||||||
|
|
||||||
|
state.fileList.push(info.file)
|
||||||
|
list = state.fileList
|
||||||
|
console.log("list", list);
|
||||||
|
// let str = list.join(",");
|
||||||
|
let str = JSON.stringify(list);
|
||||||
|
console.log("str", str);
|
||||||
|
//要编辑项目
|
||||||
|
editProj({
|
||||||
|
attach: str,
|
||||||
|
beginTime: state.tstartTime.slice(0, 10),
|
||||||
|
// beginTime:1668643200,
|
||||||
|
boeFlag: state.boeFlag,
|
||||||
|
category: state.category,
|
||||||
|
courseSyncFlag: state.courseSyncFlag,
|
||||||
|
endTime: state.tendTime.slice(0, 10),
|
||||||
|
// endTime: 1668816000,
|
||||||
|
level: state.tlevel,
|
||||||
|
manager: state.manager,
|
||||||
|
managerId: state.managerId,
|
||||||
|
name: state.name,
|
||||||
|
notice: state.notice,
|
||||||
|
noticeFlag: state.noticeFlag,
|
||||||
|
parentId: state.parentId,
|
||||||
|
picUrl: state.picUrl,
|
||||||
|
projectId: state.projectId,
|
||||||
|
remark: state.remark,
|
||||||
|
sourceBelongId: Number(state.tsourceBelong),
|
||||||
|
status: state.status,
|
||||||
|
systemId: state.tsystemId,
|
||||||
|
templateId: state.templateId || 0,
|
||||||
|
type: state.type,
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
console.log("上传成功", res);
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log("上传失败了", err);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (info.file.status === "done") {
|
if (info.file.status === "done") {
|
||||||
@@ -3644,6 +3726,46 @@ export default {
|
|||||||
console.log("模版保存失败", err);
|
console.log("模版保存失败", err);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
//删除文件
|
||||||
|
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)
|
||||||
|
editProj({
|
||||||
|
attach: str,
|
||||||
|
beginTime: state.tstartTime.slice(0, 10),
|
||||||
|
// beginTime:1668643200,
|
||||||
|
boeFlag: state.boeFlag,
|
||||||
|
category: state.category,
|
||||||
|
courseSyncFlag: state.courseSyncFlag,
|
||||||
|
endTime: state.tendTime.slice(0, 10),
|
||||||
|
// endTime: 1668816000,
|
||||||
|
level: state.tlevel,
|
||||||
|
manager: state.manager,
|
||||||
|
managerId: state.managerId,
|
||||||
|
name: state.name,
|
||||||
|
notice: state.notice,
|
||||||
|
noticeFlag: state.noticeFlag,
|
||||||
|
parentId: state.parentId,
|
||||||
|
picUrl: state.picUrl,
|
||||||
|
projectId: state.projectId,
|
||||||
|
remark: state.remark,
|
||||||
|
sourceBelongId: Number(state.tsourceBelong),
|
||||||
|
status: state.status,
|
||||||
|
systemId: state.tsystemId,
|
||||||
|
templateId: state.templateId || 0,
|
||||||
|
type: state.type,
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
console.log("上传成功", res);
|
||||||
|
message.destroy()
|
||||||
|
return message.success("删除成功")
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log("上传失败了", err);
|
||||||
|
});
|
||||||
|
}
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getStu();
|
getStu();
|
||||||
getTaskList();
|
getTaskList();
|
||||||
@@ -3651,6 +3773,8 @@ export default {
|
|||||||
getGroup();
|
getGroup();
|
||||||
getOverview();
|
getOverview();
|
||||||
reget();
|
reget();
|
||||||
|
// let a = state.attach.split(",")
|
||||||
|
// state.fileList = a
|
||||||
});
|
});
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
@@ -3744,6 +3868,7 @@ export default {
|
|||||||
closeStartModal,
|
closeStartModal,
|
||||||
templateProject,
|
templateProject,
|
||||||
changeGrouped,
|
changeGrouped,
|
||||||
|
deFile,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user