mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-15 22:06:45 +08:00
feat:隐藏功能
This commit is contained in:
@@ -9,6 +9,9 @@ export const projlist = (obj) => http.post('/admin/project/list', obj)
|
|||||||
//获取待审核项目列表
|
//获取待审核项目列表
|
||||||
export const auditlist = (obj) => http.post('/admin/project/auditlist', obj)
|
export const auditlist = (obj) => http.post('/admin/project/auditlist', obj)
|
||||||
|
|
||||||
|
//获取已审核项目列表
|
||||||
|
export const auditedlist = (obj) => http.post('/admin/project/auditedlist', obj)
|
||||||
|
|
||||||
//获取已审核项目列表
|
//获取已审核项目列表
|
||||||
export const listView = (obj) => http.post('/admin/project/listView', obj)
|
export const listView = (obj) => http.post('/admin/project/listView', obj)
|
||||||
|
|
||||||
|
|||||||
@@ -1,221 +1,235 @@
|
|||||||
|
|
||||||
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);
|
|
||||||
// 如果传入的是小数,逗号的添加位置和整数是有区别滴
|
|
||||||
for (let i = 0; i < numStr.length; i++) {
|
|
||||||
if (numStr[i] === ".") {
|
|
||||||
isDecimal = true;
|
|
||||||
decimal = i;
|
|
||||||
decimalNum = numStr.slice(decimal, numStr.length);
|
|
||||||
// 保留两位小数
|
|
||||||
if (decimalNum.length > 2) {
|
|
||||||
decimalNum = decimalNum.slice(0, 3);
|
|
||||||
}
|
}
|
||||||
numStr = numStr.slice(0, decimal);
|
let numStr = JSON.stringify(number);
|
||||||
}
|
// 如果传入的是小数,逗号的添加位置和整数是有区别滴
|
||||||
}
|
for (let i = 0; i < numStr.length; i++) {
|
||||||
for (let i = 0; i < numStr.length; i++) {
|
if (numStr[i] === ".") {
|
||||||
arr.push(numStr[numStr.length - i - 1]);
|
isDecimal = true;
|
||||||
}
|
decimal = i;
|
||||||
for (let i = 0; i < arr.length; i++) {
|
decimalNum = numStr.slice(decimal, numStr.length);
|
||||||
if ((i + 1) % 3 === 0 && i + 1 !== 0 && i + 1 < arr.length) {
|
// 保留两位小数
|
||||||
newNum += arr[i];
|
if (decimalNum.length > 2) {
|
||||||
newNum = newNum + ",";
|
decimalNum = decimalNum.slice(0, 3);
|
||||||
} else {
|
}
|
||||||
newNum += arr[i];
|
numStr = numStr.slice(0, decimal);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (let i = 0; i < newNum.length; i++) {
|
for (let i = 0; i < numStr.length; i++) {
|
||||||
arr1.push(newNum[newNum.length - i - 1]);
|
arr.push(numStr[numStr.length - i - 1]);
|
||||||
}
|
}
|
||||||
for (let i = 0; i < arr1.length; i++) {
|
for (let i = 0; i < arr.length; i++) {
|
||||||
num += arr1[i];
|
if ((i + 1) % 3 === 0 && i + 1 !== 0 && i + 1 < arr.length) {
|
||||||
}
|
newNum += arr[i];
|
||||||
if (isDecimal) {
|
newNum = newNum + ",";
|
||||||
if (negative) {
|
} else {
|
||||||
// num = '-' + num + decimalNum
|
newNum += arr[i];
|
||||||
// return num
|
}
|
||||||
if (thousand) {
|
}
|
||||||
num = "-" + num + decimalNum + "万";
|
for (let i = 0; i < newNum.length; i++) {
|
||||||
return num;
|
arr1.push(newNum[newNum.length - i - 1]);
|
||||||
} else if (Billion) {
|
}
|
||||||
num = "-" + num + decimalNum + "亿";
|
for (let i = 0; i < arr1.length; i++) {
|
||||||
return num;
|
num += arr1[i];
|
||||||
|
}
|
||||||
|
if (isDecimal) {
|
||||||
|
if (negative) {
|
||||||
|
// num = '-' + num + decimalNum
|
||||||
|
// return num
|
||||||
|
if (thousand) {
|
||||||
|
num = "-" + num + decimalNum + "万";
|
||||||
|
return num;
|
||||||
|
} else if (Billion) {
|
||||||
|
num = "-" + num + decimalNum + "亿";
|
||||||
|
return num;
|
||||||
|
} else {
|
||||||
|
num = "-" + num + decimalNum;
|
||||||
|
return num;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// num = num + decimalNum
|
||||||
|
// return num
|
||||||
|
if (thousand) {
|
||||||
|
num = num + decimalNum + "万";
|
||||||
|
return num;
|
||||||
|
} else if (Billion) {
|
||||||
|
num = num + decimalNum + "亿";
|
||||||
|
return num;
|
||||||
|
} else {
|
||||||
|
num = num + decimalNum;
|
||||||
|
return num;
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
num = "-" + num + decimalNum;
|
if (negative) {
|
||||||
return num;
|
// num = '-' + num
|
||||||
|
// return num
|
||||||
|
if (thousand) {
|
||||||
|
num = "-" + num + "万";
|
||||||
|
return num;
|
||||||
|
} else if (Billion) {
|
||||||
|
num = "-" + num + "亿";
|
||||||
|
return num;
|
||||||
|
} else {
|
||||||
|
num = "-" + num;
|
||||||
|
return num;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (thousand) {
|
||||||
|
num = num + "万";
|
||||||
|
return num;
|
||||||
|
} else if (Billion) {
|
||||||
|
num = num + "亿";
|
||||||
|
return num;
|
||||||
|
} else {
|
||||||
|
return num;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
// num = num + decimalNum
|
|
||||||
// return num
|
|
||||||
if (thousand) {
|
|
||||||
num = num + decimalNum + "万";
|
|
||||||
return num;
|
|
||||||
} else if (Billion) {
|
|
||||||
num = num + decimalNum + "亿";
|
|
||||||
return num;
|
|
||||||
} else {
|
|
||||||
num = num + decimalNum;
|
|
||||||
return num;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
if (negative) {
|
return 0;
|
||||||
// num = '-' + num
|
|
||||||
// return num
|
|
||||||
if (thousand) {
|
|
||||||
num = "-" + num + "万";
|
|
||||||
return num;
|
|
||||||
} else if (Billion) {
|
|
||||||
num = "-" + num + "亿";
|
|
||||||
return num;
|
|
||||||
} else {
|
|
||||||
num = "-" + num;
|
|
||||||
return num;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (thousand) {
|
|
||||||
num = num + "万";
|
|
||||||
return num;
|
|
||||||
} else if (Billion) {
|
|
||||||
num = num + "亿";
|
|
||||||
return num;
|
|
||||||
} else {
|
|
||||||
return num;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else {
|
}
|
||||||
return 0;
|
|
||||||
}
|
//节流
|
||||||
|
function throttle(fn, delay = 200) {
|
||||||
|
var timer = null;
|
||||||
|
return function () {
|
||||||
|
console.log('throttle')
|
||||||
|
var context = this, args = arguments;
|
||||||
|
clearTimeout(timer);
|
||||||
|
timer = setTimeout(function () {
|
||||||
|
fn.apply(context, args);
|
||||||
|
}, delay);
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
//把token存到cookie
|
//把token存到cookie
|
||||||
//name 字段名 value 字段值 perpetual 有效期
|
//name 字段名 value 字段值 perpetual 有效期
|
||||||
const setCookie = (name, value, perpetual) => {
|
const setCookie = (name, value, perpetual) => {
|
||||||
console.log('存储token到cookie')
|
console.log('存储token到cookie')
|
||||||
let exdate = new Date()
|
let exdate = new Date()
|
||||||
exdate.setDate(perpetual * 24 * 60 * 60 * 1000) //exdate.setDate(exdate.getDate() + 365)
|
exdate.setDate(perpetual * 24 * 60 * 60 * 1000) //exdate.setDate(exdate.getDate() + 365)
|
||||||
document.cookie = `${name}=${value};expires=${exdate.toGMTString()};path=/`
|
document.cookie = `${name}=${value};expires=${exdate.toGMTString()};path=/`
|
||||||
//永久有效
|
//永久有效
|
||||||
//document.cookie = name + '=' + value + ';expires=' + 'Fri, 31 Dec 9999 23:59:59 GMT'
|
//document.cookie = name + '=' + value + ';expires=' + 'Fri, 31 Dec 9999 23:59:59 GMT'
|
||||||
}
|
}
|
||||||
//获取cookie数据
|
//获取cookie数据
|
||||||
|
|
||||||
//先写一个方法
|
//先写一个方法
|
||||||
function getCookie(name) {
|
function getCookie(name) {
|
||||||
//1.获取cookie字符串
|
//1.获取cookie字符串
|
||||||
var cookies = document.cookie;
|
var cookies = document.cookie;
|
||||||
//通过;来分割字符串
|
//通过;来分割字符串
|
||||||
var cookie = cookies.split("; ");
|
var cookie = cookies.split("; ");
|
||||||
// console.log('cookie', cookie)
|
// console.log('cookie', cookie)
|
||||||
//遍历,使键值对匹配上
|
//遍历,使键值对匹配上
|
||||||
for (var i = 0; i < cookie.length; i++) {
|
for (var i = 0; i < cookie.length; i++) {
|
||||||
var arr = cookie[i].split("token=");
|
var arr = cookie[i].split("token=");
|
||||||
// console.log('arr', arr)
|
// console.log('arr', arr)
|
||||||
console.log('name', name)
|
console.log('name', name)
|
||||||
// if (arr[0] == name) {
|
// if (arr[0] == name) {
|
||||||
// console.log('arr[1]', arr[1])
|
// console.log('arr[1]', arr[1])
|
||||||
// return arr[1];
|
// return arr[1];
|
||||||
// }
|
// }
|
||||||
// console.log('arr[1]', arr[1])
|
// console.log('arr[1]', arr[1])
|
||||||
return arr[1]
|
return arr[1]
|
||||||
}
|
}
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//滚动加载信息
|
//滚动加载信息
|
||||||
const scrollLoad = (e) => {
|
const scrollLoad = (e) => {
|
||||||
// console.log("滚动", e, b);
|
// console.log("滚动", e, b);
|
||||||
const { target } = e;
|
const {target} = e;
|
||||||
const scrllHeight = target.scrollHeight - target.scrollTop;
|
const scrllHeight = target.scrollHeight - target.scrollTop;
|
||||||
const clientHeight = target.clientHeight;
|
const clientHeight = target.clientHeight;
|
||||||
// console.log("scrllHeight", scrllHeight, clientHeight);
|
// console.log("scrllHeight", scrllHeight, clientHeight);
|
||||||
if (scrllHeight === 0 && clientHeight === 0) {
|
if (scrllHeight === 0 && clientHeight === 0) {
|
||||||
return 1
|
return 1
|
||||||
} else if (scrllHeight - clientHeight == 0) {
|
} else if (scrllHeight - clientHeight == 0) {
|
||||||
return 2
|
return 2
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
//新建延迟
|
//新建延迟
|
||||||
const commonData = {
|
const commonData = {
|
||||||
timeout: 50,
|
timeout: 50,
|
||||||
}
|
}
|
||||||
// const organizationalTree = [
|
// const organizationalTree = [
|
||||||
// {
|
// {
|
||||||
@@ -422,14 +436,15 @@ const organizationalTree = []
|
|||||||
|
|
||||||
const iframeUrl = "https://u-pre.boe.com/pc/iframe"
|
const iframeUrl = "https://u-pre.boe.com/pc/iframe"
|
||||||
export {
|
export {
|
||||||
toDate,
|
throttle,
|
||||||
getWeek,
|
toDate,
|
||||||
autoComma,
|
getWeek,
|
||||||
formatNumber,
|
autoComma,
|
||||||
setCookie,
|
formatNumber,
|
||||||
getCookie,
|
setCookie,
|
||||||
scrollLoad,
|
getCookie,
|
||||||
commonData,
|
scrollLoad,
|
||||||
organizationalTree,
|
commonData,
|
||||||
iframeUrl,
|
organizationalTree,
|
||||||
|
iframeUrl,
|
||||||
}
|
}
|
||||||
@@ -1,49 +1,30 @@
|
|||||||
<template>
|
<template>
|
||||||
<a-drawer
|
<a-drawer :visible="addevalVisible" class="drawerStyle addevalDrawer" width="80%" title="添加测评" placement="right"
|
||||||
:visible="addevalVisible"
|
@after-visible-change="afterVisibleChange">
|
||||||
class="drawerStyle addevalDrawer"
|
|
||||||
width="80%"
|
|
||||||
title="添加测评"
|
|
||||||
placement="right"
|
|
||||||
@after-visible-change="afterVisibleChange"
|
|
||||||
>
|
|
||||||
<div class="drawerMain">
|
<div class="drawerMain">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="headerTitle">{{ edit ? "编辑" : "添加" }}测评</div>
|
<div class="headerTitle">{{ edit ? "编辑" : "添加" }}测评</div>
|
||||||
<img
|
<img style="width: 29px; height: 29px; cursor: pointer" src="../../assets/images/basicinfo/close.png"
|
||||||
style="width: 29px; height: 29px; cursor: pointer"
|
@click="closeDrawer" />
|
||||||
src="../../assets/images/basicinfo/close.png"
|
|
||||||
@click="closeDrawer"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="contentMain">
|
<div class="contentMain">
|
||||||
<div class="main_left">
|
<div class="main_left">
|
||||||
<div class="main_item">
|
<div class="main_item">
|
||||||
<div class="signbox">
|
<div class="signbox">
|
||||||
<div class="sign">
|
<div class="sign">
|
||||||
<img
|
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||||
src="@/assets/images/coursewareManage/asterisk.png"
|
|
||||||
alt=""
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<span style="margin-right: 3px">测评名称:</span>
|
<span style="margin-right: 3px">测评名称:</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<a-input
|
<a-input v-model:value="inputV1" style="width: 424px; height: 32px" placeholder="请输入测评名称"
|
||||||
v-model:value="inputV1"
|
maxlength="20" />
|
||||||
style="width: 424px; height: 32px"
|
|
||||||
placeholder="请输入测评名称"
|
|
||||||
maxlength="20"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="main_item">
|
<div class="main_item">
|
||||||
<div class="signbox">
|
<div class="signbox">
|
||||||
<div class="sign">
|
<div class="sign">
|
||||||
<img
|
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||||
src="@/assets/images/coursewareManage/asterisk.png"
|
|
||||||
alt=""
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<span style="margin-right: 3px">选择测评:</span>
|
<span style="margin-right: 3px">选择测评:</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -52,13 +33,9 @@
|
|||||||
选择测评
|
选择测评
|
||||||
</button>
|
</button>
|
||||||
<span style="margin-left: 10px">
|
<span style="margin-left: 10px">
|
||||||
<a-tag
|
<a-tag class="tag-style" v-if="evaluationTypeName !== ''" :closable="true" @close="delTag">{{
|
||||||
class="tag-style"
|
evaluationTypeName
|
||||||
v-if="evaluationTypeName !== ''"
|
}}</a-tag>
|
||||||
:closable="true"
|
|
||||||
@close="delTag"
|
|
||||||
>{{ evaluationTypeName }}</a-tag
|
|
||||||
>
|
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -67,12 +44,8 @@
|
|||||||
<span style="margin-right: 3px">有效期:</span>
|
<span style="margin-right: 3px">有效期:</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<a-range-picker
|
<a-range-picker style="width: 424px" v-model:value="time" format="YYYY-MM-DD HH:mm:ss"
|
||||||
style="width: 424px"
|
:placeholder="[' 开始时间', ' 结束时间']" />
|
||||||
v-model:value="time"
|
|
||||||
format="YYYY-MM-DD HH:mm:ss"
|
|
||||||
:placeholder="[' 开始时间', ' 结束时间']"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="main_item2">
|
<div class="main_item2">
|
||||||
@@ -80,12 +53,9 @@
|
|||||||
<span style="margin-right: 3px">测评说明:</span>
|
<span style="margin-right: 3px">测评说明:</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="textarea">
|
<div class="textarea">
|
||||||
<a-textarea
|
<a-textarea maxlength="150" v-model:value="description" placeholder="请输入测评说明"
|
||||||
v-model:value="description"
|
style="width: 424px; height: 120px" allowClear />
|
||||||
placeholder="请输入测评说明"
|
<span style="position:relative;top:96px;left:-54px;z-index:9999;">{{ description.length }}/150</span>
|
||||||
style="width: 424px; height: 120px"
|
|
||||||
allowClear
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -95,26 +65,23 @@
|
|||||||
<button class="btn2" @click="creoredit">确定</button>
|
<button class="btn2" @click="creoredit">确定</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<EvList
|
<EvList v-model:EvalListVisible="EvalListVisible" v-model:evaluationTypeName="evaluationTypeName"
|
||||||
v-model:EvalListVisible="EvalListVisible"
|
@getEvListData="checkFinish" />
|
||||||
v-model:evaluationTypeName="evaluationTypeName"
|
|
||||||
@getEvListData="checkFinish"
|
|
||||||
/>
|
|
||||||
<!-- <div class="aeLoading" :style="{display:addLoading?'flex':'none'}">
|
<!-- <div class="aeLoading" :style="{display:addLoading?'flex':'none'}">
|
||||||
<a-spin :spinning="addLoading" tip="添加中..." />
|
<a-spin :spinning="addLoading" tip="添加中..." />
|
||||||
</div> -->
|
</div> -->
|
||||||
</a-drawer>
|
</a-drawer>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import {reactive, toRefs} from "vue";
|
import { reactive, toRefs } from "vue";
|
||||||
// import { useRouter } from "vue-router";
|
// import { useRouter } from "vue-router";
|
||||||
import EvList from "./EvList.vue";
|
import EvList from "./EvList.vue";
|
||||||
import * as api from "../../api/indexEval";
|
import * as api from "../../api/indexEval";
|
||||||
import * as apitaskadd from "../../api/indexTaskadd";
|
import * as apitaskadd from "../../api/indexTaskadd";
|
||||||
import {message} from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
import {RouterEditTask} from "@/api/indexTask";
|
import { RouterEditTask } from "@/api/indexTask";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
import {addTempTask} from "../../api/indexTaskadd";
|
import { addTempTask } from "../../api/indexTaskadd";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "AddEval",
|
name: "AddEval",
|
||||||
@@ -170,7 +137,7 @@ export default {
|
|||||||
evaluationTypeId: null,
|
evaluationTypeId: null,
|
||||||
evaluationTypeName: '',
|
evaluationTypeName: '',
|
||||||
description: "",
|
description: "",
|
||||||
EvalListVisible: false,
|
EvalListVisible: false
|
||||||
// addLoading:false,
|
// addLoading:false,
|
||||||
});
|
});
|
||||||
const checkFinish = (value) => {
|
const checkFinish = (value) => {
|
||||||
@@ -184,8 +151,8 @@ export default {
|
|||||||
state.time = undefined;
|
state.time = undefined;
|
||||||
state.description = "";
|
state.description = "";
|
||||||
state.evaluationTypeId = 0,
|
state.evaluationTypeId = 0,
|
||||||
state.evaluationTypeName = "",
|
state.evaluationTypeName = "",
|
||||||
localStorage.setItem("stageId", props.chooseStageId);
|
localStorage.setItem("stageId", props.chooseStageId);
|
||||||
localStorage.setItem("chapterId", props.isactive);
|
localStorage.setItem("chapterId", props.isactive);
|
||||||
};
|
};
|
||||||
const afterVisibleChange = (bool) => {
|
const afterVisibleChange = (bool) => {
|
||||||
@@ -212,32 +179,32 @@ export default {
|
|||||||
routerTaskId: props.routerTaskId || 0,
|
routerTaskId: props.routerTaskId || 0,
|
||||||
type: 10,
|
type: 10,
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
//message.success(`${props.EditTestId ? "编辑" : "新增"}关卡任务成功`);
|
//message.success(`${props.EditTestId ? "编辑" : "新增"}关卡任务成功`);
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
//message.error(`${props.EditTestId ? "编辑" : "新增"}关卡任务失败`);
|
//message.error(`${props.EditTestId ? "编辑" : "新增"}关卡任务失败`);
|
||||||
});
|
});
|
||||||
} else if (props.isLevel == 2) {
|
} else if (props.isLevel == 2) {
|
||||||
await apitaskadd
|
await apitaskadd
|
||||||
.addTask({
|
.addTask({
|
||||||
duration: 0,
|
duration: 0,
|
||||||
flag: true,
|
flag: true,
|
||||||
courseId: Number(value.evaluationId),
|
courseId: Number(value.evaluationId),
|
||||||
name: value.evaluationName,
|
name: value.evaluationName,
|
||||||
projectId: props.projectId,
|
projectId: props.projectId,
|
||||||
projectTaskId: props.projectTaskId || 0,
|
projectTaskId: props.projectTaskId || 0,
|
||||||
stageId: props.chooseStageId || 0,
|
stageId: props.chooseStageId || 0,
|
||||||
type: 10,
|
type: 10,
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
message.destroy()
|
message.destroy()
|
||||||
message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
|
message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
message.destroy()
|
message.destroy()
|
||||||
//message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
|
//message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
|
||||||
});
|
});
|
||||||
} else if (props.isLevel == 3) {
|
} else if (props.isLevel == 3) {
|
||||||
await addTempTask({
|
await addTempTask({
|
||||||
courseId: Number(value.evaluationId),
|
courseId: Number(value.evaluationId),
|
||||||
@@ -247,12 +214,12 @@ export default {
|
|||||||
stageId: props.chooseStageId || 0,
|
stageId: props.chooseStageId || 0,
|
||||||
type: 10,
|
type: 10,
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
//message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
|
//message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
//message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
|
//message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
//根据id获取测评信息
|
//根据id获取测评信息
|
||||||
@@ -261,24 +228,24 @@ export default {
|
|||||||
evaluationId: props.EditEvalId,
|
evaluationId: props.EditEvalId,
|
||||||
};
|
};
|
||||||
api
|
api
|
||||||
.queryEvaluationDetailById(objqi)
|
.queryEvaluationDetailById(objqi)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
message.destroy()
|
message.destroy()
|
||||||
message.success("获取测评信息成功");
|
message.success("获取测评信息成功");
|
||||||
state.inputV1 = res.data.data.evaluationName
|
state.inputV1 = res.data.data.evaluationName
|
||||||
state.evaluationTypeName = res.data.data.evaluationTypeName
|
state.evaluationTypeName = res.data.data.evaluationTypeName
|
||||||
state.evaluationTypeId = res.data.data.evaluationTypeId;
|
state.evaluationTypeId = res.data.data.evaluationTypeId;
|
||||||
state.time = res.data.data.evaluationStartTime ? [
|
state.time = res.data.data.evaluationStartTime ? [
|
||||||
dayjs(res.data.data.evaluationStartTime, "YYYY-MM-DD"),
|
dayjs(res.data.data.evaluationStartTime, "YYYY-MM-DD"),
|
||||||
dayjs(res.data.data.evaluationEndTime, "YYYY-MM-DD"),
|
dayjs(res.data.data.evaluationEndTime, "YYYY-MM-DD"),
|
||||||
] : undefined;
|
] : undefined;
|
||||||
state.description = res.data.data.evaluationExplain
|
state.description = res.data.data.evaluationExplain
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
message.destroy()
|
message.destroy()
|
||||||
message.error("获取测量平信息失败");
|
message.error("获取测量平信息失败");
|
||||||
console.log(err, "erererrerererererer");
|
console.log(err, "erererrerererererer");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
const creoredit = () => {
|
const creoredit = () => {
|
||||||
if (props.edit) {
|
if (props.edit) {
|
||||||
@@ -287,6 +254,7 @@ export default {
|
|||||||
createEvalText()
|
createEvalText()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const editInvistText = () => {
|
const editInvistText = () => {
|
||||||
if (!state.inputV1) {
|
if (!state.inputV1) {
|
||||||
message.destroy();
|
message.destroy();
|
||||||
@@ -309,18 +277,18 @@ export default {
|
|||||||
updateTime: "",
|
updateTime: "",
|
||||||
};
|
};
|
||||||
api
|
api
|
||||||
.updateEvaluation(objei)
|
.updateEvaluation(objei)
|
||||||
.then(async (res) => {
|
.then(async (res) => {
|
||||||
await updateTask(res.data.data);
|
await updateTask(res.data.data);
|
||||||
closeDrawer();
|
closeDrawer();
|
||||||
ctx.emit("changeData", false);
|
ctx.emit("changeData", false);
|
||||||
message.destroy();
|
message.destroy();
|
||||||
message.success("创建测评成功");
|
message.success("创建测评成功");
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
message.destroy();
|
message.destroy();
|
||||||
message.success("创建测评失败");
|
message.success("创建测评失败");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
//创建测评信息
|
//创建测评信息
|
||||||
const createEvalText = () => {
|
const createEvalText = () => {
|
||||||
@@ -346,18 +314,18 @@ export default {
|
|||||||
updateTime: "",
|
updateTime: "",
|
||||||
};
|
};
|
||||||
api
|
api
|
||||||
.createEvaluation(obj)
|
.createEvaluation(obj)
|
||||||
.then(async (res) => {
|
.then(async (res) => {
|
||||||
await updateTask(res.data.data);
|
await updateTask(res.data.data);
|
||||||
closeDrawer();
|
closeDrawer();
|
||||||
ctx.emit("changeData", false);
|
ctx.emit("changeData", false);
|
||||||
message.destroy();
|
message.destroy();
|
||||||
message.success("创建测评成功");
|
message.success("创建测评成功");
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
message.destroy();
|
message.destroy();
|
||||||
message.success("创建测评失败");
|
message.success("创建测评失败");
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
return {
|
return {
|
||||||
@@ -372,7 +340,7 @@ export default {
|
|||||||
queryInvistById,
|
queryInvistById,
|
||||||
editInvistText,
|
editInvistText,
|
||||||
showEvalDrawer,
|
showEvalDrawer,
|
||||||
updateTask,
|
updateTask
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -46,10 +46,11 @@
|
|||||||
<div class="img3"></div>
|
<div class="img3"></div>
|
||||||
<div class="wz">批量删除</div>
|
<div class="wz">批量删除</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn btn2">
|
<!-- 2022-11-30注释 后面放开 -->
|
||||||
|
<!-- <div class="btn btn2">
|
||||||
<div class="img2"></div>
|
<div class="img2"></div>
|
||||||
<div class="wz">导出信息</div>
|
<div class="wz">导出信息</div>
|
||||||
</div>
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
<div class="line">
|
<div class="line">
|
||||||
<div class="inline">
|
<div class="inline">
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
<template>
|
<template>
|
||||||
<a-drawer :visible="ProjAuditvisible" class="drawerStyle ProjectAudit" placement="right" width="60%"
|
<a-drawer :visible="ProjAuditvisible" class="drawerStyle ProjectAudit" placement="right" width="60%"
|
||||||
@after-visible-change="afterVisibleChange">
|
@after-visible-change="afterVisibleChange">
|
||||||
<div class="drawerMain">
|
<div class="drawerMain">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="headerTitle">审核项目</div>
|
<div class="headerTitle">审核项目</div>
|
||||||
<img style="width: 29px; height: 29px; cursor: pointer" src="../../assets/images/basicinfo/close.png"
|
<img style="width: 29px; height: 29px; cursor: pointer" src="../../assets/images/basicinfo/close.png"
|
||||||
@click="closeDrawer" />
|
@click="closeDrawer"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="main" style="padding-right: 10px">
|
<div class="main" style="padding-right: 10px">
|
||||||
<a-tabs v-model:activeKey="activeSetKey">
|
<a-tabs v-model:activeKey="activeSetKey">
|
||||||
@@ -15,62 +15,78 @@
|
|||||||
<div class="set_content">
|
<div class="set_content">
|
||||||
<div class="setc_name"><span>项目名称:</span></div>
|
<div class="setc_name"><span>项目名称:</span></div>
|
||||||
<div class="setc_main">
|
<div class="setc_main">
|
||||||
<span style="color: #999999">{{ name }}</span>
|
<span style="color: #999999">{{ projectInfo.name }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="set_content">
|
<div class="set_content">
|
||||||
<div class="setc_name"><span>封面图:</span></div>
|
<div class="setc_name"><span>封面图:</span></div>
|
||||||
<div class="setc_main">
|
<div class="setc_main">
|
||||||
<img style="width: 151px; height: 84px" :src="picUrl" alt="" />
|
<img style="width: 151px; height: 84px" :src="projectInfo.picUrl" alt=""/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="set_content">
|
<div class="set_content">
|
||||||
<div class="setc_name"><span>项目时间:</span></div>
|
<div class="setc_name"><span>项目时间:</span></div>
|
||||||
<div class="setc_main">
|
<div class="setc_main">
|
||||||
<span style="color: #999999">{{ startTime }} ~ {{ endTime }}</span>
|
<span style="color: #999999">{{ projectInfo.beginTime }} ~ {{ projectInfo.endTime }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="set_content">
|
<div class="set_content">
|
||||||
<div class="setc_name"><span>项目经理:</span></div>
|
<div class="setc_name"><span>项目经理:</span></div>
|
||||||
<div class="setc_main">
|
<div class="setc_main">
|
||||||
<span style="color: #999999">{{ manager }}</span>
|
<span style="color: #999999">{{ projectInfo.manager }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="set_content">
|
<div class="set_content">
|
||||||
<div class="setc_name"><span>资源归属:</span></div>
|
<div class="setc_name"><span>资源归属:</span></div>
|
||||||
<div class="setc_main">
|
<div class="setc_main">
|
||||||
<span style="color: #999999">{{ sourceBelongName }}</span>
|
<span style="color: #999999">{{ projectInfo.sourceBelongName }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="set_content">
|
<div class="set_content">
|
||||||
<div class="setc_name"><span>项目说明:</span></div>
|
<div class="setc_name"><span>项目说明:</span></div>
|
||||||
<div class="setc_main">
|
<div class="setc_main">
|
||||||
<span style="color: #999999">{{ remark }}</span>
|
<span style="color: #999999">{{ projectInfo.remark }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="set_content">
|
<div class="set_content">
|
||||||
<div class="setc_name"><span>同步学习记录:</span></div>
|
<div class="setc_name"><span>同步学习记录:</span></div>
|
||||||
<div class="setc_main">
|
<div class="setc_main">
|
||||||
<a-radio v-model:checked="checkedSty"><span
|
<a-switch
|
||||||
style="color: #333333">同步课程学习记录(如学员在课程库中拥有课程的学习记录,自动免修该课程)</span></a-radio>
|
v-model:checked="projectInfo.courseSyncFlag"
|
||||||
|
:checkedValue="1"
|
||||||
|
:unCheckedValue="0"
|
||||||
|
:disabled="true"
|
||||||
|
><span
|
||||||
|
style="
|
||||||
|
width: 100%;
|
||||||
|
color: rgba(109, 117, 132, 1);
|
||||||
|
font-size: 14px;
|
||||||
|
"
|
||||||
|
>同步课程学习记录(如学员在课程库中拥有课程的学习记录,自动免修该课程)</span
|
||||||
|
></a-switch>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="set_content">
|
<div class="set_content">
|
||||||
<div class="setc_name"><span>项目级别:</span></div>
|
<div class="setc_name"><span>项目级别:</span></div>
|
||||||
<div class="setc_main">
|
<div class="setc_main">
|
||||||
<span style="color: #999999">{{ level }}</span>
|
<ProjectLevel v-model:value="projectInfo.level" :disabled="true"></ProjectLevel>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="set_content">
|
<div class="set_content">
|
||||||
<div class="setc_name"><span>培训体系:</span></div>
|
<div class="setc_name"><span>培训体系:</span></div>
|
||||||
<div class="setc_main">
|
<div class="setc_main">
|
||||||
<span style="color: #999999">{{ systemId }}</span>
|
<TrainClass v-model:value="projectInfo.systemId" :disabled="true"></TrainClass>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="set_content">
|
<div class="set_content">
|
||||||
<div class="setc_name"><span>是否BOEU实施:</span></div>
|
<div class="setc_name"><span>是否BOEU实施:</span></div>
|
||||||
<div class="setc_main">
|
<div class="setc_main">
|
||||||
<a-radio v-model:checked="checkedBOEU"><span style="color: #333333">BOEU实施</span></a-radio>
|
<a-switch
|
||||||
|
v-model:checked="projectInfo.boeFlag"
|
||||||
|
:checkedValue="1"
|
||||||
|
:unCheckedValue="0"
|
||||||
|
:disabled="true"
|
||||||
|
></a-switch>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -96,11 +112,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="set_content">
|
<div class="set_content">
|
||||||
<div class="sign" style="position:relative;left:70px;top:-3px;">
|
<div class="sign" style="position:relative;left:70px;top:-3px;">
|
||||||
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
<img src="@/assets/images/coursewareManage/asterisk.png" alt=""/>
|
||||||
</div>
|
</div>
|
||||||
<div class="setc_name"><span>审核意见:</span></div>
|
<div class="setc_name"><span>审核意见:</span></div>
|
||||||
<div class="setc_main">
|
<div class="setc_main">
|
||||||
<a-textarea v-model:value="valueSuggest" :rows="4" />
|
<a-textarea v-model:value="valueSuggest" :rows="4"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -115,15 +131,20 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {toRefs, reactive, onMounted} from "vue";
|
import {toRefs, reactive, onMounted} from "vue";
|
||||||
import { getTask } from "../../api/indexTaskadd";
|
import {getTask} from "../../api/indexTaskadd";
|
||||||
import { toDate } from "../../api/method";
|
import {toDate} from "../../api/method";
|
||||||
import { auditView } from "../../api/indexAudit";
|
import {auditView} from "../../api/indexAudit";
|
||||||
import { message } from "ant-design-vue";
|
import {message} from "ant-design-vue";
|
||||||
import * as api1 from "@/api/index1";
|
import * as api1 from "@/api/index1";
|
||||||
|
import ProjectLevel from "@/components/project/ProjectLevel";
|
||||||
|
import TrainClass from "@/components/project/TrainClass";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "ProjectAudit",
|
name: "ProjectAudit",
|
||||||
components: {},
|
components: {
|
||||||
|
ProjectLevel,
|
||||||
|
TrainClass,
|
||||||
|
},
|
||||||
props: {
|
props: {
|
||||||
ProjAuditvisible: {
|
ProjAuditvisible: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
@@ -181,8 +202,9 @@ export default {
|
|||||||
noticeFlag: null, //未改
|
noticeFlag: null, //未改
|
||||||
templateId: null, //未改
|
templateId: null, //未改
|
||||||
attach: null,
|
attach: null,
|
||||||
calssifyList:[],
|
calssifyList: [],
|
||||||
faceclassScene:[]
|
faceclassScene: [],
|
||||||
|
projectInfo: {}
|
||||||
});
|
});
|
||||||
|
|
||||||
const closeDrawer = () => {
|
const closeDrawer = () => {
|
||||||
@@ -199,6 +221,7 @@ export default {
|
|||||||
projectId: props.chooseProject,
|
projectId: props.chooseProject,
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
console.log("get task", res.data.data);
|
console.log("get task", res.data.data);
|
||||||
|
state.projectInfo = res.data.data.projectInfo;
|
||||||
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");
|
||||||
@@ -212,26 +235,26 @@ export default {
|
|||||||
state.manager = info.manager;
|
state.manager = info.manager;
|
||||||
state.remark = info.remark;
|
state.remark = info.remark;
|
||||||
state.level =
|
state.level =
|
||||||
info.level == 1
|
info.level == 1
|
||||||
? "集团级"
|
? "集团级"
|
||||||
: info.level == 2
|
: info.level == 2
|
||||||
? "组织级"
|
? "组织级"
|
||||||
: info.level == 3
|
: info.level == 3
|
||||||
? "现地级"
|
? "现地级"
|
||||||
: info.level == 4
|
: info.level == 4
|
||||||
? "部门级"
|
? "部门级"
|
||||||
: "-";
|
: "-";
|
||||||
state.tlevel = info.level;
|
state.tlevel = info.level;
|
||||||
state.systemId =
|
state.systemId =
|
||||||
info.systemId == 1
|
info.systemId == 1
|
||||||
? "集团级"
|
? "集团级"
|
||||||
: info.systemId == 2
|
: info.systemId == 2
|
||||||
? "组织级"
|
? "组织级"
|
||||||
: info.systemId == 3
|
: info.systemId == 3
|
||||||
? "现地级"
|
? "现地级"
|
||||||
: info.systemId == 4
|
: info.systemId == 4
|
||||||
? "部门级"
|
? "部门级"
|
||||||
: "-";
|
: "-";
|
||||||
state.tsystemId = info.systemId;
|
state.tsystemId = info.systemId;
|
||||||
state.checkedSty = info.courseSyncFlag == 1 ? true : false;
|
state.checkedSty = info.courseSyncFlag == 1 ? true : false;
|
||||||
state.courseSyncFlag = info.courseSyncFlag;
|
state.courseSyncFlag = info.courseSyncFlag;
|
||||||
@@ -247,13 +270,13 @@ export default {
|
|||||||
// state.attach = info.attach;
|
// state.attach = info.attach;
|
||||||
// state.templateId = info.templateId;
|
// state.templateId = info.templateId;
|
||||||
state.sourceBelong =
|
state.sourceBelong =
|
||||||
info.sourceBelongId == 1
|
info.sourceBelongId == 1
|
||||||
? "项目一"
|
? "项目一"
|
||||||
: info.sourceBelongId == 2
|
: info.sourceBelongId == 2
|
||||||
? "项目二"
|
? "项目二"
|
||||||
: info.sourceBelongId == 3
|
: info.sourceBelongId == 3
|
||||||
? "项目三"
|
? "项目三"
|
||||||
: "-";
|
: "-";
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -264,7 +287,7 @@ export default {
|
|||||||
state.showDetail = !state.showDetail;
|
state.showDetail = !state.showDetail;
|
||||||
};
|
};
|
||||||
const subMit = () => {
|
const subMit = () => {
|
||||||
if(!state.valueSuggest){
|
if (!state.valueSuggest) {
|
||||||
message.error(`请输入审核意见!`);
|
message.error(`请输入审核意见!`);
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -276,16 +299,16 @@ export default {
|
|||||||
pass: state.valuePass == "1" ? 1 : -1,
|
pass: state.valuePass == "1" ? 1 : -1,
|
||||||
projectId: props.chooseProject,
|
projectId: props.chooseProject,
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log("提交成功", res);
|
console.log("提交成功", res);
|
||||||
message.destroy();
|
message.destroy();
|
||||||
message.success("提交成功");
|
message.success("提交成功");
|
||||||
closeDrawer();
|
closeDrawer();
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
message.warning("提交失败");
|
message.warning("提交失败");
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
const getDictList = async (param) => api1.getDict({
|
const getDictList = async (param) => api1.getDict({
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
@@ -293,8 +316,8 @@ export default {
|
|||||||
setCode: param
|
setCode: param
|
||||||
}).then((res) => res.data.data.rows)
|
}).then((res) => res.data.data.rows)
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
state.calssifyList = (await getDictList("faceclassClass")).map(e => ({ label: e.dictName, value: e.dictCode })) //内容
|
state.calssifyList = (await getDictList("faceclassClass")).map(e => ({label: e.dictName, value: e.dictCode})) //内容
|
||||||
state.faceclassScene = (await getDictList("faceclassScene")).map(e => ({ label: e.dictName, value: e.dictCode })) //场景
|
state.faceclassScene = (await getDictList("faceclassScene")).map(e => ({label: e.dictName, value: e.dictCode})) //场景
|
||||||
});
|
});
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
|
|||||||
@@ -46,9 +46,15 @@ export default {
|
|||||||
watch(state.id, () => {
|
watch(state.id, () => {
|
||||||
ctx.emit('update:modelValue', state.id)
|
ctx.emit('update:modelValue', state.id)
|
||||||
})
|
})
|
||||||
onMounted(() => {
|
watch(props, () => {
|
||||||
state.options = [{id: props.modelValue, name: props.name}, ...store.state.orgtreeList]
|
if (props.modelValue !== state.id) {
|
||||||
|
state.id = props.modelValue
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
onMounted(() => {
|
||||||
|
state.options = [...store.state.orgtreeList]
|
||||||
|
})
|
||||||
|
|
||||||
function change(key, obj) {
|
function change(key, obj) {
|
||||||
ctx.emit('update:name', obj[0])
|
ctx.emit('update:name', obj[0])
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,6 +33,13 @@ export default {
|
|||||||
options: [],
|
options: [],
|
||||||
id: props.modelValue
|
id: props.modelValue
|
||||||
});
|
});
|
||||||
|
|
||||||
|
watch(props, () => {
|
||||||
|
if (props.modelValue !== state.id) {
|
||||||
|
state.id = props.modelValue
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
watch(state.id,()=>{
|
watch(state.id,()=>{
|
||||||
ctx.emit('update:modelValue',state.id)
|
ctx.emit('update:modelValue',state.id)
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -19,8 +19,8 @@
|
|||||||
</a-select>
|
</a-select>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import {reactive, toRefs, watch} from "vue";
|
import {onMounted, reactive, toRefs, watch} from "vue";
|
||||||
import {scrollLoad} from "@/api/method";
|
import {scrollLoad, throttle} from "@/api/method";
|
||||||
import * as api1 from "@/api/index1";
|
import * as api1 from "@/api/index1";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@@ -46,21 +46,36 @@ export default {
|
|||||||
loading: false,
|
loading: false,
|
||||||
init: false
|
init: false
|
||||||
});
|
});
|
||||||
|
const getMemberThrottle = throttle(getMember, 500)
|
||||||
|
|
||||||
watch(() => state.memberParam, getMember)
|
watch(() => state.memberParam, getMemberThrottle)
|
||||||
watch(() => props.value, init)
|
watch(props, init)
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
console.log('onMounted')
|
||||||
|
init()
|
||||||
|
})
|
||||||
|
|
||||||
function getMember() {
|
function getMember() {
|
||||||
state.loading = true
|
state.loading = true
|
||||||
|
state.options = []
|
||||||
|
getMemberData()
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function getMemberData() {
|
||||||
api1.getMemberInfo(state.memberParam).then((res) => {
|
api1.getMemberInfo(state.memberParam).then((res) => {
|
||||||
const list = res.data.data.rows.filter(e => !props.value?.includes(e.id + '')).map(e => ({
|
const list = res.data.data.rows.filter(e => !props.value?.includes(e.id + '')).map(e => ({
|
||||||
label: e.realName,
|
label: e.realName,
|
||||||
value: e.id
|
value: e.id
|
||||||
}));
|
}));
|
||||||
state.options.push(...list)
|
if (state.memberParam.pageNo === 1 && props.value) {
|
||||||
|
const arrManagerId = props.value.split(',')
|
||||||
|
const arrManager = props.name.split(',')
|
||||||
|
state.options = [...arrManager.map((e, i) => ({label: e, value: arrManagerId[i]})), ...list]
|
||||||
|
} else state.options.push(...list)
|
||||||
state.loading = false
|
state.loading = false
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const memberScroll = (e) => {
|
const memberScroll = (e) => {
|
||||||
@@ -77,13 +92,25 @@ export default {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function init() {
|
function init() {
|
||||||
if (props.value && props.name) {
|
console.log('init--', props)
|
||||||
const arrManager = props.name.split(',')
|
if (props.value !== state.managerArray.join(',')) {
|
||||||
const arrManagerId = props.value.split(',')
|
if (props.value) {
|
||||||
state.managerArray = arrManagerId
|
const arrManager = props.name.split(',')
|
||||||
state.options = arrManager.map((e, i) => ({label: e, value: arrManagerId[i]}))
|
const arrManagerId = props.value.split(',')
|
||||||
state.init = true
|
state.managerArray = arrManagerId
|
||||||
getMember()
|
state.options = arrManager.map((e, i) => ({label: e, value: arrManagerId[i]}))
|
||||||
|
} else {
|
||||||
|
state.managerArray = []
|
||||||
|
}
|
||||||
|
getMemberData()
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!props.value) {
|
||||||
|
if (!(state.options && state.options.length)) {
|
||||||
|
state.options = []
|
||||||
|
getMember()
|
||||||
|
}
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -33,6 +33,14 @@ export default {
|
|||||||
watch(state.id, () => {
|
watch(state.id, () => {
|
||||||
ctx.emit('update:modelValue', state.id)
|
ctx.emit('update:modelValue', state.id)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
watch(props, () => {
|
||||||
|
if (props.modelValue !== state.id) {
|
||||||
|
state.id = props.modelValue
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
state.options = store.state.projectSys.map(e => ({value: parseInt(e.dictCode), label: e.dictName}))
|
state.options = store.state.projectSys.map(e => ({value: parseInt(e.dictCode), label: e.dictName}))
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -73,8 +73,8 @@
|
|||||||
<span style="margin-right: 3px">基础投票数:</span>
|
<span style="margin-right: 3px">基础投票数:</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<a-upload @change="handleChange" :multiple="true" :max-count="1" action="/manageApi/vote/baseVoteupload"
|
<a-upload @change="handleChange" :before-upload="beforeUpload" :multiple="true" :max-count="1"
|
||||||
v-model:file-list="fileList">
|
action="/manageApi/vote/baseVoteupload" v-model:file-list="fileList">
|
||||||
<button class="xkbtn">点击上传</button></a-upload>
|
<button class="xkbtn">点击上传</button></a-upload>
|
||||||
<div v-if="voteCount > 0"><a-tag color="processing"> <span style="font-size:14px;line-height: 33px;">{{
|
<div v-if="voteCount > 0"><a-tag color="processing"> <span style="font-size:14px;line-height: 33px;">{{
|
||||||
voteCount
|
voteCount
|
||||||
@@ -218,7 +218,23 @@ export default {
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 限制文件格式上传
|
||||||
|
const beforeUpload = (obj) => {
|
||||||
|
console.log(obj)
|
||||||
|
}
|
||||||
|
|
||||||
const handleChange = info => {
|
const handleChange = info => {
|
||||||
|
console.log(info.file.type, info.file.type.indexOf('sheet'))
|
||||||
|
if (info.file.type.indexOf('sheet') == -1) {
|
||||||
|
message.destroy()
|
||||||
|
message.error("请上传正确的文件格式")
|
||||||
|
|
||||||
|
console.log(state.fileList)
|
||||||
|
|
||||||
|
state.fileList = []
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
let resFileList = [...info.fileList];
|
let resFileList = [...info.fileList];
|
||||||
|
|
||||||
|
|
||||||
@@ -353,9 +369,9 @@ export default {
|
|||||||
if (props.edit) {
|
if (props.edit) {
|
||||||
api
|
api
|
||||||
.editVote(obj)
|
.editVote(obj)
|
||||||
.then(async(res) => {
|
.then(async (res) => {
|
||||||
console.log("updte======");
|
console.log("updte======");
|
||||||
await updateToTask(res);
|
await updateToTask(res);
|
||||||
closeDrawer();
|
closeDrawer();
|
||||||
message.destroy();
|
message.destroy();
|
||||||
message.success("修改投票信息成功")
|
message.success("修改投票信息成功")
|
||||||
@@ -367,7 +383,7 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
api
|
api
|
||||||
.createVote(obj)
|
.createVote(obj)
|
||||||
.then(async(res) => {
|
.then(async (res) => {
|
||||||
await updateToTask(res);
|
await updateToTask(res);
|
||||||
closeDrawer();
|
closeDrawer();
|
||||||
message.destroy();
|
message.destroy();
|
||||||
@@ -401,6 +417,7 @@ export default {
|
|||||||
queryStem,
|
queryStem,
|
||||||
closeStem,
|
closeStem,
|
||||||
handleChange,
|
handleChange,
|
||||||
|
beforeUpload,
|
||||||
log,
|
log,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -67,10 +67,11 @@
|
|||||||
<div class="search"></div>
|
<div class="search"></div>
|
||||||
<div class="btnText">重置</div>
|
<div class="btnText">重置</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn btn3" @click="openMessage">
|
<!-- 2022-11-30注释 后面放开 -->
|
||||||
|
<!-- <div class="btn btn3" @click="openMessage">
|
||||||
<div class="search"></div>
|
<div class="search"></div>
|
||||||
<div class="btnText">导出</div>
|
<div class="btnText">导出</div>
|
||||||
</div>
|
</div> -->
|
||||||
<div class="btn btn4" @click="of_hShow">
|
<div class="btn btn4" @click="of_hShow">
|
||||||
<div class="search"></div>
|
<div class="search"></div>
|
||||||
<div class="btnText">新建课程</div>
|
<div class="btnText">新建课程</div>
|
||||||
@@ -612,9 +613,7 @@
|
|||||||
v-for="(item, index) in imgList"
|
v-for="(item, index) in imgList"
|
||||||
:key="index"
|
:key="index"
|
||||||
>
|
>
|
||||||
<div class="file_img">
|
<div class="file_img"></div>
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="file_detail">
|
<div class="file_detail">
|
||||||
<!-- <div class="file_name">
|
<!-- <div class="file_name">
|
||||||
<span style="color: #6f6f6f">{{ item.name }}</span>
|
<span style="color: #6f6f6f">{{ item.name }}</span>
|
||||||
@@ -690,9 +689,10 @@
|
|||||||
<div class="btnText" @click="ft_exit">取消</div>
|
<div class="btnText" @click="ft_exit">取消</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn btn6">
|
<div class="btn btn6">
|
||||||
<div v-if="(isEdit==0)" class="btnText" @click="handlePush">确定</div>
|
<div v-if="isEdit == 0" class="btnText" @click="handlePush">
|
||||||
<div v-if="isEdit==1" class="btnText">已保存</div>
|
确定
|
||||||
|
</div>
|
||||||
|
<div v-if="isEdit == 1" class="btnText">已保存</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn btn6">
|
<div class="btn btn6">
|
||||||
<div class="btnText" @click="reviewClick">提交审核</div>
|
<div class="btnText" @click="reviewClick">提交审核</div>
|
||||||
@@ -1332,7 +1332,7 @@
|
|||||||
:tabBarStyle="{ marginLeft: '10px' }"
|
:tabBarStyle="{ marginLeft: '10px' }"
|
||||||
@change="faceManageChange"
|
@change="faceManageChange"
|
||||||
>
|
>
|
||||||
<a-tab-pane key="1" tab="报名管理">
|
<!-- <a-tab-pane key="1" tab="报名管理">
|
||||||
<div class="b_menunav">
|
<div class="b_menunav">
|
||||||
<div class="bm_select">
|
<div class="bm_select">
|
||||||
<a-select
|
<a-select
|
||||||
@@ -1347,14 +1347,7 @@
|
|||||||
@focus="focus"
|
@focus="focus"
|
||||||
@change="handleChange"
|
@change="handleChange"
|
||||||
>
|
>
|
||||||
<!-- <a-select-option value="status">状态</a-select-option>
|
|
||||||
<a-select-option value="passed">已通过</a-select-option>
|
|
||||||
<a-select-option value="weishenhe">
|
|
||||||
未审核
|
|
||||||
</a-select-option>
|
|
||||||
<a-select-option value="reject">
|
|
||||||
管理员拒绝
|
|
||||||
</a-select-option> -->
|
|
||||||
</a-select>
|
</a-select>
|
||||||
</div>
|
</div>
|
||||||
<div class="bm_input">
|
<div class="bm_input">
|
||||||
@@ -1393,8 +1386,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-tab-pane>
|
</a-tab-pane> -->
|
||||||
<a-tab-pane key="2" tab="学习记录">
|
<a-tab-pane key="1" tab="学习记录">
|
||||||
<div class="b_menunav">
|
<div class="b_menunav">
|
||||||
<div class="bm_select">
|
<div class="bm_select">
|
||||||
<a-select
|
<a-select
|
||||||
@@ -1874,7 +1867,7 @@
|
|||||||
<span style="margin-right: 3px">完成规则</span>
|
<span style="margin-right: 3px">完成规则</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="b_input">
|
<div class="b_input">
|
||||||
<!--
|
<!--
|
||||||
<a-checkbox
|
<a-checkbox
|
||||||
v-model:checked="regisCom"
|
v-model:checked="regisCom"
|
||||||
@click="regisCom = !regisCom"
|
@click="regisCom = !regisCom"
|
||||||
@@ -1932,50 +1925,48 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mbl_items12">
|
<div class="mbl_items12">
|
||||||
<div
|
<div
|
||||||
class="i12_box1"
|
class="i12_box1"
|
||||||
v-for="(item, index) in filesList"
|
v-for="(item, index) in filesList"
|
||||||
:key="index"
|
:key="index"
|
||||||
>
|
>
|
||||||
<div class="file_img">
|
<div class="file_img"></div>
|
||||||
|
<div class="file_detail">
|
||||||
</div>
|
<!-- <div class="file_name">
|
||||||
<div class="file_detail">
|
|
||||||
<!-- <div class="file_name">
|
|
||||||
<span style="color: #6f6f6f">{{ item.name }}</span>
|
<span style="color: #6f6f6f">{{ item.name }}</span>
|
||||||
</div> -->
|
</div> -->
|
||||||
<!-- 条件渲染 s -->
|
<!-- 条件渲染 s -->
|
||||||
<!-- <div class="file_size">
|
<!-- <div class="file_size">
|
||||||
<span style="color: #999ba3">{{ item.size }}</span>
|
<span style="color: #999ba3">{{ item.size }}</span>
|
||||||
</div> -->
|
</div> -->
|
||||||
<div class="file_updata">
|
<div class="file_updata">
|
||||||
<div class="updatabox">
|
<div class="updatabox">
|
||||||
<div class="updatacolor"></div>
|
<div class="updatacolor"></div>
|
||||||
<div class="updataxq">上传完成</div>
|
<div class="updataxq">上传完成</div>
|
||||||
<!-- <div class="updatacolor2"></div>
|
<!-- <div class="updatacolor2"></div>
|
||||||
<div class="updataxq2">上传失败</div> -->
|
<div class="updataxq2">上传失败</div> -->
|
||||||
<!-- <div class="updatacolor3"></div>
|
<!-- <div class="updatacolor3"></div>
|
||||||
<div class="updataxq3">正在上传</div> -->
|
<div class="updataxq3">正在上传</div> -->
|
||||||
</div>
|
</div>
|
||||||
<div class="upjd">
|
<div class="upjd">
|
||||||
<span style="margin: auto 5px">100%</span>
|
<span style="margin: auto 5px">100%</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- 条件渲染 e -->
|
<!-- 条件渲染 e -->
|
||||||
</div>
|
</div>
|
||||||
<div class="file_operation">
|
<div class="file_operation">
|
||||||
<div class="fobox">
|
<div class="fobox">
|
||||||
<span style="color: #4ea6ff" @click="handleDel2(index)">
|
<span style="color: #4ea6ff" @click="handleDel2(index)">
|
||||||
删除
|
删除
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="fobox">
|
<!-- <div class="fobox">
|
||||||
<span style="color: #4ea6ff">重传</span>
|
<span style="color: #4ea6ff">重传</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="fobox">
|
<div class="fobox">
|
||||||
<span style="color: #4ea6ff">取消</span>
|
<span style="color: #4ea6ff">取消</span>
|
||||||
</div> -->
|
</div> -->
|
||||||
<!-- <div class="fobox">
|
<!-- <div class="fobox">
|
||||||
<span style="color: #4ea6ff; margin-right: 5px">
|
<span style="color: #4ea6ff; margin-right: 5px">
|
||||||
暂停
|
暂停
|
||||||
</span>
|
</span>
|
||||||
@@ -1983,18 +1974,16 @@
|
|||||||
<div class="fobox">
|
<div class="fobox">
|
||||||
<span style="color: #4ea6ff">取消</span>
|
<span style="color: #4ea6ff">取消</span>
|
||||||
</div> -->
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="items_btn">
|
<div class="items_btn">
|
||||||
<div class="cstm_btn btn5">
|
<div class="cstm_btn btn5">
|
||||||
<div class="btnText" @click="handleCancelStu">取消</div>
|
<div class="btnText" @click="handleCancelStu">取消</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="cstm_btn btn6">
|
<div class="cstm_btn btn6">
|
||||||
<div v-if="addLoading" class="btnText" >保存中</div>
|
<div v-if="addLoading" class="btnText">保存中</div>
|
||||||
<div v-else class="btnText" @click="handleSureStu">确定</div>
|
<div v-else class="btnText" @click="handleSureStu">确定</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -2085,7 +2074,8 @@
|
|||||||
添加学员
|
添加学员
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="stmm_btn btn4" @click="hideShow">
|
<!-- 2022-11-30注释 后面放开 -->
|
||||||
|
<!-- <div class="stmm_btn btn4" @click="hideShow">
|
||||||
<div class="btn4_sub">
|
<div class="btn4_sub">
|
||||||
<span style="color: #4ea6ff; margin-right: 4px">
|
<span style="color: #4ea6ff; margin-right: 4px">
|
||||||
批量操作
|
批量操作
|
||||||
@@ -2122,7 +2112,7 @@
|
|||||||
<div class="stmm_btn btn5" @click="handleExportStu">
|
<div class="stmm_btn btn5" @click="handleExportStu">
|
||||||
<div class="export"></div>
|
<div class="export"></div>
|
||||||
<div class="btnText">导出</div>
|
<div class="btnText">导出</div>
|
||||||
</div>
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="stmm_i6">
|
<div class="stmm_i6">
|
||||||
@@ -2488,7 +2478,6 @@
|
|||||||
<div class="btnText" @click="agreereject_exit">取消</div>
|
<div class="btnText" @click="agreereject_exit">取消</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="qrm_btn btn2">
|
<div class="qrm_btn btn2">
|
||||||
|
|
||||||
<div class="btnText" @click="handleAgreeTrue">确定</div>
|
<div class="btnText" @click="handleAgreeTrue">确定</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -2546,10 +2535,8 @@
|
|||||||
<div class="btnText" @click="delete_exit1">取消</div>
|
<div class="btnText" @click="delete_exit1">取消</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="del_btn btn2">
|
<div class="del_btn btn2">
|
||||||
|
<div v-if="addLoading" class="btnText">保存中...</div>
|
||||||
<div v-if="addLoading" class="btnText" >保存中...</div>
|
|
||||||
<div v-else class="btnText" @click="handleDeleteExit">确定</div>
|
<div v-else class="btnText" @click="handleDeleteExit">确定</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -2608,11 +2595,10 @@
|
|||||||
classify="course"
|
classify="course"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="aeLoading" :style="{display: addLoading ? 'flex' : 'none'}" >
|
|
||||||
<a-spin :spinning="addLoading" tip="保存中..." />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
<div class="aeLoading" :style="{ display: addLoading ? 'flex' : 'none' }">
|
||||||
|
<a-spin :spinning="addLoading" tip="保存中..." />
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import {
|
import {
|
||||||
@@ -3090,25 +3076,25 @@ const columns7 = [
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
title: "结业状态",
|
// title: "结业状态",
|
||||||
width: 100,
|
// width: 100,
|
||||||
className: "h",
|
// className: "h",
|
||||||
dataIndex: "overstatus",
|
// dataIndex: "overstatus",
|
||||||
key: "overstatus",
|
// key: "overstatus",
|
||||||
fixed: "right",
|
// fixed: "right",
|
||||||
align: "center",
|
// align: "center",
|
||||||
// key: "9",
|
// // key: "9",
|
||||||
// align: "center",
|
// // align: "center",
|
||||||
// customRender: ({ record }) => {
|
// // customRender: ({ record }) => {
|
||||||
// switch (String(record.source)) {
|
// // switch (String(record.source)) {
|
||||||
// case "0":
|
// // case "0":
|
||||||
// return "未结业";
|
// // return "未结业";
|
||||||
// case "1":
|
// // case "1":
|
||||||
// return "已结业";
|
// // return "已结业";
|
||||||
// }
|
// // }
|
||||||
// },
|
// // },
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
title: "操作",
|
title: "操作",
|
||||||
width: 100,
|
width: 100,
|
||||||
@@ -3137,12 +3123,12 @@ export default defineComponent({
|
|||||||
},
|
},
|
||||||
setup() {
|
setup() {
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
addLoading:false,
|
addLoading: false,
|
||||||
currentPlanItem: {},
|
currentPlanItem: {},
|
||||||
teacherId:null,
|
teacherId: null,
|
||||||
teacher:null,
|
teacher: null,
|
||||||
selectedRowKeys7: [],
|
selectedRowKeys7: [],
|
||||||
isEdit:0,
|
isEdit: 0,
|
||||||
|
|
||||||
//列表表格
|
//列表表格
|
||||||
tableData1: [
|
tableData1: [
|
||||||
@@ -3383,7 +3369,6 @@ export default defineComponent({
|
|||||||
addStudentList: null, //选中列表
|
addStudentList: null, //选中列表
|
||||||
|
|
||||||
newCourseName: null, //新建开课名称
|
newCourseName: null, //新建开课名称
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const showStuAdd = () => {
|
const showStuAdd = () => {
|
||||||
@@ -3734,13 +3719,13 @@ export default defineComponent({
|
|||||||
const rest = () => {
|
const rest = () => {
|
||||||
options4CurName.value = "";
|
options4CurName.value = "";
|
||||||
options4CurId.value = "";
|
options4CurId.value = "";
|
||||||
state.teacher =null;
|
state.teacher = null;
|
||||||
state.teacherId =null;
|
state.teacherId = null;
|
||||||
};
|
};
|
||||||
const handleChangeTea1 = (val) => {
|
const handleChangeTea1 = (val) => {
|
||||||
console.log(787877);
|
console.log(787877);
|
||||||
console.log(val);
|
console.log(val);
|
||||||
|
|
||||||
rest();
|
rest();
|
||||||
getTea();
|
getTea();
|
||||||
};
|
};
|
||||||
@@ -4038,7 +4023,6 @@ export default defineComponent({
|
|||||||
for (const keyName of checkList) {
|
for (const keyName of checkList) {
|
||||||
if (!keyName) {
|
if (!keyName) {
|
||||||
count++;
|
count++;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return count ? false : true;
|
return count ? false : true;
|
||||||
@@ -4060,13 +4044,13 @@ export default defineComponent({
|
|||||||
state.qdms_inputV6 = "";
|
state.qdms_inputV6 = "";
|
||||||
state.imgList = [];
|
state.imgList = [];
|
||||||
valueHtml.value = "";
|
valueHtml.value = "";
|
||||||
state.fileList =[];
|
state.fileList = [];
|
||||||
};
|
};
|
||||||
//保存面授课
|
//保存面授课
|
||||||
const handlePush = (param) => {
|
const handlePush = (param) => {
|
||||||
//state.isEdit = 1;
|
//state.isEdit = 1;
|
||||||
|
|
||||||
console.log("========",state.addLoading);
|
console.log("========", state.addLoading);
|
||||||
console.log("state.imgList");
|
console.log("state.imgList");
|
||||||
console.log(state.imgList);
|
console.log(state.imgList);
|
||||||
let files = "";
|
let files = "";
|
||||||
@@ -4077,8 +4061,22 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
files = files.slice(0, files.length - 1);
|
files = files.slice(0, files.length - 1);
|
||||||
console.log(files);
|
console.log(files);
|
||||||
let tid = (state.teacherId==null)?(state.qdms_inputV5 ? state.qdms_inputV5 : null):state.teacherId;
|
let tid =
|
||||||
console.log("state.teacherId==null",state.teacherId==null,"state.qdms_inputV5",state.qdms_inputV5,"state.teacherId",state.teacherId,"tid",tid);
|
state.teacherId == null
|
||||||
|
? state.qdms_inputV5
|
||||||
|
? state.qdms_inputV5
|
||||||
|
: null
|
||||||
|
: state.teacherId;
|
||||||
|
console.log(
|
||||||
|
"state.teacherId==null",
|
||||||
|
state.teacherId == null,
|
||||||
|
"state.qdms_inputV5",
|
||||||
|
state.qdms_inputV5,
|
||||||
|
"state.teacherId",
|
||||||
|
state.teacherId,
|
||||||
|
"tid",
|
||||||
|
tid
|
||||||
|
);
|
||||||
const postData = {
|
const postData = {
|
||||||
offcourseId: state.offcourseId, //不传代表新增
|
offcourseId: state.offcourseId, //不传代表新增
|
||||||
name: state.qdms_inputV1,
|
name: state.qdms_inputV1,
|
||||||
@@ -4088,18 +4086,18 @@ export default defineComponent({
|
|||||||
categoryId: state.fen_lei,
|
categoryId: state.fen_lei,
|
||||||
sceneId: state.chang_jin,
|
sceneId: state.chang_jin,
|
||||||
tips: state.tags_val ? state.tags_val.join(",") : null,
|
tips: state.tags_val ? state.tags_val.join(",") : null,
|
||||||
teacherId:tid, //?
|
teacherId: tid, //?
|
||||||
intro: state.qdms_inputV6,
|
intro: state.qdms_inputV6,
|
||||||
attach: files,
|
attach: files,
|
||||||
outline: valueHtml.value,
|
outline: valueHtml.value,
|
||||||
//teacherId:state.teacherId ,
|
//teacherId:state.teacherId ,
|
||||||
};
|
};
|
||||||
console.log("===",state.teacherId,"hha",state.qdms_inputV5);
|
console.log("===", state.teacherId, "hha", state.qdms_inputV5);
|
||||||
console.log("postData");
|
console.log("postData");
|
||||||
console.log(postData);
|
console.log(postData);
|
||||||
const checkList = [
|
const checkList = [
|
||||||
postData.name,
|
postData.name,
|
||||||
|
|
||||||
postData.targetUser,
|
postData.targetUser,
|
||||||
postData.categoryId,
|
postData.categoryId,
|
||||||
postData.teacherId,
|
postData.teacherId,
|
||||||
@@ -4107,16 +4105,16 @@ export default defineComponent({
|
|||||||
if (!checkVal(checkList)) {
|
if (!checkVal(checkList)) {
|
||||||
message.destroy();
|
message.destroy();
|
||||||
return message.error("请输入必填项");
|
return message.error("请输入必填项");
|
||||||
}else{
|
} else {
|
||||||
state.addLoading = true;
|
state.addLoading = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
edit(postData).then((res) => {
|
edit(postData).then((res) => {
|
||||||
if (res.data.code === 200) {
|
if (res.data.code === 200) {
|
||||||
getTableDate();
|
getTableDate();
|
||||||
ft_exit();
|
ft_exit();
|
||||||
rest();
|
rest();
|
||||||
state.addLoading = false;
|
state.addLoading = false;
|
||||||
// console.log("res.data", res.data);
|
// console.log("res.data", res.data);
|
||||||
if (param === "review") {
|
if (param === "review") {
|
||||||
//新建时点击审核按钮
|
//新建时点击审核按钮
|
||||||
@@ -4140,11 +4138,10 @@ export default defineComponent({
|
|||||||
};
|
};
|
||||||
const createkk = () => {
|
const createkk = () => {
|
||||||
getTea();
|
getTea();
|
||||||
state.offcoursePlanId =null;
|
state.offcoursePlanId = null;
|
||||||
state.cstm_hs = true;
|
state.cstm_hs = true;
|
||||||
};
|
};
|
||||||
const handleCancelStu = () => {
|
const handleCancelStu = () => {
|
||||||
|
|
||||||
state.cstm_hs = false;
|
state.cstm_hs = false;
|
||||||
state.kk_eidt = false;
|
state.kk_eidt = false;
|
||||||
state.xjkkradioV1 = "";
|
state.xjkkradioV1 = "";
|
||||||
@@ -4158,15 +4155,14 @@ export default defineComponent({
|
|||||||
};
|
};
|
||||||
//保存开课
|
//保存开课
|
||||||
const handleSureStu = () => {
|
const handleSureStu = () => {
|
||||||
|
|
||||||
let startTime,
|
let startTime,
|
||||||
endTime = 0;
|
endTime = 0;
|
||||||
if (state.xjkkinputV3) {
|
if (state.xjkkinputV3) {
|
||||||
startTime = parseInt(state.xjkkinputV3[0].$d.getTime() / 1000);
|
startTime = parseInt(state.xjkkinputV3[0].$d.getTime() / 1000);
|
||||||
endTime = parseInt(state.xjkkinputV3[1].$d.getTime() / 1000);
|
endTime = parseInt(state.xjkkinputV3[1].$d.getTime() / 1000);
|
||||||
}
|
}
|
||||||
let t=state.signCom?"1,":"0,";
|
let t = state.signCom ? "1," : "0,";
|
||||||
let p= state.comLeave?"1":"0";
|
let p = state.comLeave ? "1" : "0";
|
||||||
let type = t.concat(p);
|
let type = t.concat(p);
|
||||||
const postData = {
|
const postData = {
|
||||||
offcourseId: state.offcourseId,
|
offcourseId: state.offcourseId,
|
||||||
@@ -4176,14 +4172,14 @@ export default defineComponent({
|
|||||||
applyFlag: state.checked1 ? 1 : 0,
|
applyFlag: state.checked1 ? 1 : 0,
|
||||||
attach: state.filesList.length ? state.filesList.join(",") : "",
|
attach: state.filesList.length ? state.filesList.join(",") : "",
|
||||||
beginTime: startTime,
|
beginTime: startTime,
|
||||||
completeType:type,
|
completeType: type,
|
||||||
endTime: endTime,
|
endTime: endTime,
|
||||||
evalFlag: state.checked4 ? 1 : 0,
|
evalFlag: state.checked4 ? 1 : 0,
|
||||||
name: state.xjkkinputV1,
|
name: state.xjkkinputV1,
|
||||||
signFlag: state.xjkkradioV1 === 0 ? 1 : 0, //是否允许未报名的签到:1是0否
|
signFlag: state.xjkkradioV1 === 0 ? 1 : 0, //是否允许未报名的签到:1是0否
|
||||||
// signWordFlag: state.xjkkradioV1 === 1 ? 1 : 0, //签到是否需要口令:1是0否
|
// signWordFlag: state.xjkkradioV1 === 1 ? 1 : 0, //签到是否需要口令:1是0否
|
||||||
teacherId: state.xjkkinputV4 ? state.xjkkinputV4 : "",
|
teacherId: state.xjkkinputV4 ? state.xjkkinputV4 : "",
|
||||||
teacher:options4CurName.value,
|
teacher: options4CurName.value,
|
||||||
};
|
};
|
||||||
console.log(postData);
|
console.log(postData);
|
||||||
const checkList = [
|
const checkList = [
|
||||||
@@ -4196,22 +4192,21 @@ export default defineComponent({
|
|||||||
if (!checkVal(checkList)) {
|
if (!checkVal(checkList)) {
|
||||||
message.destroy();
|
message.destroy();
|
||||||
return message.error("请输入必填项");
|
return message.error("请输入必填项");
|
||||||
}else{
|
} else {
|
||||||
state.addLoading = true;
|
state.addLoading = true;
|
||||||
console.log("state.addLoading ",state.addLoading );
|
console.log("state.addLoading ", state.addLoading);
|
||||||
}
|
}
|
||||||
editPlan(postData).then((res) => {
|
editPlan(postData).then((res) => {
|
||||||
if (res.data.code === 200) {
|
if (res.data.code === 200) {
|
||||||
getTableDate3();
|
getTableDate3();
|
||||||
handleCancelStu();
|
handleCancelStu();
|
||||||
rest();
|
rest();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
state.addLoading = false;
|
state.addLoading = false;
|
||||||
};
|
};
|
||||||
//编辑开课
|
//编辑开课
|
||||||
const handelEditStu = async (itm) => {
|
const handelEditStu = async (itm) => {
|
||||||
|
|
||||||
console.log(itm);
|
console.log(itm);
|
||||||
state.offcourseId = itm.offcourseId;
|
state.offcourseId = itm.offcourseId;
|
||||||
state.offcoursePlanId = itm.offcoursePlanId;
|
state.offcoursePlanId = itm.offcoursePlanId;
|
||||||
@@ -4232,10 +4227,10 @@ export default defineComponent({
|
|||||||
dayjs(item.endTime, "YYYY-MM-DD HH:mm:ss"),
|
dayjs(item.endTime, "YYYY-MM-DD HH:mm:ss"),
|
||||||
];
|
];
|
||||||
options4CurId.value = item.teacherId;
|
options4CurId.value = item.teacherId;
|
||||||
// (state.regisCom = item.completeType.split(",")[0] == "1" ? true : false),
|
// (state.regisCom = item.completeType.split(",")[0] == "1" ? true : false),
|
||||||
(state.signCom = item.completeType.split(",")[0] == "1" ? true : false),
|
(state.signCom = item.completeType.split(",")[0] == "1" ? true : false),
|
||||||
(state.comLeave = item.completeType.split(",")[1] == "1" ? true : false),
|
(state.comLeave =
|
||||||
|
item.completeType.split(",")[1] == "1" ? true : false),
|
||||||
(state.checked4 = item.evalFlag === 1 ? true : false);
|
(state.checked4 = item.evalFlag === 1 ? true : false);
|
||||||
state.xjkkinputV1 = item.name;
|
state.xjkkinputV1 = item.name;
|
||||||
if (item.signFlag === 1) {
|
if (item.signFlag === 1) {
|
||||||
@@ -4310,21 +4305,21 @@ export default defineComponent({
|
|||||||
state.ftQR_hs = false;
|
state.ftQR_hs = false;
|
||||||
state.ftsQR_hs = false;
|
state.ftsQR_hs = false;
|
||||||
state.vipftQR_hs = false;
|
state.vipftQR_hs = false;
|
||||||
state.addLoading =false;
|
state.addLoading = false;
|
||||||
};
|
};
|
||||||
const rg_exit = () => {
|
const rg_exit = () => {
|
||||||
state.rg_hs = false;
|
state.rg_hs = false;
|
||||||
state.addLoading =false;
|
state.addLoading = false;
|
||||||
};
|
};
|
||||||
const graduate_exit = () => {
|
const graduate_exit = () => {
|
||||||
state.graduate_hs = false;
|
state.graduate_hs = false;
|
||||||
state.addLoading =false;
|
state.addLoading = false;
|
||||||
};
|
};
|
||||||
const agreereject_exit = () => {
|
const agreereject_exit = () => {
|
||||||
state.agreereject_hs = false;
|
state.agreereject_hs = false;
|
||||||
state.agreestudy_hs = false;
|
state.agreestudy_hs = false;
|
||||||
state.rejectstudy_hs = false;
|
state.rejectstudy_hs = false;
|
||||||
state.addLoading =false;
|
state.addLoading = false;
|
||||||
};
|
};
|
||||||
const delete_exit1 = () => {
|
const delete_exit1 = () => {
|
||||||
state.delete_hs = false;
|
state.delete_hs = false;
|
||||||
@@ -4333,7 +4328,7 @@ export default defineComponent({
|
|||||||
state.nouse_hs = false;
|
state.nouse_hs = false;
|
||||||
state.rg_hs = false;
|
state.rg_hs = false;
|
||||||
state.graduate_hs = false;
|
state.graduate_hs = false;
|
||||||
state.addLoading =false;
|
state.addLoading = false;
|
||||||
};
|
};
|
||||||
const handleRejectExit = (itm, type) => {
|
const handleRejectExit = (itm, type) => {
|
||||||
if (type === "1") {
|
if (type === "1") {
|
||||||
@@ -4388,7 +4383,6 @@ export default defineComponent({
|
|||||||
};
|
};
|
||||||
//确认复制
|
//确认复制
|
||||||
const handleAgreeTrue = async () => {
|
const handleAgreeTrue = async () => {
|
||||||
|
|
||||||
if (state.agreestudy_hs) {
|
if (state.agreestudy_hs) {
|
||||||
handleStudent({
|
handleStudent({
|
||||||
offcoursePlanId: state.offcoursePlanId,
|
offcoursePlanId: state.offcoursePlanId,
|
||||||
@@ -4398,7 +4392,7 @@ export default defineComponent({
|
|||||||
});
|
});
|
||||||
getTableDate2();
|
getTableDate2();
|
||||||
delete_exit1();
|
delete_exit1();
|
||||||
state.addLoading =false;
|
state.addLoading = false;
|
||||||
}
|
}
|
||||||
if (state.rejectstudy_hs) {
|
if (state.rejectstudy_hs) {
|
||||||
handleStudent({
|
handleStudent({
|
||||||
@@ -4409,13 +4403,12 @@ export default defineComponent({
|
|||||||
});
|
});
|
||||||
getTableDate2();
|
getTableDate2();
|
||||||
delete_exit1();
|
delete_exit1();
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
//确认复制课程
|
//确认复制课程
|
||||||
const handleDeleteExit = async () => {
|
const handleDeleteExit = async () => {
|
||||||
state.addLoading =true;
|
state.addLoading = true;
|
||||||
|
|
||||||
if (state.del_hs) {
|
if (state.del_hs) {
|
||||||
console.log(11111111);
|
console.log(11111111);
|
||||||
if (state.offcourseId && state.offcoursePlanId && state.studentId) {
|
if (state.offcourseId && state.offcoursePlanId && state.studentId) {
|
||||||
@@ -4447,7 +4440,6 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
if (state.copy_hs) {
|
if (state.copy_hs) {
|
||||||
console.log(2222222);
|
console.log(2222222);
|
||||||
@@ -4474,7 +4466,7 @@ export default defineComponent({
|
|||||||
signFlag: item.signFlag, //是否允许未报名的签到:1是0否
|
signFlag: item.signFlag, //是否允许未报名的签到:1是0否
|
||||||
//signWordFlag: item.signWordFlag, //签到是否需要口令:1是0否
|
//signWordFlag: item.signWordFlag, //签到是否需要口令:1是0否
|
||||||
teacherId: item.teacherId,
|
teacherId: item.teacherId,
|
||||||
teacher:item.teacher,
|
teacher: item.teacher,
|
||||||
};
|
};
|
||||||
console.log(obj);
|
console.log(obj);
|
||||||
editPlan(obj).then((res) => {
|
editPlan(obj).then((res) => {
|
||||||
@@ -4505,14 +4497,13 @@ export default defineComponent({
|
|||||||
intro: item.intro,
|
intro: item.intro,
|
||||||
attach: item.attach,
|
attach: item.attach,
|
||||||
outline: item.outline,
|
outline: item.outline,
|
||||||
teacher:item.teacher,
|
teacher: item.teacher,
|
||||||
};
|
};
|
||||||
edit(postData).then((res) => {
|
edit(postData).then((res) => {
|
||||||
if (res.data.code === 200) {
|
if (res.data.code === 200) {
|
||||||
getTableDate();
|
getTableDate();
|
||||||
delete_exit1();
|
delete_exit1();
|
||||||
rest();
|
rest();
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -4532,7 +4523,6 @@ export default defineComponent({
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
const handleDeleteKaike = (value) => {
|
const handleDeleteKaike = (value) => {
|
||||||
state.offcoursePlanId = value.offcoursePlanId;
|
state.offcoursePlanId = value.offcoursePlanId;
|
||||||
@@ -4577,8 +4567,8 @@ export default defineComponent({
|
|||||||
//获取教师
|
//获取教师
|
||||||
const getTea = async () => {
|
const getTea = async () => {
|
||||||
console.log("获取授课教师信息");
|
console.log("获取授课教师信息");
|
||||||
options4CurName.value =state.teacher;
|
options4CurName.value = state.teacher;
|
||||||
options4CurId.value =state.teacherId;
|
options4CurId.value = state.teacherId;
|
||||||
|
|
||||||
const item1 = await getMemberInfoApi({
|
const item1 = await getMemberInfoApi({
|
||||||
pageNo: state.currentPageTea1,
|
pageNo: state.currentPageTea1,
|
||||||
@@ -4603,13 +4593,12 @@ export default defineComponent({
|
|||||||
options4CurName.value = item.realName;
|
options4CurName.value = item.realName;
|
||||||
state.xjkkinputV4 = item.realName;
|
state.xjkkinputV4 = item.realName;
|
||||||
state.teacherId = item.id;
|
state.teacherId = item.id;
|
||||||
|
|
||||||
} else if (state.offcourseId) {
|
} else if (state.offcourseId) {
|
||||||
options4CurName.value = item.realName;
|
options4CurName.value = item.realName;
|
||||||
state.qdms_inputV5 = item.realName;
|
state.qdms_inputV5 = item.realName;
|
||||||
state.teacher = item.realName;
|
state.teacher = item.realName;
|
||||||
state.teacherId =item.id;
|
state.teacherId = item.id;
|
||||||
console.log("那个老师",item);
|
console.log("那个老师", item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
newArr.push({
|
newArr.push({
|
||||||
@@ -4623,7 +4612,6 @@ export default defineComponent({
|
|||||||
};
|
};
|
||||||
//编辑面授课
|
//编辑面授课
|
||||||
const handleEdit = async (itm, type) => {
|
const handleEdit = async (itm, type) => {
|
||||||
|
|
||||||
state.isEdit = 0;
|
state.isEdit = 0;
|
||||||
console.log(45555);
|
console.log(45555);
|
||||||
console.log(itm);
|
console.log(itm);
|
||||||
@@ -4653,19 +4641,19 @@ export default defineComponent({
|
|||||||
state.teacher = item.teacher;
|
state.teacher = item.teacher;
|
||||||
state.teacherId = item.teacherId;
|
state.teacherId = item.teacherId;
|
||||||
state.qdms_inputV6 = item.intro;
|
state.qdms_inputV6 = item.intro;
|
||||||
if(item.attach==""){
|
if (item.attach == "") {
|
||||||
state.imgList =[];
|
state.imgList = [];
|
||||||
}else{
|
} else {
|
||||||
if (item.attach.indexOf(",")) {
|
if (item.attach.indexOf(",")) {
|
||||||
const arr = item.attach.split(",");
|
const arr = item.attach.split(",");
|
||||||
arr.forEach((item) => {
|
arr.forEach((item) => {
|
||||||
state.imgList.push({ img: item });
|
state.imgList.push({ img: item });
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
state.imgList = [{ img: item.attach }];
|
state.imgList = [{ img: item.attach }];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
valueHtml.value = item.outline;
|
valueHtml.value = item.outline;
|
||||||
|
|
||||||
getTea();
|
getTea();
|
||||||
@@ -4874,9 +4862,9 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
const submitReview = (id) => {
|
const submitReview = (id) => {
|
||||||
state.addLoading =true;
|
state.addLoading = true;
|
||||||
|
|
||||||
if(id==""){
|
if (id == "") {
|
||||||
return message.error("请先完成保存");
|
return message.error("请先完成保存");
|
||||||
}
|
}
|
||||||
let obj = {
|
let obj = {
|
||||||
@@ -4890,8 +4878,7 @@ export default defineComponent({
|
|||||||
ft_exit();
|
ft_exit();
|
||||||
rest();
|
rest();
|
||||||
getTableDate();
|
getTableDate();
|
||||||
state.addLoading =false;
|
state.addLoading = false;
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@@ -5098,7 +5085,7 @@ export default defineComponent({
|
|||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.aeLoading{
|
.aeLoading {
|
||||||
z-index: 10000;
|
z-index: 10000;
|
||||||
}
|
}
|
||||||
.courseManage {
|
.courseManage {
|
||||||
@@ -5259,7 +5246,7 @@ export default defineComponent({
|
|||||||
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.21);
|
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.21);
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
top:-100%;
|
top: -100%;
|
||||||
transform: translate(-50%, -50%);
|
transform: translate(-50%, -50%);
|
||||||
.of_header {
|
.of_header {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@@ -5476,91 +5463,91 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.mbl_items12 {
|
.mbl_items12 {
|
||||||
width: 440px;
|
width: 440px;
|
||||||
margin-left: 100px;
|
margin-left: 100px;
|
||||||
.i12_box1 {
|
.i12_box1 {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 17px 0px 17px 21px;
|
padding: 17px 0px 17px 21px;
|
||||||
border: 1px solid #eff4fc;
|
border: 1px solid #eff4fc;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
.file_img {
|
.file_img {
|
||||||
width: 27px;
|
width: 27px;
|
||||||
height: 32px;
|
height: 32px;
|
||||||
background-image: url(@/assets/images/coursewareManage/imgs.png);
|
background-image: url(@/assets/images/coursewareManage/imgs.png);
|
||||||
margin-right: 22px;
|
margin-right: 22px;
|
||||||
img {
|
img {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.file_detail {
|
.file_detail {
|
||||||
width: 250px;
|
width: 250px;
|
||||||
margin-right: 21px;
|
margin-right: 21px;
|
||||||
.file_updata {
|
.file_updata {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
.updatabox {
|
.updatabox {
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 230px;
|
width: 230px;
|
||||||
height: 5px;
|
height: 5px;
|
||||||
background-color: rgba(192, 192, 192, 0.25);
|
background-color: rgba(192, 192, 192, 0.25);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
.updatacolor {
|
.updatacolor {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 0;
|
left: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 5px;
|
height: 5px;
|
||||||
background-color: #57c887;
|
background-color: #57c887;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
}
|
|
||||||
.updatacolor2 {
|
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
width: 80%;
|
|
||||||
height: 5px;
|
|
||||||
background-color: #ff7474;
|
|
||||||
border-radius: 3px;
|
|
||||||
}
|
|
||||||
.updatacolor3 {
|
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
width: 60%;
|
|
||||||
height: 5px;
|
|
||||||
background-color: #388be1;
|
|
||||||
border-radius: 3px;
|
|
||||||
}
|
|
||||||
.updataxq {
|
|
||||||
position: absolute;
|
|
||||||
right: 2px;
|
|
||||||
top: -30px;
|
|
||||||
color: #57c887;
|
|
||||||
}
|
|
||||||
.updataxq2 {
|
|
||||||
position: absolute;
|
|
||||||
right: 2px;
|
|
||||||
top: -30px;
|
|
||||||
color: #ff7474;
|
|
||||||
}
|
|
||||||
.updataxq3 {
|
|
||||||
position: absolute;
|
|
||||||
right: 2px;
|
|
||||||
top: -30px;
|
|
||||||
color: #388be1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.file_operation {
|
|
||||||
display: flex;
|
|
||||||
.fobox {
|
|
||||||
margin-right: 5px;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
.updatacolor2 {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
width: 80%;
|
||||||
|
height: 5px;
|
||||||
|
background-color: #ff7474;
|
||||||
|
border-radius: 3px;
|
||||||
|
}
|
||||||
|
.updatacolor3 {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
width: 60%;
|
||||||
|
height: 5px;
|
||||||
|
background-color: #388be1;
|
||||||
|
border-radius: 3px;
|
||||||
|
}
|
||||||
|
.updataxq {
|
||||||
|
position: absolute;
|
||||||
|
right: 2px;
|
||||||
|
top: -30px;
|
||||||
|
color: #57c887;
|
||||||
|
}
|
||||||
|
.updataxq2 {
|
||||||
|
position: absolute;
|
||||||
|
right: 2px;
|
||||||
|
top: -30px;
|
||||||
|
color: #ff7474;
|
||||||
|
}
|
||||||
|
.updataxq3 {
|
||||||
|
position: absolute;
|
||||||
|
right: 2px;
|
||||||
|
top: -30px;
|
||||||
|
color: #388be1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.file_operation {
|
||||||
|
display: flex;
|
||||||
|
.fobox {
|
||||||
|
margin-right: 5px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
.items_fj {
|
.items_fj {
|
||||||
margin-bottom: 1px;
|
margin-bottom: 1px;
|
||||||
}
|
}
|
||||||
@@ -6297,7 +6284,7 @@ export default defineComponent({
|
|||||||
.file_img {
|
.file_img {
|
||||||
width: 27px;
|
width: 27px;
|
||||||
height: 32px;
|
height: 32px;
|
||||||
background-image: url(@/assets/images/coursewareManage/imgs.png);
|
background-image: url(@/assets/images/coursewareManage/imgs.png);
|
||||||
margin-right: 22px;
|
margin-right: 22px;
|
||||||
img {
|
img {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -6869,7 +6856,8 @@ export default defineComponent({
|
|||||||
.stmm_btn {
|
.stmm_btn {
|
||||||
width: 100px;
|
width: 100px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
margin-right: 14px;
|
// <!-- 2022-11-30注释 后面放开 -->
|
||||||
|
// margin-right: 14px;
|
||||||
background: #ffffff;
|
background: #ffffff;
|
||||||
border: 1px solid #4ea6ff;
|
border: 1px solid #4ea6ff;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
|
|||||||
@@ -15,56 +15,48 @@
|
|||||||
<div class="inpbox">
|
<div class="inpbox">
|
||||||
<div class="inpbox1">
|
<div class="inpbox1">
|
||||||
<a-input
|
<a-input
|
||||||
v-model:value="valueproj"
|
v-model:value="valueproj"
|
||||||
style="
|
style="
|
||||||
width: 270px;
|
width: 270px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
margin-right: 14px;
|
margin-right: 14px;
|
||||||
"
|
"
|
||||||
placeholder="请输入项目名称/所属项目"
|
placeholder="请输入项目名称/所属项目"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="inpbox1">
|
<div class="inpbox1">
|
||||||
<a-input
|
<a-input
|
||||||
v-model:value="valuename"
|
v-model:value="valuename"
|
||||||
style="
|
style="
|
||||||
width: 270px;
|
width: 270px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
margin-right: 14px;
|
margin-right: 14px;
|
||||||
"
|
"
|
||||||
placeholder="请输入项目经理"
|
placeholder="请输入项目经理"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="inpbox1">
|
<div class="inpbox1">
|
||||||
<a-input
|
<a-input
|
||||||
v-model:value="valuecreater"
|
v-model:value="valuecreater"
|
||||||
style="
|
style="
|
||||||
width: 270px;
|
width: 270px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
margin-right: 14px;
|
margin-right: 14px;
|
||||||
"
|
"
|
||||||
placeholder="请输入创建人"
|
placeholder="请输入创建人"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="inpbox1">
|
<div class="inpbox1">
|
||||||
<a-range-picker
|
<a-range-picker
|
||||||
v-model:value="valueDate"
|
v-model:value="valueDate"
|
||||||
style="border-radius: 8px; height: 40px; margin-left: 5px"
|
style="border-radius: 8px; height: 40px; margin-left: 5px"
|
||||||
:placeholder="[' 开始时间', ' 结束时间']"
|
:placeholder="[' 开始时间', ' 结束时间']"
|
||||||
@change="rankTimeChange"
|
valueFormat="X"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="inpbox1">-->
|
|
||||||
<!-- <a-select-->
|
|
||||||
<!-- v-model:value="valuestate"-->
|
|
||||||
<!-- placeholder="请选择审核状态"-->
|
|
||||||
<!-- @change="handleChangeproj"-->
|
|
||||||
<!-- :options="optionsproj"-->
|
|
||||||
<!-- />-->
|
|
||||||
<!-- </div>-->
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="tmplh_btn">
|
<div class="tmplh_btn">
|
||||||
@@ -81,26 +73,26 @@
|
|||||||
<div class="tmpl_body">
|
<div class="tmpl_body">
|
||||||
<div class="tmpl_tabbox">
|
<div class="tmpl_tabbox">
|
||||||
<a-table
|
<a-table
|
||||||
:columns="columns1"
|
:columns="columns1"
|
||||||
:data-source="tableData1"
|
:data-source="tableData1"
|
||||||
:loading="tableDataTotal === -1 ? true : false"
|
:loading="tableDataTotal === -1 ? true : false"
|
||||||
expandRowByClick="true"
|
expandRowByClick="true"
|
||||||
@expand="expandTable"
|
@expand="expandTable"
|
||||||
:scroll="{ x: 1300 }"
|
:scroll="{ x: 1300 }"
|
||||||
:pagination="false"
|
:pagination="false"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="tableBox">
|
<div class="tableBox">
|
||||||
<div class="pa">
|
<div class="pa">
|
||||||
<a-pagination
|
<a-pagination
|
||||||
v-if="total > 10"
|
v-if="total > 10"
|
||||||
showSizeChanger="true"
|
showSizeChanger="true"
|
||||||
show-quick-jumper
|
show-quick-jumper
|
||||||
:pageSize="pageSize"
|
:pageSize="pageSize"
|
||||||
v-model:current="currentPage"
|
v-model:current="currentPage"
|
||||||
:total="total"
|
:total="total"
|
||||||
class="pagination"
|
class="pagination"
|
||||||
@change="changePagination"
|
@change="changePagination"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -108,11 +100,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- 审核日志弹窗 -->
|
<!-- 审核日志弹窗 -->
|
||||||
<a-modal
|
<a-modal
|
||||||
v-model:visible="projAuditModal"
|
v-model:visible="projAuditModal"
|
||||||
:footer="null"
|
:footer="null"
|
||||||
:closable="closeBack"
|
:closable="closeBack"
|
||||||
wrapClassName="projAuditModal"
|
wrapClassName="projAuditModal"
|
||||||
centered="true"
|
centered="true"
|
||||||
>
|
>
|
||||||
<div class="delete">
|
<div class="delete">
|
||||||
<div class="del_header"></div>
|
<div class="del_header"></div>
|
||||||
@@ -124,14 +116,14 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="body">
|
<div class="body">
|
||||||
<a-table
|
<a-table
|
||||||
style="width: 90%"
|
style="width: 90%"
|
||||||
:columns="columnsAudit"
|
:columns="columnsAudit"
|
||||||
:data-source="tableDataAudit"
|
:data-source="tableDataAudit"
|
||||||
:loading="tableDataTotalAudit === -1 ? true : false"
|
:loading="tableDataTotalAudit === -1 ? true : false"
|
||||||
expandRowByClick="true"
|
expandRowByClick="true"
|
||||||
:scroll="{ y: 150 }"
|
:scroll="{ y: 150 }"
|
||||||
@expand="expandTable"
|
@expand="expandTable"
|
||||||
:pagination="false"
|
:pagination="false"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="del_btnbox">
|
<div class="del_btnbox">
|
||||||
@@ -148,9 +140,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { reactive, toRefs, onMounted } from "vue";
|
import {reactive, toRefs, onMounted} from "vue";
|
||||||
import { listView, auditList } from "../../api/indexAudit";
|
import {listView, auditList, auditlist, auditedlist} from "../../api/indexAudit";
|
||||||
import { toDate } from "@/api/method";
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "ProjectViewed",
|
name: "ProjectViewed",
|
||||||
@@ -180,8 +171,8 @@ export default {
|
|||||||
columns1: [
|
columns1: [
|
||||||
{
|
{
|
||||||
title: "序号",
|
title: "序号",
|
||||||
dataIndex: "number",
|
dataIndex: "projectId",
|
||||||
key: "number",
|
key: "projectId",
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -193,8 +184,8 @@ export default {
|
|||||||
|
|
||||||
{
|
{
|
||||||
title: "所属项目",
|
title: "所属项目",
|
||||||
dataIndex: "sourceBelongName",
|
dataIndex: "topName",
|
||||||
key: "sourceBelongName",
|
key: "topName",
|
||||||
align: "center",
|
align: "center",
|
||||||
width: "10%",
|
width: "10%",
|
||||||
},
|
},
|
||||||
@@ -209,23 +200,24 @@ export default {
|
|||||||
dataIndex: "status",
|
dataIndex: "status",
|
||||||
key: "status",
|
key: "status",
|
||||||
align: "center",
|
align: "center",
|
||||||
|
customRender: ({record: {status}}) => <div>{{2: '审核通过', 3: '审核拒绝'}[status]}</div>,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "创建人",
|
title: "创建人",
|
||||||
dataIndex: "creater",
|
dataIndex: "createName",
|
||||||
key: "creater",
|
key: "createName",
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "审核时间",
|
title: "审核时间",
|
||||||
dataIndex: "time",
|
dataIndex: "updateTime",
|
||||||
key: "time",
|
key: "updateTime",
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "审核说明",
|
title: "审核说明",
|
||||||
dataIndex: "msg",
|
dataIndex: "description",
|
||||||
key: "msg",
|
key: "description",
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -236,16 +228,16 @@ export default {
|
|||||||
align: "center",
|
align: "center",
|
||||||
customRender: (value) => {
|
customRender: (value) => {
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<span
|
<span
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
showProjAuditModal(value.record.id);
|
showProjAuditModal(value.record.auditList);
|
||||||
}}
|
}}
|
||||||
style="cursor:pointer;color:#387DF7"
|
style="cursor:pointer;color:#387DF7"
|
||||||
>
|
>
|
||||||
审核日志
|
审核日志
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -254,23 +246,25 @@ export default {
|
|||||||
columnsAudit: [
|
columnsAudit: [
|
||||||
{
|
{
|
||||||
title: "审核人",
|
title: "审核人",
|
||||||
dataIndex: "name",
|
dataIndex: "createName",
|
||||||
key: "name",
|
key: "createName",
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
title: "审核状态",
|
title: "审核状态",
|
||||||
dataIndex: "belong",
|
dataIndex: "status",
|
||||||
key: "belong",
|
key: "status",
|
||||||
align: "center",
|
align: "center",
|
||||||
|
customRender: ({record: {status}}) => <div>{{'2': '审核通过', '-2': '审核拒绝'}[(status + '')]}</div>,
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
title: "审核时间",
|
title: "审核时间",
|
||||||
dataIndex: "time",
|
dataIndex: "createTime",
|
||||||
key: "time",
|
key: "createTime",
|
||||||
align: "center",
|
align: "center",
|
||||||
|
width: 220
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -286,124 +280,21 @@ export default {
|
|||||||
});
|
});
|
||||||
const getProjList = () => {
|
const getProjList = () => {
|
||||||
let objn = {
|
let objn = {
|
||||||
beginTime: state.valueDate == undefined ? "" : Date.parse(state.valueDate[0]) ,
|
beginTime: state.valueDate ? state.valueDate[0] : '',
|
||||||
endTime: state.valueDate == undefined ? "" : Date.parse(state.valueDate[1]),
|
endTime: state.valueDate ? state.valueDate[1] : '',
|
||||||
createName: state.valuecreater,
|
createName: state.valuecreater,
|
||||||
manager: state.valuename,
|
manager: state.valuename,
|
||||||
name: state.valueproj,
|
name: state.valueproj,
|
||||||
pageNo: state.currentPage,
|
pageNo: state.currentPage,
|
||||||
pageSize: state.pageSize,
|
pageSize: state.pageSize,
|
||||||
status: 0,
|
status: 1,
|
||||||
};
|
};
|
||||||
listView(objn)
|
auditedlist(objn).then((res) => {
|
||||||
.then((res) => {
|
let result = res.data.data;
|
||||||
console.log("获取已审核项目成功", res.data.data.rows);
|
state.total = res.data.data.total;
|
||||||
let result = res.data.data;
|
state.tableData1 = result.rows
|
||||||
state.total = res.data.data.total;
|
})
|
||||||
setTableData(result.rows);
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
console.log("获取已审核项目失败", err);
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
const setTableData = (tabledata) => {
|
|
||||||
let data = tabledata;
|
|
||||||
let array = [];
|
|
||||||
data.map((item,index) => {
|
|
||||||
if(item.type == 3){
|
|
||||||
let obj = {
|
|
||||||
key:index+1,
|
|
||||||
number: item.projectId,
|
|
||||||
name: item.name,
|
|
||||||
belong: "",
|
|
||||||
manager: item.manager || "-",
|
|
||||||
sourceBelongName: item.sourceBelongName,
|
|
||||||
status:
|
|
||||||
item.status == 0
|
|
||||||
? "草稿"
|
|
||||||
: item.status == 1
|
|
||||||
? "已发布"
|
|
||||||
: item.status == 2
|
|
||||||
? "已结束"
|
|
||||||
: "-",
|
|
||||||
creater: item.createName,
|
|
||||||
time: toDate(item.beginTime, "Y-M-D h:m"),
|
|
||||||
msg: item.description || "-",
|
|
||||||
id: item.projectId,
|
|
||||||
};
|
|
||||||
array.push(obj);
|
|
||||||
} else {
|
|
||||||
let obj = {
|
|
||||||
key:index+1,
|
|
||||||
number: item.projectId,
|
|
||||||
name: item.name,
|
|
||||||
belong: "",
|
|
||||||
sourceBelongName: item.sourceBelongName,
|
|
||||||
manager: item.manager || "-",
|
|
||||||
status:
|
|
||||||
item.status == 0
|
|
||||||
? "草稿"
|
|
||||||
: item.status == 1
|
|
||||||
? "已发布"
|
|
||||||
: item.status == 2
|
|
||||||
? "已结束"
|
|
||||||
: "-",
|
|
||||||
creater: item.createName,
|
|
||||||
time: toDate(item.beginTime, "Y-M-D h:m"),
|
|
||||||
msg: item.description || "-",
|
|
||||||
id: item.projectId,
|
|
||||||
children: item.subList ? setTableData(item.subList) : [] ,
|
|
||||||
};
|
|
||||||
array.push(obj);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
state.tableData1 = array;
|
|
||||||
return array
|
|
||||||
};
|
|
||||||
// const getName = (item) => {
|
|
||||||
// if (
|
|
||||||
// Object.prototype.hasOwnProperty.call(item.subList[0], "name") &&
|
|
||||||
// !Object.prototype.hasOwnProperty.call(
|
|
||||||
// item.subList[0].subList[0],
|
|
||||||
// "name"
|
|
||||||
// )
|
|
||||||
// ) {
|
|
||||||
// // 两层
|
|
||||||
// return item.subList[0].name;
|
|
||||||
// } else if (
|
|
||||||
// Object.prototype.hasOwnProperty.call(item.subList[0], "name") &&
|
|
||||||
// Object.prototype.hasOwnProperty.call(item.subList[0].subList[0], "name")
|
|
||||||
// ) {
|
|
||||||
// //三层
|
|
||||||
// return item.subList[0].subList[0].name;
|
|
||||||
// // return item.name
|
|
||||||
// } else {
|
|
||||||
// // 单层
|
|
||||||
// return item.name;
|
|
||||||
// }
|
|
||||||
// };
|
|
||||||
// const getBelong = (item) => {
|
|
||||||
// if (
|
|
||||||
// Object.prototype.hasOwnProperty.call(item.subList[0], "name") &&
|
|
||||||
// !Object.prototype.hasOwnProperty.call(
|
|
||||||
// item.subList[0].subList[0],
|
|
||||||
// "name"
|
|
||||||
// )
|
|
||||||
// ) {
|
|
||||||
// // 两层
|
|
||||||
// return item.name;
|
|
||||||
// } else if (
|
|
||||||
// Object.prototype.hasOwnProperty.call(item.subList[0], "name") &&
|
|
||||||
// Object.prototype.hasOwnProperty.call(item.subList[0].subList[0], "name")
|
|
||||||
// ) {
|
|
||||||
// //三层
|
|
||||||
// return item.subList[0].name + "/" + item.subList[0].subList[0].name;
|
|
||||||
// // return item.name
|
|
||||||
// } else {
|
|
||||||
// // 单层
|
|
||||||
// return item.name;
|
|
||||||
// }
|
|
||||||
// };
|
|
||||||
const changePagination = (pagina) => {
|
const changePagination = (pagina) => {
|
||||||
state.currentPage = pagina;
|
state.currentPage = pagina;
|
||||||
getProjList();
|
getProjList();
|
||||||
@@ -419,21 +310,9 @@ export default {
|
|||||||
const closeProjAuditModal = () => {
|
const closeProjAuditModal = () => {
|
||||||
state.projAuditModal = false;
|
state.projAuditModal = false;
|
||||||
};
|
};
|
||||||
const showProjAuditModal = (id) => {
|
const showProjAuditModal = (data) => {
|
||||||
|
state.tableDataAudit = data
|
||||||
state.projAuditModal = true;
|
state.projAuditModal = true;
|
||||||
auditList({
|
|
||||||
pageNo: 1,
|
|
||||||
pageSize: 10,
|
|
||||||
project_id: id,
|
|
||||||
})
|
|
||||||
.then((res) => {
|
|
||||||
console.log("获取到了审核日志列表", res);
|
|
||||||
let result = res.data.data;
|
|
||||||
setAudit(result.rows);
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
console.log("审核日志列表获取失败", err);
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
const setAudit = (table) => {
|
const setAudit = (table) => {
|
||||||
let data = table;
|
let data = table;
|
||||||
@@ -442,13 +321,13 @@ export default {
|
|||||||
let obj = {
|
let obj = {
|
||||||
name: item.create_name,
|
name: item.create_name,
|
||||||
belong:
|
belong:
|
||||||
item.status == 1
|
item.status == 1
|
||||||
? "提交待审核"
|
? "提交待审核"
|
||||||
: item.status == 2
|
: item.status == 2
|
||||||
? "通过"
|
? "通过"
|
||||||
: item.status == 3
|
: item.status == 3
|
||||||
? "拒绝"
|
? "拒绝"
|
||||||
: "-",
|
: "-",
|
||||||
time: item.createTime,
|
time: item.createTime,
|
||||||
description: item.description,
|
description: item.description,
|
||||||
};
|
};
|
||||||
@@ -464,7 +343,6 @@ export default {
|
|||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
getProjList,
|
getProjList,
|
||||||
setTableData,
|
|
||||||
changePagination,
|
changePagination,
|
||||||
reset,
|
reset,
|
||||||
closeProjAuditModal,
|
closeProjAuditModal,
|
||||||
@@ -479,13 +357,16 @@ export default {
|
|||||||
.ant-modal {
|
.ant-modal {
|
||||||
width: 816px !important;
|
width: 816px !important;
|
||||||
min-height: 420px !important;
|
min-height: 420px !important;
|
||||||
|
|
||||||
.ant-modal-content {
|
.ant-modal-content {
|
||||||
width: 816px !important;
|
width: 816px !important;
|
||||||
min-height: 420px !important;
|
min-height: 420px !important;
|
||||||
|
|
||||||
.ant-modal-body {
|
.ant-modal-body {
|
||||||
width: 816px !important;
|
width: 816px !important;
|
||||||
min-height: 420px !important;
|
min-height: 420px !important;
|
||||||
padding: 0 !important;
|
padding: 0 !important;
|
||||||
|
|
||||||
.delete {
|
.delete {
|
||||||
z-index: 999;
|
z-index: 999;
|
||||||
width: 816px;
|
width: 816px;
|
||||||
@@ -502,19 +383,22 @@ export default {
|
|||||||
width: calc(100%);
|
width: calc(100%);
|
||||||
height: 68px;
|
height: 68px;
|
||||||
background: linear-gradient(
|
background: linear-gradient(
|
||||||
rgba(78, 166, 255, 0.2) 0%,
|
rgba(78, 166, 255, 0.2) 0%,
|
||||||
rgba(78, 166, 255, 0) 100%
|
rgba(78, 166, 255, 0) 100%
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
.del_main {
|
.del_main {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
.header {
|
.header {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding-top: 20px;
|
padding-top: 20px;
|
||||||
padding-left: 26px;
|
padding-left: 26px;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
|
|
||||||
.icon {
|
.icon {
|
||||||
width: 16px;
|
width: 16px;
|
||||||
height: 16px;
|
height: 16px;
|
||||||
@@ -522,6 +406,7 @@ export default {
|
|||||||
background-image: url(@/assets/images/taskpage/gan.png);
|
background-image: url(@/assets/images/taskpage/gan.png);
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.close_exit {
|
.close_exit {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 42px;
|
right: 42px;
|
||||||
@@ -532,6 +417,7 @@ export default {
|
|||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.body {
|
.body {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin: 34px auto 56px auto;
|
margin: 34px auto 56px auto;
|
||||||
@@ -541,9 +427,11 @@ export default {
|
|||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
// background-color: red;
|
// background-color: red;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
.ant-table-empty {
|
.ant-table-empty {
|
||||||
width: 100% !important;
|
width: 100% !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.back {
|
.back {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 30px;
|
top: 30px;
|
||||||
@@ -552,10 +440,12 @@ export default {
|
|||||||
color: #666666;
|
color: #666666;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.del_btnbox {
|
.del_btnbox {
|
||||||
display: flex;
|
display: flex;
|
||||||
margin: 30px auto;
|
margin: 30px auto;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
||||||
.del_btn {
|
.del_btn {
|
||||||
width: 100px;
|
width: 100px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
@@ -567,17 +457,20 @@ export default {
|
|||||||
|
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
||||||
.btnText {
|
.btnText {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
line-height: 40px;
|
line-height: 40px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn1 {
|
.btn1 {
|
||||||
border: 1px solid rgba(64, 158, 255, 1);
|
border: 1px solid rgba(64, 158, 255, 1);
|
||||||
color: #4ea6ff;
|
color: #4ea6ff;
|
||||||
margin-right: 14px;
|
margin-right: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn2 {
|
.btn2 {
|
||||||
background-color: #4ea6ff;
|
background-color: #4ea6ff;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
@@ -589,10 +482,13 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.projectviewed {
|
.projectviewed {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
.tmpl {
|
.tmpl {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
.tmpl_header {
|
.tmpl_header {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
@@ -601,33 +497,39 @@ export default {
|
|||||||
|
|
||||||
margin-left: 32px;
|
margin-left: 32px;
|
||||||
margin-right: 32px;
|
margin-right: 32px;
|
||||||
|
|
||||||
.tmplh_inp {
|
.tmplh_inp {
|
||||||
.inpbox {
|
.inpbox {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
margin-top: 42px;
|
margin-top: 42px;
|
||||||
|
|
||||||
.inpbox1 {
|
.inpbox1 {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin-right: 24px;
|
margin-right: 24px;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
|
|
||||||
.ant-select-selector {
|
.ant-select-selector {
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
width: 270px;
|
width: 270px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
padding-top: 5px;
|
padding-top: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
span {
|
span {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.tmplh_btn {
|
.tmplh_btn {
|
||||||
display: flex;
|
display: flex;
|
||||||
// margin-left: 38px;
|
// margin-left: 38px;
|
||||||
margin-top: 32px;
|
margin-top: 32px;
|
||||||
|
|
||||||
.btn {
|
.btn {
|
||||||
padding: 0px 26px 0px 26px;
|
padding: 0px 26px 0px 26px;
|
||||||
height: 38px;
|
height: 38px;
|
||||||
@@ -638,72 +540,90 @@ export default {
|
|||||||
margin-right: 14px;
|
margin-right: 14px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
|
|
||||||
.search {
|
.search {
|
||||||
background-size: 100%;
|
background-size: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btnText {
|
.btnText {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
line-height: 36px;
|
line-height: 36px;
|
||||||
margin-left: 5px;
|
margin-left: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btnText1 {
|
.btnText1 {
|
||||||
color: rgb(255, 255, 255);
|
color: rgb(255, 255, 255);
|
||||||
}
|
}
|
||||||
|
|
||||||
.btnText2 {
|
.btnText2 {
|
||||||
color: rgba(64, 158, 255, 1);
|
color: rgba(64, 158, 255, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn1 {
|
.btn1 {
|
||||||
background: #409eff;
|
background: #409eff;
|
||||||
|
|
||||||
.search {
|
.search {
|
||||||
width: 15px;
|
width: 15px;
|
||||||
height: 17px;
|
height: 17px;
|
||||||
background-image: url("../../assets/images/courseManage/search0.png");
|
background-image: url("../../assets/images/courseManage/search0.png");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn2 {
|
.btn2 {
|
||||||
background: #ffffff;
|
background: #ffffff;
|
||||||
border: 1px solid #388be1;
|
border: 1px solid #388be1;
|
||||||
|
|
||||||
.search {
|
.search {
|
||||||
width: 16px;
|
width: 16px;
|
||||||
height: 18px;
|
height: 18px;
|
||||||
background-image: url("../../assets/images/courseManage/reset1.png");
|
background-image: url("../../assets/images/courseManage/reset1.png");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn1:hover {
|
.btn1:hover {
|
||||||
background: rgb(255, 255, 255);
|
background: rgb(255, 255, 255);
|
||||||
border: 1px solid #388be1;
|
border: 1px solid #388be1;
|
||||||
|
|
||||||
.search {
|
.search {
|
||||||
background-image: url("../../assets/images/courseManage/search1.png");
|
background-image: url("../../assets/images/courseManage/search1.png");
|
||||||
}
|
}
|
||||||
|
|
||||||
.btnText {
|
.btnText {
|
||||||
color: rgba(64, 158, 255, 1);
|
color: rgba(64, 158, 255, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn2:hover {
|
.btn2:hover {
|
||||||
background: rgba(64, 158, 255, 1);
|
background: rgba(64, 158, 255, 1);
|
||||||
|
|
||||||
.search {
|
.search {
|
||||||
background-image: url("../../assets/images/courseManage/reset0.png");
|
background-image: url("../../assets/images/courseManage/reset0.png");
|
||||||
}
|
}
|
||||||
|
|
||||||
.btnText {
|
.btnText {
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.tmpl_body {
|
.tmpl_body {
|
||||||
padding: 0px 30px;
|
padding: 0px 30px;
|
||||||
|
|
||||||
.tmpl_tabbox {
|
.tmpl_tabbox {
|
||||||
.operation {
|
.operation {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
color: #4ea6ff;
|
color: #4ea6ff;
|
||||||
|
|
||||||
.nselect {
|
.nselect {
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
||||||
.jc {
|
.jc {
|
||||||
margin-left: 20px;
|
margin-left: 20px;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
@@ -712,6 +632,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.pa {
|
.pa {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
|
|||||||
@@ -207,72 +207,6 @@ export default {
|
|||||||
console.log("获取待审核项目失败", err);
|
console.log("获取待审核项目失败", err);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
const setProjList = (tableData) => {
|
|
||||||
let data = tableData;
|
|
||||||
let array = [];
|
|
||||||
data.map((item, index) => {
|
|
||||||
if (item.type == 3) {
|
|
||||||
let obj = {
|
|
||||||
key: index + 1,
|
|
||||||
number: item.projectId,
|
|
||||||
name: item.name,
|
|
||||||
belong: item.parentId,
|
|
||||||
sourceBelongName: item.sourceBelongName,
|
|
||||||
manager: item.manager || "-",
|
|
||||||
status:
|
|
||||||
item.status == 0
|
|
||||||
? "草稿"
|
|
||||||
: item.status == 1
|
|
||||||
? "待审核"
|
|
||||||
: item.status == 2
|
|
||||||
? "通过"
|
|
||||||
: item.status == 3
|
|
||||||
? "发布"
|
|
||||||
: item.status == -1
|
|
||||||
? "已结束"
|
|
||||||
: item.status == -2
|
|
||||||
? "拒绝"
|
|
||||||
: "-",
|
|
||||||
creater: item.createName,
|
|
||||||
time: item.createTime,
|
|
||||||
projectId: item.projectId,
|
|
||||||
createId: item.createId,
|
|
||||||
};
|
|
||||||
array.push(obj);
|
|
||||||
} else {
|
|
||||||
let obj = {
|
|
||||||
key: index + 1,
|
|
||||||
number: item.projectId,
|
|
||||||
name: item.name,
|
|
||||||
belong: item.parentId,
|
|
||||||
sourceBelongName: item.sourceBelongName,
|
|
||||||
manager: item.manager || "-",
|
|
||||||
status:
|
|
||||||
item.status == 0
|
|
||||||
? "草稿"
|
|
||||||
: item.status == 1
|
|
||||||
? "待审核"
|
|
||||||
: item.status == 2
|
|
||||||
? "通过"
|
|
||||||
: item.status == 3
|
|
||||||
? "发布"
|
|
||||||
: item.status == -1
|
|
||||||
? "已结束"
|
|
||||||
: item.status == -2
|
|
||||||
? "拒绝"
|
|
||||||
: "-",
|
|
||||||
creater: item.createName,
|
|
||||||
time: item.createTime,
|
|
||||||
projectId: item.projectId,
|
|
||||||
createId: item.createId,
|
|
||||||
children: item.subList ? setProjList(item.subList) : [],
|
|
||||||
};
|
|
||||||
array.push(obj);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
state.tableData1 = array
|
|
||||||
return array
|
|
||||||
};
|
|
||||||
const changePagination = (pagina) => {
|
const changePagination = (pagina) => {
|
||||||
state.currentPage = pagina;
|
state.currentPage = pagina;
|
||||||
getProjList();
|
getProjList();
|
||||||
@@ -291,7 +225,6 @@ export default {
|
|||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
showProjAudit,
|
showProjAudit,
|
||||||
getProjList,
|
getProjList,
|
||||||
setProjList,
|
|
||||||
changePagination,
|
changePagination,
|
||||||
reset,
|
reset,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -336,7 +336,10 @@ export default {
|
|||||||
|
|
||||||
const classificationChange5 = (key, option) => {
|
const classificationChange5 = (key, option) => {
|
||||||
state.projectInfo = option
|
state.projectInfo = option
|
||||||
|
state.projectInfo.type = 3
|
||||||
|
state.projectInfo.rangeTime = [option.beginTime, option.endTime]
|
||||||
state.projectInfo.parentName = routers.query.parentName
|
state.projectInfo.parentName = routers.query.parentName
|
||||||
|
state.projectInfo.parentId = routers.query.parentId
|
||||||
};
|
};
|
||||||
//获取模版列表
|
//获取模版列表
|
||||||
const getTemplate = () => {
|
const getTemplate = () => {
|
||||||
|
|||||||
@@ -347,7 +347,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="modalMain">
|
<div class="modalMain">
|
||||||
<router-link :to="`/projectadd?parentId=${projectInfo.parentId}&parentName=${projectInfo.parentName}`">
|
<router-link :to="`/projectadd?parentId=${projectInfo.parentId || ''}&parentName=${projectInfo.parentName || ''}`">
|
||||||
<div
|
<div
|
||||||
class="taskbox"
|
class="taskbox"
|
||||||
style="
|
style="
|
||||||
@@ -1342,7 +1342,7 @@ export default {
|
|||||||
编辑
|
编辑
|
||||||
</span>
|
</span>
|
||||||
: ''}
|
: ''}
|
||||||
{(value.record.status === 0 || value.record.status === -2) && value.record.type !== 1 ?
|
{(value.record.status === 0 || value.record.status === -2) && value.record.type === 3 ?
|
||||||
<span
|
<span
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
showReviewModal(value.record.projectId);
|
showReviewModal(value.record.projectId);
|
||||||
@@ -1484,7 +1484,7 @@ export default {
|
|||||||
删除
|
删除
|
||||||
</div>
|
</div>
|
||||||
</a-select-option>
|
</a-select-option>
|
||||||
{value.record.status === 3 || value.record.status === 2 ?
|
{value.record.type === 3 ?
|
||||||
<a-select-option value="存为模版" label="存为模版">
|
<a-select-option value="存为模版" label="存为模版">
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
@@ -1494,7 +1494,7 @@ export default {
|
|||||||
存为模版
|
存为模版
|
||||||
</div>
|
</div>
|
||||||
</a-select-option> : ''}
|
</a-select-option> : ''}
|
||||||
{value.record.status === 3 || value.record.status === 2 ?
|
{value.record.type === 3 ?
|
||||||
<a-select-option value="基础信息" label="基础信息">
|
<a-select-option value="基础信息" label="基础信息">
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
|
|||||||
@@ -106,7 +106,7 @@
|
|||||||
<a-tab-pane key="1" tab="概览">
|
<a-tab-pane key="1" tab="概览">
|
||||||
<div class="split"></div>
|
<div class="split"></div>
|
||||||
<!-- 概览(无数据) -->
|
<!-- 概览(无数据) -->
|
||||||
<div style="display: none">
|
<div>
|
||||||
<div class="onerow">
|
<div class="onerow">
|
||||||
<div class="taskmain">快速创建项目详情</div>
|
<div class="taskmain">快速创建项目详情</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -149,7 +149,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="centermain">快速添加学员</div>
|
<div class="centermain">快速添加学员</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<!-- 2022-12-2注释 后面放开 -->
|
||||||
|
<!-- <div
|
||||||
class="taskbox"
|
class="taskbox"
|
||||||
@click="showModal"
|
@click="showModal"
|
||||||
style="background: linear-gradient(180deg, #e5f6ec, #eef9f3)"
|
style="background: linear-gradient(180deg, #e5f6ec, #eef9f3)"
|
||||||
@@ -167,12 +168,12 @@
|
|||||||
发布
|
发布
|
||||||
</div>
|
</div>
|
||||||
<div class="centermain">快速发布项目</div>
|
<div class="centermain">快速发布项目</div>
|
||||||
</div>
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- 概览(无数据) -->
|
<!-- 概览(无数据) -->
|
||||||
<!-- 概览(有数据) -->
|
<!-- 概览(有数据) -->
|
||||||
<div>
|
<div style="display: none">
|
||||||
<div class="onerow">
|
<div class="onerow">
|
||||||
<div class="taskmain">项目概览</div>
|
<div class="taskmain">项目概览</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -447,7 +448,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="operations">
|
<div class="operations">
|
||||||
<div
|
<!-- 2022-11-30注释 后面放开 -->
|
||||||
|
<!-- <div
|
||||||
class="operation"
|
class="operation"
|
||||||
style="cursor: pointer"
|
style="cursor: pointer"
|
||||||
:style="{
|
:style="{
|
||||||
@@ -456,8 +458,8 @@
|
|||||||
@click="showFS"
|
@click="showFS"
|
||||||
>
|
>
|
||||||
学员
|
学员
|
||||||
</div>
|
</div> -->
|
||||||
<div
|
<!-- <div
|
||||||
class="operation"
|
class="operation"
|
||||||
style="cursor: pointer"
|
style="cursor: pointer"
|
||||||
@click="showAA(item.name)"
|
@click="showAA(item.name)"
|
||||||
@@ -469,7 +471,7 @@
|
|||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
考勤
|
考勤
|
||||||
</div>
|
</div> -->
|
||||||
<div
|
<div
|
||||||
class="operation"
|
class="operation"
|
||||||
style="cursor: pointer"
|
style="cursor: pointer"
|
||||||
@@ -477,7 +479,8 @@
|
|||||||
>
|
>
|
||||||
二维码
|
二维码
|
||||||
</div>
|
</div>
|
||||||
<div
|
<!-- 2022-11-30注释 后面放开 -->
|
||||||
|
<!-- <div
|
||||||
class="operation"
|
class="operation"
|
||||||
style="cursor: pointer; margin-right: 35px"
|
style="cursor: pointer; margin-right: 35px"
|
||||||
@click="
|
@click="
|
||||||
@@ -499,7 +502,7 @@
|
|||||||
"
|
"
|
||||||
>
|
>
|
||||||
管理
|
管理
|
||||||
</div>
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-collapse-panel>
|
</a-collapse-panel>
|
||||||
@@ -804,29 +807,19 @@
|
|||||||
></a-tab-pane>
|
></a-tab-pane>
|
||||||
</a-tabs>
|
</a-tabs>
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
<a-tab-pane key="5" tab="项目积分" disabled>
|
<!-- 2022-11-30注释 后面放开 -->
|
||||||
|
<!-- <a-tab-pane key="5" tab="项目积分" disabled>
|
||||||
<ProjectScore :projectId="projectId"></ProjectScore>
|
<ProjectScore :projectId="projectId"></ProjectScore>
|
||||||
</a-tab-pane>
|
</a-tab-pane> -->
|
||||||
<a-tab-pane key="6" tab="排行榜" disabled>
|
<!-- 2022-11-30注释 后面放开 -->
|
||||||
|
<!-- <a-tab-pane key="6" tab="排行榜" disabled>
|
||||||
<div class="split"></div>
|
<div class="split"></div>
|
||||||
<div class="content6">
|
<div class="content6">
|
||||||
<div class="title">排行榜</div>
|
<div class="title">排行榜</div>
|
||||||
<div class="line"></div>
|
<div class="line"></div>
|
||||||
<div class="search">
|
<div class="search">
|
||||||
<div class="left">
|
<div class="left">
|
||||||
<!-- <div class="name">
|
|
||||||
<div class="text">姓名:</div>
|
|
||||||
<a-input
|
|
||||||
v-model:value="valueName"
|
|
||||||
placeholder="请输入姓名"
|
|
||||||
style="
|
|
||||||
width: 264px;
|
|
||||||
height: 40px;
|
|
||||||
border-radius: 8px;
|
|
||||||
margin-left: 5px;
|
|
||||||
"
|
|
||||||
/>
|
|
||||||
</div> -->
|
|
||||||
<div class="time">
|
<div class="time">
|
||||||
<div class="text">选择时间:</div>
|
<div class="text">选择时间:</div>
|
||||||
<a-range-picker
|
<a-range-picker
|
||||||
@@ -933,7 +926,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-tab-pane>
|
</a-tab-pane> -->
|
||||||
<a-tab-pane key="7" tab="设置">
|
<a-tab-pane key="7" tab="设置">
|
||||||
<div class="split"></div>
|
<div class="split"></div>
|
||||||
|
|
||||||
@@ -1684,7 +1677,7 @@ import SeeStu from "../../components/drawers/SeeStu";
|
|||||||
import ChangeGroup from "../../components/drawers/ChangeGroup";
|
import ChangeGroup from "../../components/drawers/ChangeGroup";
|
||||||
import NoticePub from "../../components/drawers/NoticePub";
|
import NoticePub from "../../components/drawers/NoticePub";
|
||||||
import NoticeHis from "../../components/drawers/NoticeHis";
|
import NoticeHis from "../../components/drawers/NoticeHis";
|
||||||
import ProjectScore from "../../components/drawers/ProjectScore";
|
// import ProjectScore from "../../components/drawers/ProjectScore";
|
||||||
import TaskImpStu from "../../components/drawers/TaskFaceIn";
|
import TaskImpStu from "../../components/drawers/TaskFaceIn";
|
||||||
import { storage } from "../../api/storage";
|
import { storage } from "../../api/storage";
|
||||||
import * as api from "../../api/index1";
|
import * as api from "../../api/index1";
|
||||||
@@ -1723,7 +1716,7 @@ export default {
|
|||||||
SeeStu,
|
SeeStu,
|
||||||
ChangeGroup,
|
ChangeGroup,
|
||||||
NoticePub,
|
NoticePub,
|
||||||
ProjectScore,
|
// ProjectScore,
|
||||||
TaskImpStu,
|
TaskImpStu,
|
||||||
projSet,
|
projSet,
|
||||||
NoticeHis,
|
NoticeHis,
|
||||||
|
|||||||
@@ -3,13 +3,16 @@
|
|||||||
<div class="managepage">
|
<div class="managepage">
|
||||||
<div class="up">
|
<div class="up">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div style="width: 100%">
|
<!-- 2022-11-30注释 后面放开 新增display: flex; justify-content: space-between 评估管理的div更改位置-->
|
||||||
<div class="export">
|
<div style="width: 100%; display: flex; justify-content: space-between">
|
||||||
|
<!-- 2022-11-30注释 后面放开 -->
|
||||||
|
<!-- <div class="export">
|
||||||
<img src="../../assets/images/research/export.png" />
|
<img src="../../assets/images/research/export.png" />
|
||||||
<span style="color: #4ea6ff; font-size: 14px; margin-left: 3px">
|
<span style="color: #4ea6ff; font-size: 14px; margin-left: 3px">
|
||||||
导出信息
|
导出信息
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div> -->
|
||||||
|
<div class="text">评估管理</div>
|
||||||
<router-link to="/researchmanage" class="goback">
|
<router-link to="/researchmanage" class="goback">
|
||||||
<span class="return"></span>
|
<span class="return"></span>
|
||||||
<router-link class="returntext" to="/researchmanage">
|
<router-link class="returntext" to="/researchmanage">
|
||||||
@@ -17,7 +20,7 @@
|
|||||||
</router-link>
|
</router-link>
|
||||||
</router-link>
|
</router-link>
|
||||||
</div>
|
</div>
|
||||||
<div class="text">评估管理</div>
|
<!-- <div class="text">评估管理</div> -->
|
||||||
</div>
|
</div>
|
||||||
<div class="message">
|
<div class="message">
|
||||||
<div class="title">基本信息</div>
|
<div class="title">基本信息</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user