mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-16 06:16:46 +08:00
合并
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -21,3 +21,5 @@ pnpm-debug.log*
|
|||||||
*.njsproj
|
*.njsproj
|
||||||
*.sln
|
*.sln
|
||||||
*.sw?
|
*.sw?
|
||||||
|
fe-manage.iml
|
||||||
|
package-lock.json
|
||||||
|
|||||||
1002
package-lock.json
generated
1002
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -89,6 +89,7 @@ export default defineComponent({
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
orgTree();
|
orgTree();
|
||||||
|
|
||||||
return {
|
return {
|
||||||
routes,
|
routes,
|
||||||
name: currentRouteName,
|
name: currentRouteName,
|
||||||
|
|||||||
@@ -2,11 +2,12 @@
|
|||||||
* @Author: lixg lixg@dongwu-inc.com
|
* @Author: lixg lixg@dongwu-inc.com
|
||||||
* @Date: 2022-11-21 14:32:52
|
* @Date: 2022-11-21 14:32:52
|
||||||
* @LastEditors: lixg lixg@dongwu-inc.com
|
* @LastEditors: lixg lixg@dongwu-inc.com
|
||||||
* @LastEditTime: 2022-11-23 09:59:26
|
* @LastEditTime: 2022-11-25 17:33:03
|
||||||
* @FilePath: /fe-manage/src/api/config.js
|
* @FilePath: /fe-manage/src/api/config.js
|
||||||
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
*/
|
*/
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
|
// import { getCookie } from '../api/method'
|
||||||
// const Qs = require("qs");
|
// const Qs = require("qs");
|
||||||
|
|
||||||
// axios.defaults.headers.post["Content-Type"] =
|
// axios.defaults.headers.post["Content-Type"] =
|
||||||
@@ -24,15 +25,16 @@ const http = axios.create({
|
|||||||
http.interceptors.request.use(
|
http.interceptors.request.use(
|
||||||
(config) => {
|
(config) => {
|
||||||
const token = localStorage.getItem("token");
|
const token = localStorage.getItem("token");
|
||||||
|
// const token = getCookie('token')
|
||||||
|
// console.log('token', token)
|
||||||
if (token) {
|
if (token) {
|
||||||
// config.headers.token = token;
|
|
||||||
config.headers.token = token; //测试1111
|
config.headers.token = token; //测试1111
|
||||||
} else {
|
} else {
|
||||||
console.log("当前请求页面无token,请执行操作!!!");
|
console.log("当前请求页面无token,请执行操作!!!");
|
||||||
|
|
||||||
// 此处测试默认配置token
|
// 此处测试默认配置token
|
||||||
// config.headers.token = "123456";
|
config.headers.token = "123456";
|
||||||
config.headers.token = "eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC91LmJvZS5jb20iLCJpYXQiOjE2NjkzODQwMTIsImV4cCI6MTY2OTM5MTIxMiwiR2l2ZW5OYW1lIjoiYm9ldSIsInVzZXJJZCI6IjAxNTU1M0RELTQ0NUUtNjlENC0zNTFGLUREOUExQTU2NDIwRSIsInVJZCI6Ijk2NTM0MTk5OTY0MzIzNDMwNCIsInBlcm1pc3Npb24iOiIifQ==.654058829fa6a65bf1477f6fc78cc6009304be484c9c49c0944147930c341f6c"
|
// config.headers.token = "eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC91LmJvZS5jb20iLCJpYXQiOjE2NjkzMDA4MDksImV4cCI6MTY2OTMwODAwOSwiR2l2ZW5OYW1lIjoiYm9ldSIsInVzZXJJZCI6IjZCMDQ5RkFGLUMzMTQtN0NDRi0wRDI4LTBEMjNGNEM0MjUzMSIsInVJZCI6Ijk2NTM0MjAyNzQ5NzYwNzE2OCIsInBlcm1pc3Npb24iOiIifQ==.bb3e0e031513761003d5c3bfeaf16e364bdf8fe7bc4cf691a05a74dc454afbfb";
|
||||||
}
|
}
|
||||||
return config;
|
return config;
|
||||||
},
|
},
|
||||||
@@ -44,12 +46,15 @@ http.interceptors.request.use(
|
|||||||
|
|
||||||
http.interceptors.response.use(
|
http.interceptors.response.use(
|
||||||
(response) => {
|
(response) => {
|
||||||
|
// console.log('response', response)
|
||||||
const {
|
const {
|
||||||
data: { code, msg },
|
data: { code, msg },
|
||||||
} = response;
|
} = response;
|
||||||
|
// console.log('code', code)
|
||||||
if (code === 0 || code === 200) {
|
if (code === 0 || code === 200) {
|
||||||
return response;
|
return response;
|
||||||
} else {
|
} else {
|
||||||
|
// window.open("https://u-pre.boe.com/web/", '_self');
|
||||||
console.log("api %o", msg);
|
console.log("api %o", msg);
|
||||||
}
|
}
|
||||||
return response;
|
return response;
|
||||||
|
|||||||
@@ -2,13 +2,13 @@
|
|||||||
* @Author: lixg lixg@dongwu-inc.com
|
* @Author: lixg lixg@dongwu-inc.com
|
||||||
* @Date: 2022-11-04 22:45:31
|
* @Date: 2022-11-04 22:45:31
|
||||||
* @LastEditors: lixg lixg@dongwu-inc.com
|
* @LastEditors: lixg lixg@dongwu-inc.com
|
||||||
* @LastEditTime: 2022-11-24 15:11:25
|
* @LastEditTime: 2022-11-25 14:56:59
|
||||||
* @FilePath: /fe-manage/src/api/index1.js
|
* @FilePath: /fe-manage/src/api/index1.js
|
||||||
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
*/
|
*/
|
||||||
import http from "./config";
|
import http from "./config";
|
||||||
import qs from "qs";
|
import qs from "qs";
|
||||||
|
// import { getCookie } from '../api/method'
|
||||||
/**
|
/**
|
||||||
* 接口传参数方式(get)
|
* 接口传参数方式(get)
|
||||||
* axios.get('/user', {
|
* axios.get('/user', {
|
||||||
@@ -104,7 +104,8 @@ export const getMemberInfo = (obj) => http.post('/admin/orgStruct/getMemberInfo'
|
|||||||
export const getAudienceInfo = (obj) => http.post('/admin/orgStruct/getAudienceInfo', obj)
|
export const getAudienceInfo = (obj) => http.post('/admin/orgStruct/getAudienceInfo', obj)
|
||||||
//获取授权(修改版)
|
//获取授权(修改版)
|
||||||
export const optionAuthPerm = (obj) => http.post('/admin/AuthPerm/optionAuthPerm', obj)
|
export const optionAuthPerm = (obj) => http.post('/admin/AuthPerm/optionAuthPerm', obj)
|
||||||
|
//获取用户登录
|
||||||
|
export const getUser = () => http.post('/admin/CheckUser/login')
|
||||||
|
|
||||||
|
|
||||||
// 获取组织结构树
|
// 获取组织结构树
|
||||||
|
|||||||
@@ -3,10 +3,12 @@ import http from "./config";
|
|||||||
/**
|
/**
|
||||||
* 1
|
* 1
|
||||||
*/
|
*/
|
||||||
//添加课程学员
|
//1添加课程学员
|
||||||
export const addStudent = (obj) =>
|
export const addStudent = (obj) =>
|
||||||
http.post("/admin/offcourse/addStudent", obj);
|
http.post("/admin/offcourse/addStudent", obj);
|
||||||
//删除开课
|
//2面授课审核?
|
||||||
|
export const auditView = (obj) => http.post("/admin/offcourse/auditView", obj);
|
||||||
|
//3删除开课
|
||||||
export const deletePlan = (obj) =>
|
export const deletePlan = (obj) =>
|
||||||
http.delete(
|
http.delete(
|
||||||
"/admin/offcourse/deletePlan",
|
"/admin/offcourse/deletePlan",
|
||||||
@@ -15,40 +17,44 @@ export const deletePlan = (obj) =>
|
|||||||
headers: { "Content-Type": "application/x-www-form-urlencoded" },
|
headers: { "Content-Type": "application/x-www-form-urlencoded" },
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
//获取面授课详情
|
//4获取面授课详情
|
||||||
export const detail = (obj) =>
|
export const detail = (obj) =>
|
||||||
http.post("/admin/offcourse/detail", obj, {
|
http.post("/admin/offcourse/detail", obj, {
|
||||||
headers: { "Content-Type": "application/x-www-form-urlencoded" },
|
headers: { "Content-Type": "application/x-www-form-urlencoded" },
|
||||||
});
|
});
|
||||||
//获取面授课开课详情
|
//5获取面授课开课详情
|
||||||
export const detailPlan = (obj) =>
|
export const detailPlan = (obj) =>
|
||||||
http.post("/admin/offcourse/detailPlan", obj, {
|
http.post("/admin/offcourse/detailPlan", obj, {
|
||||||
headers: { "Content-Type": "application/x-www-form-urlencoded" },
|
headers: { "Content-Type": "application/x-www-form-urlencoded" },
|
||||||
});
|
});
|
||||||
//新建或编辑面授课
|
//6新建或编辑面授课
|
||||||
export const edit = (obj) => http.post("/admin/offcourse/edit", obj);
|
export const edit = (obj) => http.post("/admin/offcourse/edit", obj);
|
||||||
//新建或编辑面授课开课
|
//7新建或编辑面授课开课
|
||||||
export const editPlan = (obj) => http.post("/admin/offcourse/editPlan", obj);
|
export const editPlan = (obj) => http.post("/admin/offcourse/editPlan", obj);
|
||||||
//课程导出
|
//8课程导出
|
||||||
export const exportP = (obj) => http.post("/admin/offcourse/export", obj);
|
export const exportP = (obj) => http.post("/admin/offcourse/export", obj);
|
||||||
//操作面授课(发布,撤回,删除,审核,停用)
|
//9操作面授课(发布,撤回,删除,审核,停用)
|
||||||
export const handle = (obj) => http.post("/admin/offcourse/handle", obj);
|
export const handle = (obj) => http.post("/admin/offcourse/handle", obj);
|
||||||
//学员操作-支持批量
|
//10学员操作-支持批量
|
||||||
export const handleStudent = (obj) =>
|
export const handleStudent = (obj) =>
|
||||||
http.post("/admin/offcourse/handleStudent", obj);
|
http.post("/admin/offcourse/handleStudent", obj);
|
||||||
//获取面授课列表
|
//11获取面授课列表
|
||||||
export const list = (obj) => http.post("/admin/offcourse/list", obj);
|
export const list = (obj) => http.post("/admin/offcourse/list", obj);
|
||||||
//获取面授课已审核列表
|
//12获取面授课已审核列表?
|
||||||
export const listReview = (obj) =>
|
export const listReview = (obj) =>
|
||||||
http.post("/admin/offcourse/listReview", obj);
|
http.post("/admin/offcourse/listReview", obj);
|
||||||
//面授课开课列表
|
//13面授课开课列表
|
||||||
export const planList = (obj) => http.post("/admin/offcourse/planList", obj);
|
export const planList = (obj) => http.post("/admin/offcourse/planList", obj);
|
||||||
//学员导出
|
//14学员导出
|
||||||
export const studentExport = (obj) =>
|
export const studentExport = (obj) =>
|
||||||
http.post("/admin/offcourse/studentExport", obj);
|
http.post("/admin/offcourse/studentExport", obj);
|
||||||
//获取学员列表
|
//15获取学员列表
|
||||||
export const studentList = (obj) =>
|
export const studentList = (obj) =>
|
||||||
http.post("/admin/offcourse/studentList", obj);
|
http.post("/admin/offcourse/studentList", obj);
|
||||||
//学习记录列表
|
//16学习记录列表?
|
||||||
export const studyRecordList = (obj) =>
|
export const studyRecordList = (obj) =>
|
||||||
http.post("/admin/offcourse/studyRecordList", obj);
|
http.post("/admin/offcourse/studyRecordList", obj);
|
||||||
|
|
||||||
|
// 获取员工信息
|
||||||
|
export const getMemberInfoApi = (obj) =>
|
||||||
|
http.post("/admin/orgStruct/getMemberInfo", obj);
|
||||||
|
|||||||
@@ -9,6 +9,15 @@ export const queryExaminationDetailById = (obj) => http.post('/examination/query
|
|||||||
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
|
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// 创建考试信息接口
|
// 查询用户答卷信息-三方
|
||||||
export const updateExamination = (obj) => http.post('/examination/updateExamination', obj);
|
export const queryUserAnswerDetail = (id) => http.get(`/examination/updateExamination?aloneId=${id}`);
|
||||||
|
// 查询用户答卷列表-三方
|
||||||
|
export const queryUserAnswerPageDetailList = (obj) => http.post('/examination/queryUserAnswerPageDetailList', obj);
|
||||||
|
// 获取试卷列表接口-三方
|
||||||
|
export const queryExaminationPaperList = (obj) => http.post('/examination/queryExaminationPaperList', obj);
|
||||||
|
// 考试列表查询接三方
|
||||||
|
export const queryExaminationList = (obj) => http.post('/examination/queryExaminationList', obj);
|
||||||
|
// 获取考试任务列表的接口-三方
|
||||||
|
export const queryExaminationAloneExtendList = (obj) => http.post('/examination/queryExaminationAloneExtendList', obj);
|
||||||
|
// 对接三方考试任务保存接口-三方
|
||||||
|
export const examinationTaskSave = (obj) => http.post('/examination/examinationTaskSave', obj);
|
||||||
14
src/api/indexStu.js
Normal file
14
src/api/indexStu.js
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
import http from "./config";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1
|
||||||
|
*/
|
||||||
|
//获取受众信息
|
||||||
|
export const getAudienceInfoApi = (obj) =>
|
||||||
|
http.post("/admin/orgStruct/getAudienceInfo", obj);
|
||||||
|
//获取员工信息
|
||||||
|
export const getMemberInfoApi = (obj) =>
|
||||||
|
http.post("/admin/orgStruct/getMemberInfo", obj);
|
||||||
|
//获取所有组织
|
||||||
|
export const getOrgInfoApi = (obj) =>
|
||||||
|
http.post("/admin/orgStruct/getOrgInfo", obj);
|
||||||
@@ -162,11 +162,47 @@ function autoComma(number) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//把token存到cookie
|
||||||
|
//name 字段名 value 字段值 perpetual 有效期
|
||||||
|
const setCookie = (name, value, perpetual) => {
|
||||||
|
console.log('存储token到cookie')
|
||||||
|
let exdate = new Date()
|
||||||
|
exdate.setDate(perpetual * 24 * 60 * 60 * 1000) //exdate.setDate(exdate.getDate() + 365)
|
||||||
|
document.cookie = name + '=' + value + ';expires=' + exdate.toGMTString()
|
||||||
|
//永久有效
|
||||||
|
//document.cookie = name + '=' + value + ';expires=' + 'Fri, 31 Dec 9999 23:59:59 GMT'
|
||||||
|
}
|
||||||
|
//获取cookie数据
|
||||||
|
|
||||||
|
//先写一个方法
|
||||||
|
function getCookie(name) {
|
||||||
|
//1.获取cookie字符串
|
||||||
|
var cookies = document.cookie;
|
||||||
|
//通过;来分割字符串
|
||||||
|
var cookie = cookies.split("; ");
|
||||||
|
// console.log('cookie', cookie)
|
||||||
|
//遍历,使键值对匹配上
|
||||||
|
for (var i = 0; i < cookie.length; i++) {
|
||||||
|
var arr = cookie[i].split("token=");
|
||||||
|
// console.log('arr', arr)
|
||||||
|
console.log('name', name)
|
||||||
|
// if (arr[0] == name) {
|
||||||
|
// console.log('arr[1]', arr[1])
|
||||||
|
// return arr[1];
|
||||||
|
// }
|
||||||
|
// console.log('arr[1]', arr[1])
|
||||||
|
return arr[1]
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
//最后通
|
||||||
|
|
||||||
|
|
||||||
//新建延迟
|
//新建延迟
|
||||||
const commonData = {
|
const commonData = {
|
||||||
timeout: 50
|
timeout: 50,
|
||||||
}
|
}
|
||||||
|
|
||||||
// const organizationalTree = [
|
// const organizationalTree = [
|
||||||
// {
|
// {
|
||||||
// title: "京东方",
|
// title: "京东方",
|
||||||
@@ -376,6 +412,8 @@ export {
|
|||||||
getWeek,
|
getWeek,
|
||||||
autoComma,
|
autoComma,
|
||||||
formatNumber,
|
formatNumber,
|
||||||
|
setCookie,
|
||||||
|
getCookie,
|
||||||
commonData,
|
commonData,
|
||||||
organizationalTree,
|
organizationalTree,
|
||||||
iframeUrl,
|
iframeUrl,
|
||||||
|
|||||||
BIN
src/assets/images/avatar.png
Normal file
BIN
src/assets/images/avatar.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.9 KiB |
@@ -23,15 +23,15 @@
|
|||||||
<div class="user">
|
<div class="user">
|
||||||
<img
|
<img
|
||||||
style="
|
style="
|
||||||
width: 30px;
|
width: 40px;
|
||||||
height: 31px;
|
height: 40px;
|
||||||
margin-left: 8px;
|
margin-left: 8px;
|
||||||
border-radius: 15px;
|
border-radius: 15px;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
"
|
"
|
||||||
src="../assets/images/img.jpg"
|
src="../assets/images/avatar.png"
|
||||||
/>
|
/>
|
||||||
<div>李玉冰</div>
|
<div>{{ username }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="signOutMain"
|
class="signOutMain"
|
||||||
@@ -49,7 +49,7 @@
|
|||||||
style="width: 27px; height: 27px"
|
style="width: 27px; height: 27px"
|
||||||
src="../assets/images/navtop/signout.png"
|
src="../assets/images/navtop/signout.png"
|
||||||
/>
|
/>
|
||||||
<span class="signOut">退出</span>
|
<span class="signOut">登出</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -59,6 +59,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import { reactive, toRefs } from "vue";
|
import { reactive, toRefs } from "vue";
|
||||||
import DownLoad from "../components/drawers/DownLoad";
|
import DownLoad from "../components/drawers/DownLoad";
|
||||||
|
import * as api from "../api/index1";
|
||||||
export default {
|
export default {
|
||||||
name: "NavTop",
|
name: "NavTop",
|
||||||
components: {
|
components: {
|
||||||
@@ -67,14 +68,17 @@ export default {
|
|||||||
setup() {
|
setup() {
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
selectRole: "管理员",
|
selectRole: "管理员",
|
||||||
|
username: "",
|
||||||
roleList: [
|
roleList: [
|
||||||
{
|
{
|
||||||
id: 1,
|
id: 1,
|
||||||
name: "管理员",
|
name: "管理员",
|
||||||
|
go: "/manage/learningpath",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 2,
|
id: 2,
|
||||||
name: "学员",
|
name: "学员",
|
||||||
|
go: "https://u.boe.com/pc/uc/study/courses",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
@@ -84,6 +88,7 @@ export default {
|
|||||||
state.roleList.map((item) => {
|
state.roleList.map((item) => {
|
||||||
if (value.name === item.name) {
|
if (value.name === item.name) {
|
||||||
state.selectRole = item.name;
|
state.selectRole = item.name;
|
||||||
|
window.open(item.go, "_self");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@@ -91,6 +96,21 @@ export default {
|
|||||||
state.visible = true;
|
state.visible = true;
|
||||||
console.log("点击下载", state.visible);
|
console.log("点击下载", state.visible);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const getUser = () => {
|
||||||
|
api
|
||||||
|
.getUser()
|
||||||
|
.then((res) => {
|
||||||
|
console.log("获取登录信息成功", res);
|
||||||
|
if (res.data.code === 200) {
|
||||||
|
state.username = res.data.data.realName;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log("获取登录信息失败", err);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
getUser();
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
changeRole,
|
changeRole,
|
||||||
|
|||||||
@@ -228,6 +228,7 @@ import * as apiTask from "../../api/indexTaskadd";
|
|||||||
import { RouterEditTask } from "@/api/indexTask";
|
import { RouterEditTask } from "@/api/indexTask";
|
||||||
import { message } from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "AddActive",
|
name: "AddActive",
|
||||||
// components: {
|
// components: {
|
||||||
@@ -332,8 +333,7 @@ export default {
|
|||||||
dayjs(res.data.data.activityEndTime, "YYYY-MM-DD"),
|
dayjs(res.data.data.activityEndTime, "YYYY-MM-DD"),
|
||||||
];
|
];
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {});
|
||||||
});
|
|
||||||
};
|
};
|
||||||
const afterVisibleChange = (bool) => {
|
const afterVisibleChange = (bool) => {
|
||||||
if (bool && props.edit) {
|
if (bool && props.edit) {
|
||||||
|
|||||||
@@ -49,7 +49,10 @@
|
|||||||
:row-class-name="
|
:row-class-name="
|
||||||
(_record, index) => (index % 2 === 1 ? 'table-striped' : null)
|
(_record, index) => (index % 2 === 1 ? 'table-striped' : null)
|
||||||
"
|
"
|
||||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
:row-selection="{
|
||||||
|
selectedRowKeys: selectedRowKeys,
|
||||||
|
onChange: onSelectChange,
|
||||||
|
}"
|
||||||
:columns="tableDataFunc()"
|
:columns="tableDataFunc()"
|
||||||
:data-source="tableData"
|
:data-source="tableData"
|
||||||
:loading="tableDataTotal === -1 ? true : false"
|
:loading="tableDataTotal === -1 ? true : false"
|
||||||
@@ -83,6 +86,7 @@ import * as api from "../../api/indexCase.js";
|
|||||||
import * as apiTask from "../../api/indexTaskadd";
|
import * as apiTask 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 { addTempTask } from "../../api/indexTaskadd";
|
||||||
// import dayjs from "dayjs";
|
// import dayjs from "dayjs";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@@ -138,8 +142,8 @@ export default {
|
|||||||
currentPage: 1,
|
currentPage: 1,
|
||||||
tableDataTotal: 0,
|
tableDataTotal: 0,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
selectedRowKeys:[],
|
selectedRowKeys: [],
|
||||||
apiTaskList:[],
|
apiTaskList: [],
|
||||||
inputV1: "",
|
inputV1: "",
|
||||||
time: undefined,
|
time: undefined,
|
||||||
caseId: null,
|
caseId: null,
|
||||||
@@ -150,12 +154,12 @@ export default {
|
|||||||
ctx.emit("update:edit", false);
|
ctx.emit("update:edit", false);
|
||||||
localStorage.setItem("stageId", props.chooseStageId);
|
localStorage.setItem("stageId", props.chooseStageId);
|
||||||
localStorage.setItem("chapterId", props.isactive);
|
localStorage.setItem("chapterId", props.isactive);
|
||||||
state.inputV1=""
|
state.inputV1 = "";
|
||||||
state.selectedRowKeys=[]
|
state.selectedRowKeys = [];
|
||||||
};
|
};
|
||||||
const afterVisibleChange = (bol) => {
|
const afterVisibleChange = (bol) => {
|
||||||
if ( bol == true ) {
|
if (bol == true) {
|
||||||
getAllCaseText()
|
getAllCaseText();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
const tableDataFunc = () => {
|
const tableDataFunc = () => {
|
||||||
@@ -186,9 +190,9 @@ export default {
|
|||||||
];
|
];
|
||||||
return columns;
|
return columns;
|
||||||
};
|
};
|
||||||
const onSelectChange = (selectedRowKeys,selectedRows)=> {
|
const onSelectChange = (selectedRowKeys, selectedRows) => {
|
||||||
if(selectedRowKeys.length>2){
|
if (selectedRowKeys.length > 2) {
|
||||||
return
|
return;
|
||||||
}
|
}
|
||||||
state.selectedRowKeys = selectedRowKeys;
|
state.selectedRowKeys = selectedRowKeys;
|
||||||
state.apiTaskList = selectedRows;
|
state.apiTaskList = selectedRows;
|
||||||
@@ -204,13 +208,13 @@ export default {
|
|||||||
data.map((value, index) => {
|
data.map((value, index) => {
|
||||||
let obj = {
|
let obj = {
|
||||||
key: index,
|
key: index,
|
||||||
authorId:value.authorId,
|
authorId: value.authorId,
|
||||||
authorName:value.authorName,
|
authorName: value.authorName,
|
||||||
companyId:value.companyId,
|
companyId: value.companyId,
|
||||||
coverUrl:value.coverUrl,
|
coverUrl: value.coverUrl,
|
||||||
id:value.id,
|
id: value.id,
|
||||||
casesId:value.casesId,
|
casesId: value.casesId,
|
||||||
title:value.title,
|
title: value.title,
|
||||||
};
|
};
|
||||||
array.push(obj);
|
array.push(obj);
|
||||||
});
|
});
|
||||||
@@ -220,24 +224,23 @@ export default {
|
|||||||
const getAllCaseText = () => {
|
const getAllCaseText = () => {
|
||||||
api
|
api
|
||||||
.queryCasesDetailList({
|
.queryCasesDetailList({
|
||||||
"keyWord": state.inputV1,
|
keyWord: state.inputV1,
|
||||||
"orderAsc": true,
|
orderAsc: true,
|
||||||
"orderField": "",
|
orderField: "",
|
||||||
"pageIndex": 0,
|
pageIndex: 0,
|
||||||
"pageSize": 0,
|
pageSize: 0,
|
||||||
"top": true
|
top: true,
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
if (res.status === 200) {
|
if (res.status === 200) {
|
||||||
getTableDate(res.data.data);
|
getTableDate(res.data.data);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {});
|
||||||
});
|
|
||||||
};
|
};
|
||||||
const updateTask = () => {
|
const updateTask = () => {
|
||||||
if (props.isLevel == 1) {
|
if (props.isLevel == 1) {
|
||||||
for(let i = 0;i < state.apiTaskList.length;i++){
|
for (let i = 0; i < state.apiTaskList.length; i++) {
|
||||||
RouterEditTask({
|
RouterEditTask({
|
||||||
chapterId: props.isactive,
|
chapterId: props.isactive,
|
||||||
courseId: state.apiTaskList[i].casesId,
|
courseId: state.apiTaskList[i].casesId,
|
||||||
@@ -257,51 +260,54 @@ export default {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
} else if (props.isLevel == 2) {
|
} else if (props.isLevel == 2) {
|
||||||
for(let i = 0;i < state.apiTaskList.length;i++){
|
for (let i = 0; i < state.apiTaskList.length; i++) {
|
||||||
apiTask
|
apiTask
|
||||||
.addTask({
|
.addTask({
|
||||||
"courseId": state.apiTaskList[i].casesId,
|
courseId: state.apiTaskList[i].casesId,
|
||||||
"duration": 0,
|
duration: 0,
|
||||||
"flag": true,
|
flag: true,
|
||||||
"name": state.apiTaskList[i].title,
|
name: state.apiTaskList[i].title,
|
||||||
"projectId": props.projectId,
|
projectId: props.projectId,
|
||||||
"projectTaskId": props.projectTaskId,
|
projectTaskId: props.projectTaskId,
|
||||||
"stageId": Number(props.chooseStageId),
|
stageId: Number(props.chooseStageId),
|
||||||
"type": 3,
|
type: 3,
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
message.destroy()
|
message.destroy();
|
||||||
message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
|
message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
|
||||||
ctx.emit("changeData", false);
|
ctx.emit("changeData", false);
|
||||||
closeDrawer();
|
closeDrawer();
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
message.destroy()
|
message.destroy();
|
||||||
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
|
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
} else if (props.isLevel == 3) {
|
} else if (props.isLevel == 3) {
|
||||||
for(let i = 0;i < state.apiTaskList.length;i++){
|
for (let i = 0; i < state.apiTaskList.length; i++) {
|
||||||
console.log(state.apiTaskList[i],'state.apiTaskList[i].caseIdstate.apiTaskList[i].caseId');
|
console.log(
|
||||||
|
state.apiTaskList[i],
|
||||||
|
"state.apiTaskList[i].caseIdstate.apiTaskList[i].caseId"
|
||||||
|
);
|
||||||
apiTask
|
apiTask
|
||||||
.addTask({
|
.addTask({
|
||||||
"courseId": state.apiTaskList[i].caseid,
|
courseId: state.apiTaskList[i].caseid,
|
||||||
"duration": 0,
|
duration: 0,
|
||||||
"flag": true,
|
flag: true,
|
||||||
"name": state.apiTaskList[i].caseName,
|
name: state.apiTaskList[i].caseName,
|
||||||
"projectId": props.projectId,
|
projectId: props.projectId,
|
||||||
"projectTemplateId": props.projectTemplateId,
|
projectTemplateId: props.projectTemplateId,
|
||||||
"stageId": props.chooseStageId,
|
stageId: props.chooseStageId,
|
||||||
"type": 3,
|
type: 3,
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
message.destroy()
|
message.destroy();
|
||||||
message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
|
message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
|
||||||
ctx.emit("changeData", false);
|
ctx.emit("changeData", false);
|
||||||
closeDrawer();
|
closeDrawer();
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
message.destroy()
|
message.destroy();
|
||||||
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
|
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -452,7 +458,7 @@ export default {
|
|||||||
.ant-table-selection-column {
|
.ant-table-selection-column {
|
||||||
padding: 0px !important;
|
padding: 0px !important;
|
||||||
padding-left: 15px !important;
|
padding-left: 15px !important;
|
||||||
.ant-table-selection{
|
.ant-table-selection {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -76,6 +76,7 @@ import * as api from "../../api/indexDiscuss";
|
|||||||
import * as apiTask from "../../api/indexTaskadd";
|
import * as apiTask from "../../api/indexTaskadd";
|
||||||
import { RouterEditTask } from "@/api/indexTask";
|
import { RouterEditTask } from "@/api/indexTask";
|
||||||
import { message } from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
|
import { addTempTask } from "../../api/indexTaskadd";
|
||||||
export default {
|
export default {
|
||||||
name: "AddDiscuss",
|
name: "AddDiscuss",
|
||||||
props: {
|
props: {
|
||||||
@@ -165,8 +166,7 @@ export default {
|
|||||||
state.checkedC1 =
|
state.checkedC1 =
|
||||||
res.data.data.discussSettings == "true" ? true : false;
|
res.data.data.discussSettings == "true" ? true : false;
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {});
|
||||||
});
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
const afterVisibleChange = (bool) => {
|
const afterVisibleChange = (bool) => {
|
||||||
@@ -191,7 +191,8 @@ export default {
|
|||||||
message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`);
|
message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`);
|
||||||
});
|
});
|
||||||
} else if (props.isLevel == 2) {
|
} else if (props.isLevel == 2) {
|
||||||
apiTask.addTask({
|
apiTask
|
||||||
|
.addTask({
|
||||||
courseId: res.data.data.discussId,
|
courseId: res.data.data.discussId,
|
||||||
duration: res.data.data.discussExplain,
|
duration: res.data.data.discussExplain,
|
||||||
name: res.data.data.discussName,
|
name: res.data.data.discussName,
|
||||||
@@ -199,16 +200,29 @@ export default {
|
|||||||
projectTaskId: props.projectTaskId || 0,
|
projectTaskId: props.projectTaskId || 0,
|
||||||
stageId: props.chooseStageId,
|
stageId: props.chooseStageId,
|
||||||
type: 8,
|
type: 8,
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`);
|
||||||
});
|
});
|
||||||
} else if (props.isLevel == 3) {
|
} else if (props.isLevel == 3) {
|
||||||
apiTask.addTask({
|
console.log("");
|
||||||
|
addTempTask({
|
||||||
courseId: res.data.data.discussId,
|
courseId: res.data.data.discussId,
|
||||||
duration: res.data.data.discussExplain,
|
duration: res.data.data.discussExplain,
|
||||||
name: res.data.data.discussName,
|
name: res.data.data.discussName,
|
||||||
projectId: props.projectId,
|
projectId: props.projectId,
|
||||||
projectTaskTemplateId: props.projectTaskTemplateId || 0,
|
projectTaskId: props.projectTaskId || 0,
|
||||||
stageId: props.chooseStageId,
|
stageId: props.chooseStageId,
|
||||||
type: 8,
|
type: 8,
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -232,8 +246,7 @@ export default {
|
|||||||
closeDrawer();
|
closeDrawer();
|
||||||
ctx.emit("changeData", false);
|
ctx.emit("changeData", false);
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {});
|
||||||
});
|
|
||||||
} else {
|
} else {
|
||||||
api
|
api
|
||||||
.createDiscuss(obj)
|
.createDiscuss(obj)
|
||||||
@@ -242,8 +255,7 @@ export default {
|
|||||||
closeDrawer();
|
closeDrawer();
|
||||||
ctx.emit("changeData", false);
|
ctx.emit("changeData", false);
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {});
|
||||||
});
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -114,6 +114,7 @@ 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";
|
||||||
export default {
|
export default {
|
||||||
name: "AddEval",
|
name: "AddEval",
|
||||||
components: {
|
components: {
|
||||||
@@ -174,32 +175,31 @@ export default {
|
|||||||
const checkFinish = (value)=> {
|
const checkFinish = (value)=> {
|
||||||
state.evaluationTypeId = value.quiz_kid ? value.quiz_kid : null
|
state.evaluationTypeId = value.quiz_kid ? value.quiz_kid : null
|
||||||
state.evaluationTypeName = value.title ? value.title : ""
|
state.evaluationTypeName = value.title ? value.title : ""
|
||||||
console.log(state.evaluationTypeId,'state.evaluationTypeId',state.evaluationTypeName,'state.evaluationTypeName');
|
|
||||||
}
|
}
|
||||||
const closeDrawer = () => {
|
const closeDrawer = () => {
|
||||||
ctx.emit("update:addevalVisible", false);
|
ctx.emit("update:addevalVisible", false);
|
||||||
ctx.emit("update:edit", false);
|
ctx.emit("update:edit", false);
|
||||||
state.inputV1 = "";
|
state.inputV1 = "";
|
||||||
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) => {
|
||||||
if (props.edit && bool) {
|
if (props.edit && bool) {
|
||||||
queryInvistById()
|
queryInvistById();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
const showEvalDrawer = () => {
|
const showEvalDrawer = () => {
|
||||||
state.EvalListVisible = true;
|
state.EvalListVisible = true;
|
||||||
};
|
};
|
||||||
//删除标签要清除子组件传过来的参数
|
//删除标签要清除子组件传过来的参数
|
||||||
const delTag = ()=> {
|
const delTag = () => {
|
||||||
state.evaluationTypeId= 0
|
state.evaluationTypeId = 0;
|
||||||
state.evaluationTypeName= ""
|
state.evaluationTypeName = "";
|
||||||
}
|
};
|
||||||
//向关卡或阶段渲染
|
//向关卡或阶段渲染
|
||||||
const updateTask = (value) => {
|
const updateTask = (value) => {
|
||||||
if (props.isLevel == 1) {
|
if (props.isLevel == 1) {
|
||||||
@@ -211,10 +211,12 @@ 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) {
|
||||||
@@ -229,43 +231,40 @@ export default {
|
|||||||
stageId: props.chooseStageId,
|
stageId: props.chooseStageId,
|
||||||
type: 10,
|
type: 10,
|
||||||
})
|
})
|
||||||
.then(( ) => {
|
.then(() => {
|
||||||
message.destroy()
|
|
||||||
message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
|
message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
|
||||||
})
|
})
|
||||||
.catch(( ) => {
|
.catch(() => {
|
||||||
message.destroy()
|
|
||||||
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
|
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
|
||||||
});
|
});
|
||||||
} else if (props.isLevel == 3) {
|
} else if (props.isLevel == 3) {
|
||||||
apitaskadd
|
console.log("");
|
||||||
.addTask({
|
addTempTask({
|
||||||
duration:0,
|
duration: 0,
|
||||||
flag:true,
|
flag: true,
|
||||||
courseId: Number(value.evaluationId),
|
courseId: Number(value.evaluationId),
|
||||||
name: value.evaluationName,
|
name: value.evaluationName,
|
||||||
projectTemplateId: props.projectTemplateId,
|
projectId: props.projectId,
|
||||||
projectTaskId: props.projectTaskId || 0,
|
projectTaskId: props.projectTaskId || 0,
|
||||||
stageId: props.chooseStageId,
|
stageId: props.chooseStageId,
|
||||||
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获取测评信息
|
||||||
const queryInvistById = ()=> {
|
const queryInvistById = () => {
|
||||||
let objqi = {
|
let objqi = {
|
||||||
evaluationId : props.EditEvalId
|
evaluationId: props.EditEvalId,
|
||||||
}
|
};
|
||||||
api
|
api
|
||||||
.queryEvaluationDetailById(objqi)
|
.queryEvaluationDetailById(objqi)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log(res,'获取到的信息');
|
|
||||||
message.destroy()
|
message.destroy()
|
||||||
message.success("获取测评信息成功");
|
message.success("获取测评信息成功");
|
||||||
state.inputV1 = res.data.data.evaluationName
|
state.inputV1 = res.data.data.evaluationName
|
||||||
@@ -310,7 +309,7 @@ export default {
|
|||||||
evaluationPictureAddress: "",
|
evaluationPictureAddress: "",
|
||||||
evaluationTag: "",
|
evaluationTag: "",
|
||||||
updateTime: "",
|
updateTime: "",
|
||||||
}
|
};
|
||||||
api
|
api
|
||||||
.updateEvaluation(objei)
|
.updateEvaluation(objei)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
@@ -348,10 +347,12 @@ export default {
|
|||||||
.createEvaluation(obj)
|
.createEvaluation(obj)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
updateTask(res.data.data);
|
updateTask(res.data.data);
|
||||||
|
message.success("创建成功");
|
||||||
closeDrawer();
|
closeDrawer();
|
||||||
ctx.emit("changeData", false);
|
ctx.emit("changeData", false);
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
|
message.error("创建失败");
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -100,11 +100,19 @@
|
|||||||
<span style="margin-right: 3px">授课教师:</span>
|
<span style="margin-right: 3px">授课教师:</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<a-input
|
<a-auto-complete
|
||||||
v-model:value="inputV2"
|
v-model:value="memberValue"
|
||||||
style="width: 384px; height: 32px"
|
show-search
|
||||||
placeholder="请输入授课教师"
|
:not-found-content="fetching ? undefined : null"
|
||||||
/>
|
placeholder="Select a teacher"
|
||||||
|
style="width: 364px"
|
||||||
|
:options="options"
|
||||||
|
@focus="handleFocus"
|
||||||
|
@blur="handleBlur"
|
||||||
|
@change="handleChange2"
|
||||||
|
@popupScroll="templateScroll"
|
||||||
|
@search="handleSearch"
|
||||||
|
></a-auto-complete>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="main_item">
|
<div class="main_item">
|
||||||
@@ -374,18 +382,21 @@
|
|||||||
</a-drawer>
|
</a-drawer>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { reactive, toRefs } from "vue";
|
import { reactive, toRefs, ref } from "vue";
|
||||||
import SelFacet from "../../components/drawers/SelFacet.vue";
|
import SelFacet from "../../components/drawers/SelFacet.vue";
|
||||||
import AddHomework from "../../components/drawers/AddHomework.vue";
|
import AddHomework from "../../components/drawers/AddHomework.vue";
|
||||||
import AddTest from "../../components/drawers/AddTest.vue";
|
import AddTest from "../../components/drawers/AddTest.vue";
|
||||||
import { ProjectEditTask, RouterEditTask } from "@/api/indexTask";
|
import { ProjectEditTask, RouterEditTask } from "@/api/indexTask";
|
||||||
// import * as method from "../../api/method"
|
// import * as method from "../../api/method"
|
||||||
import { message } from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
|
import { getMemberInfo } from "@/api/index1";
|
||||||
|
import { debounce } from "lodash-es";
|
||||||
import { queryFaceDetailById, editPlan } from "../../api/indexFace";
|
import { queryFaceDetailById, editPlan } from "../../api/indexFace";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
import AssessmentList from "../drawers/ AssessmentList.vue";
|
import AssessmentList from "../drawers/ AssessmentList.vue";
|
||||||
// import { toDate } from "../../api/method";
|
// import { toDate } from "../../api/method";
|
||||||
import { queryWorkDetailById } from "../../api/indexWork";
|
import { queryWorkDetailById } from "../../api/indexWork";
|
||||||
|
import { addTempTask } from "../../api/indexTaskadd";
|
||||||
export default {
|
export default {
|
||||||
name: "AddFaceteach",
|
name: "AddFaceteach",
|
||||||
components: {
|
components: {
|
||||||
@@ -442,17 +453,25 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
setup(props, ctx) {
|
setup(props, ctx) {
|
||||||
|
const options = ref([]);
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
selfacetvisible: false,
|
selfacetvisible: false,
|
||||||
addhomeworkvisible: false,
|
addhomeworkvisible: false,
|
||||||
addtestvisible: false,
|
addtestvisible: false,
|
||||||
|
memberValue: null,
|
||||||
|
fetching: false,
|
||||||
|
totalPages: 0,
|
||||||
|
currentPage: 1,
|
||||||
|
tableDataTotal: 100,
|
||||||
|
memberId: 0,
|
||||||
|
pageSize: 10,
|
||||||
inputV1: "",
|
inputV1: "",
|
||||||
inputV2: "",
|
inputV2: "",
|
||||||
inputV3: "",
|
inputV3: "",
|
||||||
inputV4: "",
|
inputV4: null,
|
||||||
inputV5: "",
|
inputV5: null,
|
||||||
inputV6: "",
|
inputV6: null,
|
||||||
inputV7: "",
|
inputV7: null,
|
||||||
testV1: "",
|
testV1: "",
|
||||||
radioV1: "",
|
radioV1: "",
|
||||||
radioV2: "",
|
radioV2: "",
|
||||||
@@ -598,19 +617,21 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
let obj = {
|
let obj = {
|
||||||
address: state.inputV4,
|
address: state.inputV4,
|
||||||
afterStart: state.inputV6,
|
|
||||||
applyFlag: 1,
|
applyFlag: 1,
|
||||||
attach: JSON.stringify(state.fileList),
|
attach: JSON.stringify(state.fileList),
|
||||||
beforeEnd: state.inputV7,
|
afterStart: state.inputV6 || 0,
|
||||||
beforeStart: state.inputV5,
|
beforeEnd: state.inputV7 || 0,
|
||||||
// beginTime: dayjs(state.chooseTime[0]).format("YYYY-MM-DD"),
|
beforeStart: state.inputV5 || 0,
|
||||||
|
// beginTime: dayjs(state.chooseTime[0]).format("YYYY-MM-DD hh-mm-ss"),
|
||||||
beginTime: parseInt(
|
beginTime: parseInt(
|
||||||
new Date(state.chooseTime[0].$d).getTime() / 1000
|
new Date(state.chooseTime[0].$d).getTime() / 1000
|
||||||
),
|
),
|
||||||
|
// beginTime: "",
|
||||||
completeType: state.radioV1 == "1" ? 2 : 1,
|
completeType: state.radioV1 == "1" ? 2 : 1,
|
||||||
description: state.textV1,
|
description: state.textV1,
|
||||||
// endTime: dayjs(state.chooseTime[1]).format("YYYY-MM-DD"),
|
// endTime: dayjs(state.chooseTime[1]).format("YYYY-MM-DD hh-mm-ss"),
|
||||||
endTime: parseInt(new Date(state.chooseTime[0].$d).getTime() / 1000),
|
endTime: parseInt(new Date(state.chooseTime[1].$d).getTime() / 1000),
|
||||||
|
// endTime: "",
|
||||||
evalFlag: state.checkedAssessment == true ? 1 : 0,
|
evalFlag: state.checkedAssessment == true ? 1 : 0,
|
||||||
evaluateId:
|
evaluateId:
|
||||||
state.chooseMent == null ? 0 : state.chooseMent.assessmentId,
|
state.chooseMent == null ? 0 : state.chooseMent.assessmentId,
|
||||||
@@ -622,9 +643,9 @@ export default {
|
|||||||
projectMember: state.radioV2 == "1" ? 1 : 0,
|
projectMember: state.radioV2 == "1" ? 1 : 0,
|
||||||
signFlag: 0,
|
signFlag: 0,
|
||||||
signWordFlag: 0,
|
signWordFlag: 0,
|
||||||
teacherId: 0,
|
teacherId: state.memberId,
|
||||||
testId: 0,
|
testId: 0,
|
||||||
teacher: state.inputV2,
|
// teacher: state.inputV2,
|
||||||
};
|
};
|
||||||
|
|
||||||
if (props.edit) {
|
if (props.edit) {
|
||||||
@@ -699,17 +720,15 @@ export default {
|
|||||||
message.error(`${props.EditFaceId ? "编辑" : "新增"}阶段任务失败`);
|
message.error(`${props.EditFaceId ? "编辑" : "新增"}阶段任务失败`);
|
||||||
});
|
});
|
||||||
} else if (props.isLevel == 3) {
|
} else if (props.isLevel == 3) {
|
||||||
let editObj = {
|
addTempTask({
|
||||||
courseId: res.data.data.offcoursePlanId,
|
courseId: res.data.data.offcoursePlanId,
|
||||||
duration: 0,
|
duration: 0,
|
||||||
name: res.data.data.name,
|
name: res.data.data.name,
|
||||||
projectTemplateId: props.projecTempaltetId,
|
projectId: props.projectId,
|
||||||
projectTaskId: props.projectTaskId || 0,
|
projectTaskId: props.projectTaskId || 0,
|
||||||
stageId: props.chooseStageId,
|
stageId: props.chooseStageId,
|
||||||
type: 2,
|
type: 2,
|
||||||
};
|
})
|
||||||
// 新增编辑或新增项目
|
|
||||||
ProjectEditTask(editObj)
|
|
||||||
.then(() => {
|
.then(() => {
|
||||||
message.success(
|
message.success(
|
||||||
`${props.EditFaceId ? "编辑" : "新增"}阶段任务成功`
|
`${props.EditFaceId ? "编辑" : "新增"}阶段任务成功`
|
||||||
@@ -751,6 +770,66 @@ export default {
|
|||||||
state.chooseMent = value;
|
state.chooseMent = value;
|
||||||
state.chooseMentName = value.name;
|
state.chooseMentName = value.name;
|
||||||
};
|
};
|
||||||
|
// 员工滚动
|
||||||
|
const templateScroll = (e) => {
|
||||||
|
console.log("滚动", e);
|
||||||
|
const { target } = e;
|
||||||
|
const scrllHeight = target.scrollHeight - target.scrollTop;
|
||||||
|
const clientHeight = target.clientHeight;
|
||||||
|
// console.log("scrllHeight", scrllHeight, clientHeight);
|
||||||
|
if (scrllHeight === 0 && clientHeight === 0) {
|
||||||
|
state.currentPage = 1;
|
||||||
|
} else if (scrllHeight - clientHeight == 0) {
|
||||||
|
// 下拉到底部时
|
||||||
|
if (state.currentPage < state.totalPages) {
|
||||||
|
// 如果滑到底部,则加载下一页
|
||||||
|
state.currentPage++;
|
||||||
|
// queryMember();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
// 获取员工
|
||||||
|
const queryMember = () => {
|
||||||
|
if (!state.memberValue) return;
|
||||||
|
let obj = {
|
||||||
|
keyWord: state.memberValue,
|
||||||
|
id: 0,
|
||||||
|
org: 0,
|
||||||
|
pageNo: state.currentPage,
|
||||||
|
pageSize: state.pageSize,
|
||||||
|
};
|
||||||
|
getMemberInfo(obj)
|
||||||
|
.then((res) => {
|
||||||
|
let data = res.data.data.rows;
|
||||||
|
state.totalPages = res.data.data.total;
|
||||||
|
for (let i in data) {
|
||||||
|
options.value.push({
|
||||||
|
value: data[i].id,
|
||||||
|
label: data[i].realName,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
message.error("获取员工失败" + err);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
const handleSearch = debounce((memberValue) => {
|
||||||
|
console.log("fetching user", memberValue);
|
||||||
|
options.value = [];
|
||||||
|
state.fetching = true;
|
||||||
|
state.currentPage = 1;
|
||||||
|
state.memberValue = memberValue;
|
||||||
|
queryMember();
|
||||||
|
state.fetching = false;
|
||||||
|
}, 300);
|
||||||
|
const handleChange2 = (value, label) => {
|
||||||
|
console.log(`selected ${value}`);
|
||||||
|
state.memberId = value;
|
||||||
|
state.inputV2 = label;
|
||||||
|
};
|
||||||
|
const handleFocus = () => {
|
||||||
|
queryMember();
|
||||||
|
};
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
showDrawerSelFacet,
|
showDrawerSelFacet,
|
||||||
@@ -771,6 +850,11 @@ export default {
|
|||||||
showAssessment,
|
showAssessment,
|
||||||
faceAssess,
|
faceAssess,
|
||||||
// change,
|
// change,
|
||||||
|
options,
|
||||||
|
handleFocus,
|
||||||
|
handleSearch,
|
||||||
|
handleChange2,
|
||||||
|
templateScroll,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -116,6 +116,7 @@ import {
|
|||||||
} from "@/api/indexWork";
|
} from "@/api/indexWork";
|
||||||
import { ProjectEditTask, RouterEditTask } from "@/api/indexTask";
|
import { ProjectEditTask, RouterEditTask } from "@/api/indexTask";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
|
import { addTempTask } from "../../api/indexTaskadd";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "AddHomework",
|
name: "AddHomework",
|
||||||
@@ -362,15 +363,15 @@ export default {
|
|||||||
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
|
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
|
||||||
});
|
});
|
||||||
} else if (props.isLevel == 3) {
|
} else if (props.isLevel == 3) {
|
||||||
let editObj = {
|
console.log("");
|
||||||
|
addTempTask({
|
||||||
courseId: res.data.data.workId,
|
courseId: res.data.data.workId,
|
||||||
name: res.data.data.workName,
|
name: res.data.data.workName,
|
||||||
projectId: props.edit ? props.projectId : 0,
|
projectId: props.edit ? props.projectId : 0,
|
||||||
projectTaskId: props.projectTaskId || 0,
|
projectTaskId: props.projectTaskId || 0,
|
||||||
stageId: props.chooseStageId,
|
stageId: props.chooseStageId,
|
||||||
type: 4,
|
type: 4,
|
||||||
};
|
})
|
||||||
ProjectEditTask(editObj)
|
|
||||||
.then(() => {
|
.then(() => {
|
||||||
message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
|
message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
|
||||||
ctx.emit("changeData", false);
|
ctx.emit("changeData", false);
|
||||||
|
|||||||
@@ -106,6 +106,7 @@ import { message } from "ant-design-vue";
|
|||||||
import AssessmentList from "./ AssessmentList.vue";
|
import AssessmentList from "./ AssessmentList.vue";
|
||||||
import { RouterEditTask } from "@/api/indexTask";
|
import { RouterEditTask } from "@/api/indexTask";
|
||||||
import * as api from "../../api/indexInvist";
|
import * as api from "../../api/indexInvist";
|
||||||
|
import { addTempTask } from "../../api/indexTaskadd";
|
||||||
export default {
|
export default {
|
||||||
name: "AddInvist",
|
name: "AddInvist",
|
||||||
components: {
|
components: {
|
||||||
@@ -247,8 +248,8 @@ export default {
|
|||||||
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
|
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
|
||||||
});
|
});
|
||||||
} else if (props.isLevel == 3) {
|
} else if (props.isLevel == 3) {
|
||||||
apiTask
|
console.log("");
|
||||||
.addTask({
|
addTempTask({
|
||||||
courseId: state.assessment.assessmentId,
|
courseId: state.assessment.assessmentId,
|
||||||
name: state.assessment.name,
|
name: state.assessment.name,
|
||||||
projectId: props.projectId,
|
projectId: props.projectId,
|
||||||
|
|||||||
@@ -107,31 +107,35 @@
|
|||||||
<span style="margin-right: 3px">授课老师:</span>
|
<span style="margin-right: 3px">授课老师:</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<a-select
|
<a-auto-complete
|
||||||
v-model:value="value"
|
v-model:value="memberValue"
|
||||||
show-search
|
show-search
|
||||||
|
:not-found-content="fetching ? undefined : null"
|
||||||
placeholder="Select a teacher"
|
placeholder="Select a teacher"
|
||||||
style="width: 364px"
|
style="width: 364px"
|
||||||
:options="options"
|
:options="options"
|
||||||
:filter-option="filterOption"
|
|
||||||
@focus="handleFocus"
|
@focus="handleFocus"
|
||||||
@blur="handleBlur"
|
|
||||||
@change="handleChange2"
|
@change="handleChange2"
|
||||||
></a-select>
|
@popupScroll="templateScroll"
|
||||||
|
@search="handleSearch"
|
||||||
|
></a-auto-complete>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="main_item2">
|
<div class="main_item2">
|
||||||
<div class="signbox">
|
<div class="signbox">
|
||||||
<span style="margin-right: 3px">直播封面:</span>
|
<span style="margin-right: 3px">直播封面:</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="textarea" style="overflow: hidden">
|
<div
|
||||||
|
class="textarea"
|
||||||
|
style="overflow: hidden; width: 102px; height: 102px"
|
||||||
|
>
|
||||||
<a-upload
|
<a-upload
|
||||||
v-model:file-list="fileList"
|
v-model:file-list="fileList"
|
||||||
name="avatar"
|
name="avatar"
|
||||||
list-type="picture-card"
|
list-type="picture-card"
|
||||||
class="avatar-uploader"
|
class="avatar-uploader"
|
||||||
:show-upload-list="false"
|
:show-upload-list="false"
|
||||||
action="/api/file/upload"
|
action="/manageApi/file/upload"
|
||||||
:before-upload="beforeUpload"
|
:before-upload="beforeUpload"
|
||||||
@change="handleChange"
|
@change="handleChange"
|
||||||
>
|
>
|
||||||
@@ -320,7 +324,10 @@ import * as api from "../../api/indexLiveBroadcast";
|
|||||||
import * as apiTask from "../../api/indexTaskadd";
|
import * as apiTask from "../../api/indexTaskadd";
|
||||||
import { toDate } from "@/api/method";
|
import { toDate } from "@/api/method";
|
||||||
import { RouterEditTask } from "@/api/indexTask";
|
import { RouterEditTask } from "@/api/indexTask";
|
||||||
|
import { addTempTask } from "../../api/indexTaskadd";
|
||||||
|
import { getMemberInfo } from "@/api/index1";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
|
import { debounce } from "lodash-es";
|
||||||
// import { useRouter } from "vue-router";
|
// import { useRouter } from "vue-router";
|
||||||
function getBase64(img, callback) {
|
function getBase64(img, callback) {
|
||||||
const reader = new FileReader();
|
const reader = new FileReader();
|
||||||
@@ -328,7 +335,6 @@ function getBase64(img, callback) {
|
|||||||
reader.readAsDataURL(img);
|
reader.readAsDataURL(img);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "AddLive",
|
name: "AddLive",
|
||||||
props: {
|
props: {
|
||||||
@@ -379,10 +385,14 @@ export default {
|
|||||||
},
|
},
|
||||||
setup(props, ctx) {
|
setup(props, ctx) {
|
||||||
// const router = useRouter();
|
// const router = useRouter();
|
||||||
|
const options = ref([]);
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
currentPage: 1,
|
currentPage: 1,
|
||||||
tableDataTotal: 100,
|
tableDataTotal: 100,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
|
fetching: false,
|
||||||
|
totalPages: 0,
|
||||||
|
memberValue: null, // 授课老师关键词
|
||||||
inputV1: "", //*直播名称
|
inputV1: "", //*直播名称
|
||||||
time: "", //*直播时间
|
time: "", //*直播时间
|
||||||
inputV2: "", //*直播时长
|
inputV2: "", //*直播时长
|
||||||
@@ -471,6 +481,7 @@ export default {
|
|||||||
state.radioV1 = res.data.data.standardSettings;
|
state.radioV1 = res.data.data.standardSettings;
|
||||||
//state.= res.data.data
|
//state.= res.data.data
|
||||||
state.assessmentId = res.data.data.assessmentId;
|
state.assessmentId = res.data.data.assessmentId;
|
||||||
|
state.imageUrl = res.data.data.liveCover;
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
message.error(`查询失败`);
|
message.error(`查询失败`);
|
||||||
@@ -486,6 +497,7 @@ export default {
|
|||||||
const handleChange = (info) => {
|
const handleChange = (info) => {
|
||||||
if (info.file.status === "uploading") {
|
if (info.file.status === "uploading") {
|
||||||
state.loading = true;
|
state.loading = true;
|
||||||
|
console.log("info", info);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -494,6 +506,7 @@ export default {
|
|||||||
getBase64(info.file.originFileObj, (base64Url) => {
|
getBase64(info.file.originFileObj, (base64Url) => {
|
||||||
state.imageUrl = base64Url;
|
state.imageUrl = base64Url;
|
||||||
state.loading = false;
|
state.loading = false;
|
||||||
|
console.log("imgURL", state.imageUrl);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -557,12 +570,12 @@ export default {
|
|||||||
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
|
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
|
||||||
});
|
});
|
||||||
} else if (props.isLevel == 3) {
|
} else if (props.isLevel == 3) {
|
||||||
apiTask
|
console.log("");
|
||||||
.addTask({
|
addTempTask({
|
||||||
courseId: res.data.data.liveId,
|
courseId: res.data.data.liveId,
|
||||||
duration: res.data.data.duration,
|
duration: res.data.data.duration,
|
||||||
name: res.data.data.liveName,
|
name: res.data.data.liveName,
|
||||||
projectTemplateId: props.projectTemplateId,
|
projectId: props.projectId,
|
||||||
projectTaskId: props.projectTaskId || 0,
|
projectTaskId: props.projectTaskId || 0,
|
||||||
stageId: props.chooseStageId,
|
stageId: props.chooseStageId,
|
||||||
type: 6,
|
type: 6,
|
||||||
@@ -609,7 +622,7 @@ export default {
|
|||||||
afterSignIn: state.inputV6,
|
afterSignIn: state.inputV6,
|
||||||
beforeSignIn: state.inputV7,
|
beforeSignIn: state.inputV7,
|
||||||
assessmentId: state.assessmentId == null ? 0 : state.assessmentId,
|
assessmentId: state.assessmentId == null ? 0 : state.assessmentId,
|
||||||
// liveCover: state.fileList,//直播封面
|
liveCover: state.imageUrl, //直播封面
|
||||||
liveDuration: state.inputV2,
|
liveDuration: state.inputV2,
|
||||||
liveEndTime: endTime,
|
liveEndTime: endTime,
|
||||||
liveStartTime: startTime,
|
liveStartTime: startTime,
|
||||||
@@ -633,8 +646,7 @@ export default {
|
|||||||
updateTask(res);
|
updateTask(res);
|
||||||
closeDrawer();
|
closeDrawer();
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {});
|
||||||
});
|
|
||||||
} else {
|
} else {
|
||||||
api
|
api
|
||||||
.createLiveBroadcast(state.obj)
|
.createLiveBroadcast(state.obj)
|
||||||
@@ -643,20 +655,67 @@ export default {
|
|||||||
updateTask(res);
|
updateTask(res);
|
||||||
closeDrawer();
|
closeDrawer();
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {});
|
||||||
});
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
const templateScroll = (e) => {
|
||||||
|
console.log("滚动", e);
|
||||||
|
const { target } = e;
|
||||||
|
const scrllHeight = target.scrollHeight - target.scrollTop;
|
||||||
|
const clientHeight = target.clientHeight;
|
||||||
|
// console.log("scrllHeight", scrllHeight, clientHeight);
|
||||||
|
if (scrllHeight === 0 && clientHeight === 0) {
|
||||||
|
state.currentPage = 1;
|
||||||
|
} else if (scrllHeight - clientHeight == 0) {
|
||||||
|
// 下拉到底部时
|
||||||
|
if (state.currentPage < state.totalPages) {
|
||||||
|
// 如果滑到底部,则加载下一页
|
||||||
|
state.currentPage++;
|
||||||
|
// queryMember();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
// 获取员工
|
||||||
|
const queryMember = () => {
|
||||||
|
if (!state.memberValue) return;
|
||||||
|
let obj = {
|
||||||
|
keyWord: state.memberValue,
|
||||||
|
id: 0,
|
||||||
|
org: 0,
|
||||||
|
pageNo: state.currentPage,
|
||||||
|
pageSize: state.pageSize,
|
||||||
|
};
|
||||||
|
getMemberInfo(obj)
|
||||||
|
.then((res) => {
|
||||||
|
let data = res.data.data.rows;
|
||||||
|
state.totalPages = res.data.data.total;
|
||||||
|
for (let i in data) {
|
||||||
|
options.value.push({
|
||||||
|
value: data[i].id,
|
||||||
|
label: data[i].realName,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
message.error("获取员工失败" + err);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
const handleSearch = debounce((memberValue) => {
|
||||||
|
console.log("fetching user", memberValue);
|
||||||
|
options.value = [];
|
||||||
|
state.fetching = true;
|
||||||
|
state.currentPage = 1;
|
||||||
|
state.memberValue = memberValue;
|
||||||
|
queryMember();
|
||||||
|
state.fetching = false;
|
||||||
|
}, 300);
|
||||||
|
|
||||||
const options = ref([]);
|
|
||||||
const handleChange2 = (value) => {
|
const handleChange2 = (value) => {
|
||||||
console.log(`selected ${value}`);
|
console.log(`selected ${value}`);
|
||||||
};
|
state.inputV3 = value;
|
||||||
const handleBlur = () => {
|
|
||||||
console.log("blur");
|
|
||||||
};
|
};
|
||||||
const handleFocus = () => {
|
const handleFocus = () => {
|
||||||
console.log("focus");
|
queryMember();
|
||||||
};
|
};
|
||||||
const checkRadio = () => {
|
const checkRadio = () => {
|
||||||
if (state.checkedC1) {
|
if (state.checkedC1) {
|
||||||
@@ -665,9 +724,6 @@ export default {
|
|||||||
state.discussSettings = "false";
|
state.discussSettings = "false";
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
const filterOption = (input, option) => {
|
|
||||||
return option.value.toLowerCase().indexOf(input.toLowerCase()) >= 0;
|
|
||||||
};
|
|
||||||
const handleChangeAssessment = (option) => {
|
const handleChangeAssessment = (option) => {
|
||||||
state.assessmentId = option.assessmentId;
|
state.assessmentId = option.assessmentId;
|
||||||
};
|
};
|
||||||
@@ -679,13 +735,14 @@ export default {
|
|||||||
handleChange,
|
handleChange,
|
||||||
beforeUpload,
|
beforeUpload,
|
||||||
updateLiveBroadcast,
|
updateLiveBroadcast,
|
||||||
filterOption,
|
|
||||||
handleBlur,
|
|
||||||
handleFocus,
|
handleFocus,
|
||||||
handleChange2,
|
handleChange2,
|
||||||
options,
|
options,
|
||||||
checkRadio,
|
checkRadio,
|
||||||
handleChangeAssessment,
|
handleChangeAssessment,
|
||||||
|
queryMember,
|
||||||
|
templateScroll,
|
||||||
|
handleSearch,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -59,7 +59,9 @@
|
|||||||
<div class="mntc_left">
|
<div class="mntc_left">
|
||||||
<div class="notice_icon"></div>
|
<div class="notice_icon"></div>
|
||||||
<span style="color: rgba(0, 0, 0, 0.65); margin-right: 17px"
|
<span style="color: rgba(0, 0, 0, 0.65); margin-right: 17px"
|
||||||
>已选择 <span style="color: #388be1">{{ selectedRowKeys.length }}</span> 项</span
|
>已选择
|
||||||
|
<span style="color: #388be1">{{ selectedRowKeys.length }}</span>
|
||||||
|
项</span
|
||||||
>
|
>
|
||||||
<span style="color: rgba(0, 0, 0, 0.65)"
|
<span style="color: rgba(0, 0, 0, 0.65)"
|
||||||
>列表选项总计:<span>{{ tableDataTotal }}</span> 条</span
|
>列表选项总计:<span>{{ tableDataTotal }}</span> 条</span
|
||||||
@@ -76,9 +78,9 @@
|
|||||||
(_record, index) => (index % 2 === 1 ? 'table-striped' : null)
|
(_record, index) => (index % 2 === 1 ? 'table-striped' : null)
|
||||||
"
|
"
|
||||||
:row-selection="{
|
:row-selection="{
|
||||||
selectedRowKeys:selectedRowKeys,
|
selectedRowKeys: selectedRowKeys,
|
||||||
onChange:onSelectChange,
|
onChange: onSelectChange,
|
||||||
onSelect:onSelected,
|
onSelect: onSelected,
|
||||||
}"
|
}"
|
||||||
:columns="tableDataFunc()"
|
:columns="tableDataFunc()"
|
||||||
:data-source="tableData"
|
:data-source="tableData"
|
||||||
@@ -113,6 +115,7 @@ import * as apiTask 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";
|
||||||
export default {
|
export default {
|
||||||
name: "AddOnline",
|
name: "AddOnline",
|
||||||
props: {
|
props: {
|
||||||
@@ -172,7 +175,7 @@ export default {
|
|||||||
time: undefined,
|
time: undefined,
|
||||||
assessmentId: null,
|
assessmentId: null,
|
||||||
assessmentName: "",
|
assessmentName: "",
|
||||||
selectedRowKeys:[],
|
selectedRowKeys: [],
|
||||||
tableData: [],
|
tableData: [],
|
||||||
currentPage: 1,
|
currentPage: 1,
|
||||||
tableDataTotal: 0,
|
tableDataTotal: 0,
|
||||||
@@ -238,15 +241,15 @@ export default {
|
|||||||
const onSelected = (record) => {
|
const onSelected = (record) => {
|
||||||
state.assessmentId = record.assessmentId;
|
state.assessmentId = record.assessmentId;
|
||||||
state.assessmentName = record.name;
|
state.assessmentName = record.name;
|
||||||
}
|
};
|
||||||
const onSelectChange = (selectedRowKeys,b) => {
|
const onSelectChange = (selectedRowKeys, b) => {
|
||||||
state.selectedRowKeys = selectedRowKeys
|
state.selectedRowKeys = selectedRowKeys;
|
||||||
console.log(b);
|
console.log(b);
|
||||||
}
|
};
|
||||||
//清空所选
|
//清空所选
|
||||||
const clearLine = ()=> {
|
const clearLine = () => {
|
||||||
state.selectedRowKeys=[]
|
state.selectedRowKeys = [];
|
||||||
}
|
};
|
||||||
const handelChangePage = (page, pageSize) => {
|
const handelChangePage = (page, pageSize) => {
|
||||||
state.currentPage = page;
|
state.currentPage = page;
|
||||||
state.pageSize = pageSize;
|
state.pageSize = pageSize;
|
||||||
@@ -257,7 +260,7 @@ export default {
|
|||||||
let array = [];
|
let array = [];
|
||||||
data.map((value, index) => {
|
data.map((value, index) => {
|
||||||
let obj = {
|
let obj = {
|
||||||
key: index+1,
|
key: index + 1,
|
||||||
assessmentId: value.assessmentId,
|
assessmentId: value.assessmentId,
|
||||||
num: value.essayQuestionVoList.length,
|
num: value.essayQuestionVoList.length,
|
||||||
name: value.assessmentName ? value.assessmentName : "-",
|
name: value.assessmentName ? value.assessmentName : "-",
|
||||||
@@ -283,8 +286,7 @@ export default {
|
|||||||
state.tableDataTotal = Number(res.data.data.total);
|
state.tableDataTotal = Number(res.data.data.total);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {});
|
||||||
});
|
|
||||||
};
|
};
|
||||||
const updateTask = () => {
|
const updateTask = () => {
|
||||||
if (props.isLevel == 1) {
|
if (props.isLevel == 1) {
|
||||||
@@ -297,14 +299,14 @@ export default {
|
|||||||
type: 1,
|
type: 1,
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
message.destroy()
|
message.destroy();
|
||||||
message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
|
message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
|
||||||
ctx.emit("changeData", false);
|
ctx.emit("changeData", false);
|
||||||
closeDrawer();
|
closeDrawer();
|
||||||
state.addLoading = false;
|
state.addLoading = false;
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
message.destroy()
|
message.destroy();
|
||||||
message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`);
|
message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`);
|
||||||
});
|
});
|
||||||
} else if (props.isLevel == 2) {
|
} else if (props.isLevel == 2) {
|
||||||
@@ -318,33 +320,32 @@ export default {
|
|||||||
type: 1,
|
type: 1,
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
message.destroy()
|
message.destroy();
|
||||||
message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
|
message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
|
||||||
ctx.emit("changeData", false);
|
ctx.emit("changeData", false);
|
||||||
closeDrawer();
|
closeDrawer();
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
message.destroy()
|
message.destroy();
|
||||||
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
|
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
|
||||||
});
|
});
|
||||||
} else if (props.isLevel == 3) {
|
} else if (props.isLevel == 3) {
|
||||||
apiTask
|
addTempTask({
|
||||||
.addTask({
|
|
||||||
courseId: state.assessmentId,
|
courseId: state.assessmentId,
|
||||||
name: state.assessmentName,
|
name: state.assessmentName,
|
||||||
projectTemplateId: props.projectTemplateId,
|
projectId: props.projectId,
|
||||||
projectTaskId: props.projectTaskId || 0,
|
projectTaskId: props.projectTaskId || 0,
|
||||||
stageId: props.chooseStageId,
|
stageId: props.chooseStageId,
|
||||||
type: 1,
|
type: 1,
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
message.destroy()
|
message.destroy();
|
||||||
message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
|
message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
|
||||||
ctx.emit("changeData", false);
|
ctx.emit("changeData", false);
|
||||||
closeDrawer();
|
closeDrawer();
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
message.destroy()
|
message.destroy();
|
||||||
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
|
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -470,6 +470,7 @@ export default {
|
|||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
|
message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
|
||||||
|
closeDrawer();
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`);
|
message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`);
|
||||||
|
|||||||
@@ -92,6 +92,7 @@ import * as api from "../../api/indexExternalChain";
|
|||||||
import * as apiTask from "../../api/indexTaskadd";
|
import * as apiTask 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 { addTempTask } from "../../api/indexTaskadd";
|
||||||
export default {
|
export default {
|
||||||
name: "AddRef",
|
name: "AddRef",
|
||||||
props: {
|
props: {
|
||||||
@@ -159,7 +160,6 @@ export default {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const afterVisibleChange = () => {
|
const afterVisibleChange = () => {
|
||||||
|
|
||||||
if (props.edit) {
|
if (props.edit) {
|
||||||
queryRef();
|
queryRef();
|
||||||
}
|
}
|
||||||
@@ -202,7 +202,9 @@ export default {
|
|||||||
type: 7,
|
type: 7,
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
message.success(`${props.EditTestId ? "编辑" : "新增"}阶段任务成功`);
|
message.success(
|
||||||
|
`${props.EditTestId ? "编辑" : "新增"}阶段任务成功`
|
||||||
|
);
|
||||||
ctx.emit("changeData", false);
|
ctx.emit("changeData", false);
|
||||||
closeDrawer();
|
closeDrawer();
|
||||||
})
|
})
|
||||||
@@ -210,17 +212,19 @@ export default {
|
|||||||
message.error(`${props.EditTestId ? "编辑" : "新增"}阶段任务失败`);
|
message.error(`${props.EditTestId ? "编辑" : "新增"}阶段任务失败`);
|
||||||
});
|
});
|
||||||
} else if (props.isLevel == 3) {
|
} else if (props.isLevel == 3) {
|
||||||
apiTask
|
console.log("");
|
||||||
.addTask({
|
addTempTask({
|
||||||
courseId: res.data.data.linkId,
|
courseId: res.data.data.linkId,
|
||||||
name: res.data.data.linkName,
|
name: res.data.data.linkName,
|
||||||
projectTempalteId: props.projectTemplateId,
|
projectId: props.projectId,
|
||||||
projectTaskId: props.projectTaskId || 0,
|
projectTaskId: props.projectTaskId || 0,
|
||||||
stageId: props.chooseStageId,
|
stageId: props.chooseStageId,
|
||||||
type: 7,
|
type: 7,
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
message.success(`${props.EditTestId ? "编辑" : "新增"}阶段任务成功`);
|
message.success(
|
||||||
|
`${props.EditTestId ? "编辑" : "新增"}阶段任务成功`
|
||||||
|
);
|
||||||
ctx.emit("changeData", false);
|
ctx.emit("changeData", false);
|
||||||
closeDrawer();
|
closeDrawer();
|
||||||
})
|
})
|
||||||
@@ -254,9 +258,7 @@ export default {
|
|||||||
message.success("编辑成功");
|
message.success("编辑成功");
|
||||||
updateTask(res);
|
updateTask(res);
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {});
|
||||||
|
|
||||||
});
|
|
||||||
} else {
|
} else {
|
||||||
api
|
api
|
||||||
.createExternalChain(obj)
|
.createExternalChain(obj)
|
||||||
@@ -264,9 +266,7 @@ export default {
|
|||||||
message.success("提交成功");
|
message.success("提交成功");
|
||||||
updateTask(res);
|
updateTask(res);
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {});
|
||||||
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
// 查询任务
|
// 查询任务
|
||||||
|
|||||||
@@ -313,7 +313,7 @@
|
|||||||
<a-spin :spinning="addLoading" tip="添加中..." />
|
<a-spin :spinning="addLoading" tip="添加中..." />
|
||||||
</div>
|
</div>
|
||||||
<!-- 选择考试抽屉 -->
|
<!-- 选择考试抽屉 -->
|
||||||
<s-test v-model:STvisible="STvisible" @getSTData="getData"/>
|
<s-test v-model:STvisible="STvisible" @getSTData="getData" />
|
||||||
</a-drawer>
|
</a-drawer>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
@@ -324,9 +324,9 @@ import {
|
|||||||
queryExaminationDetailById,
|
queryExaminationDetailById,
|
||||||
updateExamination,
|
updateExamination,
|
||||||
} from "@/api/indexExam";
|
} from "@/api/indexExam";
|
||||||
import STest from "./SelectTest.vue"
|
import STest from "./SelectTest.vue";
|
||||||
import { ProjectEditTask, RouterEditTask } from "@/api/indexTask";
|
import { ProjectEditTask, RouterEditTask } from "@/api/indexTask";
|
||||||
|
import { addTempTask } from "../../api/indexTaskadd";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@@ -411,9 +411,9 @@ export default {
|
|||||||
const state = reactive({
|
const state = reactive({
|
||||||
addLoading: false,
|
addLoading: false,
|
||||||
isOuter: 1, // 是否为外部考试
|
isOuter: 1, // 是否为外部考试
|
||||||
STvisible:false, //选择试卷抽屉
|
STvisible: false, //选择试卷抽屉
|
||||||
paperId:null, //试卷id 子组件传过来给考试抽屉创建考试信息需要
|
paperId: null, //试卷id 子组件传过来给考试抽屉创建考试信息需要
|
||||||
paperName:"", //试卷名称 子组件传过来给考试抽屉选择试卷后框框用
|
paperName: "", //试卷名称 子组件传过来给考试抽屉选择试卷后框框用
|
||||||
choosedTestList: [
|
choosedTestList: [
|
||||||
{
|
{
|
||||||
value: "提高核心竞争力",
|
value: "提高核心竞争力",
|
||||||
@@ -593,9 +593,9 @@ export default {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const selectTest = ()=> {
|
const selectTest = () => {
|
||||||
state.STvisible = true
|
state.STvisible = true;
|
||||||
}
|
};
|
||||||
|
|
||||||
const queryTest = () => {
|
const queryTest = () => {
|
||||||
state.addLoading = true;
|
state.addLoading = true;
|
||||||
@@ -717,7 +717,8 @@ export default {
|
|||||||
message.error(`${props.EditTestId ? "编辑" : "新增"}阶段任务失败`);
|
message.error(`${props.EditTestId ? "编辑" : "新增"}阶段任务失败`);
|
||||||
});
|
});
|
||||||
} else if (props.isLevel == 3) {
|
} else if (props.isLevel == 3) {
|
||||||
let editObj = {
|
console.log("");
|
||||||
|
addTempTask({
|
||||||
courseId: res.data.data.examinationId,
|
courseId: res.data.data.examinationId,
|
||||||
duration: 0,
|
duration: 0,
|
||||||
name: res.data.data.examinationName,
|
name: res.data.data.examinationName,
|
||||||
@@ -725,9 +726,7 @@ export default {
|
|||||||
projectTaskId: props.projectTaskId || 0,
|
projectTaskId: props.projectTaskId || 0,
|
||||||
stageId: props.chooseStageId,
|
stageId: props.chooseStageId,
|
||||||
type: 5,
|
type: 5,
|
||||||
};
|
})
|
||||||
// 新增编辑或新增项目
|
|
||||||
ProjectEditTask(editObj)
|
|
||||||
.then(() => {
|
.then(() => {
|
||||||
message.success(
|
message.success(
|
||||||
`${props.EditTestId ? "编辑" : "新增"}阶段任务成功`
|
`${props.EditTestId ? "编辑" : "新增"}阶段任务成功`
|
||||||
@@ -776,10 +775,10 @@ export default {
|
|||||||
);
|
);
|
||||||
state.choosedTestList = tags;
|
state.choosedTestList = tags;
|
||||||
};
|
};
|
||||||
const getData = (value)=> {
|
const getData = (value) => {
|
||||||
state.paperId = value.paperId;
|
state.paperId = value.paperId;
|
||||||
state.paperName = value.testName;
|
state.paperName = value.testName;
|
||||||
}
|
};
|
||||||
return {
|
return {
|
||||||
formState,
|
formState,
|
||||||
afterVisibleChange,
|
afterVisibleChange,
|
||||||
|
|||||||
354
src/components/drawers/AssessmentList.vue
Normal file
354
src/components/drawers/AssessmentList.vue
Normal file
@@ -0,0 +1,354 @@
|
|||||||
|
<!-- 评估列表 -->
|
||||||
|
<template>
|
||||||
|
<a-drawer
|
||||||
|
:visible="assessmentVisible"
|
||||||
|
class="drawerStyle addinvistDrawer"
|
||||||
|
width="70%"
|
||||||
|
title="添加评估"
|
||||||
|
placement="right"
|
||||||
|
@after-visible-change="afterVisibleChange"
|
||||||
|
>
|
||||||
|
<div class="drawerMain">
|
||||||
|
<div class="header">
|
||||||
|
<div v-if="edit" class="headerTitle">编辑评估</div>
|
||||||
|
<div v-else class="headerTitle">添加评估</div>
|
||||||
|
<img
|
||||||
|
style="width: 29px; height: 29px; cursor: pointer"
|
||||||
|
src="../../assets/images/basicinfo/close.png"
|
||||||
|
@click="closeDrawer"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="contentMain">
|
||||||
|
<div class="main_left">
|
||||||
|
<div class="main_item">
|
||||||
|
<div class="fi_input">
|
||||||
|
<a-input
|
||||||
|
v-model:value="inputV1"
|
||||||
|
style="width: 424px; height: 40px"
|
||||||
|
placeholder="请输入评估名称"
|
||||||
|
maxlength="20"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="btns" @click="getAllInvistText">
|
||||||
|
<div class="search"></div>
|
||||||
|
<div class="btnText">搜索</div>
|
||||||
|
</div>
|
||||||
|
<div class="btnsn" @click="resetInvist">
|
||||||
|
<div class="search"></div>
|
||||||
|
<div class="btnText">重置</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="main_item2">
|
||||||
|
<a-table
|
||||||
|
style="border: 1px solid #f2f6fe"
|
||||||
|
:columns="tableDataFunc()"
|
||||||
|
:data-source="tableData"
|
||||||
|
:loading="tableDataTotal === -1 ? true : false"
|
||||||
|
expandRowByClick="true"
|
||||||
|
@expand="expandTable"
|
||||||
|
:pagination="false"
|
||||||
|
:row-selection="rowSelection"
|
||||||
|
filterMultiple:false
|
||||||
|
/>
|
||||||
|
|
||||||
|
<div class="pa">
|
||||||
|
<a-pagination
|
||||||
|
showSizeChanger="true"
|
||||||
|
showQuickJumper="true"
|
||||||
|
hideOnSinglePage="true"
|
||||||
|
:pageSize="pageSize"
|
||||||
|
:current="currentPage"
|
||||||
|
:total="tableDataTotal"
|
||||||
|
class="pagination"
|
||||||
|
@change="handelChangePage"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a-drawer>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { reactive, toRefs } from "vue";
|
||||||
|
import * as api from "../../api/indexInvist.js";
|
||||||
|
import dayjs from "dayjs";
|
||||||
|
export default {
|
||||||
|
name: "AssessmentList",
|
||||||
|
// components: {
|
||||||
|
// },
|
||||||
|
props: {
|
||||||
|
assessmentVisible: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
isface: {
|
||||||
|
type: Number,
|
||||||
|
default: null,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
setup(props, ctx) {
|
||||||
|
const state = reactive({
|
||||||
|
assessmentVisible: false,
|
||||||
|
assessment: null,
|
||||||
|
inputV1: "",
|
||||||
|
currentPage: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
tableDataTotal: 0,
|
||||||
|
tableData: [],
|
||||||
|
selectedRowKeys: [],
|
||||||
|
});
|
||||||
|
const closeDrawer = () => {
|
||||||
|
ctx.emit("update:assessmentVisible", false);
|
||||||
|
};
|
||||||
|
const afterVisibleChange = (bool) => {
|
||||||
|
console.log("state getAllInvistText", bool);
|
||||||
|
if (props.assessmentVisible) {
|
||||||
|
getAllInvistText();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const tableDataFunc = () => {
|
||||||
|
const columns = [
|
||||||
|
{
|
||||||
|
title: "名称",
|
||||||
|
dataIndex: "name",
|
||||||
|
// width: "30%",
|
||||||
|
key: "name",
|
||||||
|
width: "150px",
|
||||||
|
align: "left",
|
||||||
|
className: "classify",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "题数",
|
||||||
|
dataIndex: "num",
|
||||||
|
key: "num",
|
||||||
|
width: "80px",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "创建人",
|
||||||
|
dataIndex: "creator",
|
||||||
|
key: "creator",
|
||||||
|
width: "150px",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "创建时间",
|
||||||
|
dataIndex: "time",
|
||||||
|
key: "time",
|
||||||
|
width: "200px",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
return columns;
|
||||||
|
};
|
||||||
|
const rowSelection = {
|
||||||
|
type: "radio",
|
||||||
|
onSelect: (selectedRows) => {
|
||||||
|
state.assessment = selectedRows;
|
||||||
|
console.log("selectedRows=======", state.assessment);
|
||||||
|
if (props.isface == 1) {
|
||||||
|
ctx.emit("faceAssess", state.assessment);
|
||||||
|
} else {
|
||||||
|
ctx.emit("checkedAss", state.assessment);
|
||||||
|
}
|
||||||
|
|
||||||
|
state.selectedRowKeys = [];
|
||||||
|
closeDrawer();
|
||||||
|
},
|
||||||
|
};
|
||||||
|
// const onSelectChange = (selectedRowKeys) => {
|
||||||
|
// if(selectedRowKeys.length>2){return}
|
||||||
|
// state.selectedRowKeys = selectedRowKeys;
|
||||||
|
// };
|
||||||
|
|
||||||
|
const handelChangePage = (page, pageSize) => {
|
||||||
|
state.currentPage = page;
|
||||||
|
state.pageSize = pageSize;
|
||||||
|
getAllInvistText();
|
||||||
|
};
|
||||||
|
const getTableDate = (tableData) => {
|
||||||
|
let data = tableData;
|
||||||
|
let array = [];
|
||||||
|
data.map((value, index) => {
|
||||||
|
let obj = {
|
||||||
|
key: index,
|
||||||
|
assessmentId: value.assessmentId,
|
||||||
|
num: value.essayQuestionVoList.length,
|
||||||
|
name: value.assessmentName ? value.assessmentName : "-",
|
||||||
|
creator: value.createUser ? value.createUser : "-",
|
||||||
|
time: dayjs(value.createTime).format("YYYY-MM-DD"),
|
||||||
|
};
|
||||||
|
array.push(obj);
|
||||||
|
});
|
||||||
|
(state.selectedRowKeys = []), (state.tableData = array);
|
||||||
|
};
|
||||||
|
//获取全部评估信息接口
|
||||||
|
const getAllInvistText = () => {
|
||||||
|
api
|
||||||
|
.queryAssessmentDetailList({
|
||||||
|
assessmentName: state.inputV1,
|
||||||
|
pageNo: state.currentPage,
|
||||||
|
pageSize: state.pageSize,
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
let arr = res.data.data.rows;
|
||||||
|
if (res.status === 200) {
|
||||||
|
// console.log("获取全部评估信息", res.data.data);
|
||||||
|
getTableDate(arr);
|
||||||
|
state.tableDataTotal = Number(res.data.data.total);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log("获取全部评估信息接口失败", err);
|
||||||
|
// state.createLoading = false;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
//重置评估信息
|
||||||
|
const resetInvist = () => {
|
||||||
|
state.inputV1 = "";
|
||||||
|
getAllInvistText();
|
||||||
|
};
|
||||||
|
return {
|
||||||
|
...toRefs(state),
|
||||||
|
afterVisibleChange,
|
||||||
|
closeDrawer,
|
||||||
|
tableDataFunc,
|
||||||
|
rowSelection,
|
||||||
|
getAllInvistText,
|
||||||
|
resetInvist,
|
||||||
|
handelChangePage,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss">
|
||||||
|
.ant-table-striped :deep(.table-striped) td {
|
||||||
|
background-color: #fafafa !important;
|
||||||
|
}
|
||||||
|
.addinvistDrawer {
|
||||||
|
.drawerMain {
|
||||||
|
.header {
|
||||||
|
height: 73px;
|
||||||
|
border-bottom: 1px solid #e8e8e8;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
.headerTitle {
|
||||||
|
font-size: 18px;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #333333;
|
||||||
|
line-height: 25px;
|
||||||
|
margin-left: 24px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.contentMain {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
.main_left {
|
||||||
|
padding-right: 30px;
|
||||||
|
margin-top: 32px;
|
||||||
|
.main_item {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: 32px;
|
||||||
|
.fi_input {
|
||||||
|
margin-right: 20px;
|
||||||
|
}
|
||||||
|
.btns {
|
||||||
|
margin-right: 20px;
|
||||||
|
padding: 0px 26px 0px 26px;
|
||||||
|
height: 38px;
|
||||||
|
background: #409eff;
|
||||||
|
border-radius: 8px;
|
||||||
|
//border: 1px solid rgba(64, 158, 255, 1);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
margin-right: 14px;
|
||||||
|
flex-shrink: 0;
|
||||||
|
cursor: pointer;
|
||||||
|
.search {
|
||||||
|
width: 15px;
|
||||||
|
height: 17px;
|
||||||
|
background-image: url("../../assets/images/courseManage/search0.png");
|
||||||
|
background-size: 100% 100%;
|
||||||
|
}
|
||||||
|
.btnText {
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #ffffff;
|
||||||
|
line-height: 36px;
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.btnsn {
|
||||||
|
padding: 0px 26px 0px 26px;
|
||||||
|
height: 38px;
|
||||||
|
background: #ffffff;
|
||||||
|
border-radius: 8px;
|
||||||
|
border: 1px solid rgba(64, 158, 255, 1);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
margin-right: 14px;
|
||||||
|
flex-shrink: 0;
|
||||||
|
cursor: pointer;
|
||||||
|
.search {
|
||||||
|
width: 16px;
|
||||||
|
height: 18px;
|
||||||
|
background-image: url("../../assets/images/courseManage/reset1.png");
|
||||||
|
background-size: 100% 100%;
|
||||||
|
}
|
||||||
|
.btnText {
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #409eff;
|
||||||
|
line-height: 36px;
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.main_item2 {
|
||||||
|
.pa {
|
||||||
|
width: 100%;
|
||||||
|
margin: 15px auto;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.main_btns {
|
||||||
|
height: 72px;
|
||||||
|
width: 100%;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.16);
|
||||||
|
.btn1 {
|
||||||
|
width: 100px;
|
||||||
|
height: 40px;
|
||||||
|
border: 1px solid #4ea6ff;
|
||||||
|
border-radius: 8px;
|
||||||
|
color: #4ea6ff;
|
||||||
|
background-color: #fff;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.btn2 {
|
||||||
|
cursor: pointer;
|
||||||
|
width: 100px;
|
||||||
|
height: 40px;
|
||||||
|
background: #4ea6ff;
|
||||||
|
border-radius: 8px;
|
||||||
|
border: 0;
|
||||||
|
margin-left: 15px;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -72,6 +72,8 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { toRefs,reactive } from '@vue/reactivity';
|
import { toRefs,reactive } from '@vue/reactivity';
|
||||||
|
import { message } from 'ant-design-vue';
|
||||||
|
import {queryUserAnswerDetail} from '@/api/indexExam';
|
||||||
export default {
|
export default {
|
||||||
name:"CheckWork",
|
name:"CheckWork",
|
||||||
props:{
|
props:{
|
||||||
@@ -164,6 +166,14 @@ export default {
|
|||||||
}
|
}
|
||||||
const afterVisibleChange = (bool) => {
|
const afterVisibleChange = (bool) => {
|
||||||
console.log(bool);
|
console.log(bool);
|
||||||
|
if(bool == true) {getQue()}
|
||||||
|
}
|
||||||
|
const getQue = () => {
|
||||||
|
queryUserAnswerDetail(1).then(res => {
|
||||||
|
console.log(res)
|
||||||
|
}).catch(err =>{
|
||||||
|
message.error('用户答卷信息获取失败'+err)
|
||||||
|
})
|
||||||
}
|
}
|
||||||
return{
|
return{
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
|
|||||||
@@ -148,13 +148,16 @@ import { reactive, toRefs } from "vue";
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
// const onSelect = (record)=> {
|
||||||
|
// state.evaluationTypeName = record.title
|
||||||
|
// state.evaluationTypeId = record.quiz_code
|
||||||
|
// };
|
||||||
const onSelectChange = (selectedRowKeys,selectedRows)=> {
|
const onSelectChange = (selectedRowKeys,selectedRows)=> {
|
||||||
if(selectedRowKeys.length>1){
|
if(state.selectedRowKeys.length>1){
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
state.selectedRowKeys = selectedRowKeys
|
state.selectedRowKeys = selectedRowKeys
|
||||||
state.evListData = selectedRows[0] ? selectedRows[0] : []
|
state.evListData = selectedRows[0] ? selectedRows[0] : []
|
||||||
console.log('state.evListData',state.evListData);
|
|
||||||
}
|
}
|
||||||
const closeDrawer = () => {
|
const closeDrawer = () => {
|
||||||
ctx.emit("update:EvalListVisible", false);
|
ctx.emit("update:EvalListVisible", false);
|
||||||
@@ -168,7 +171,11 @@ import { reactive, toRefs } from "vue";
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
const checkFinish =() =>{
|
const checkFinish =() =>{
|
||||||
ctx.emit("getEvListData", state.evListData);
|
let EvListDate = {
|
||||||
|
Id : state.evaluationTypeId,
|
||||||
|
Name : state.evaluationTypeName,
|
||||||
|
}
|
||||||
|
ctx.emit("getEvListDate", EvListDate);
|
||||||
closeDrawer();
|
closeDrawer();
|
||||||
}
|
}
|
||||||
const changePagination = (page) => {
|
const changePagination = (page) => {
|
||||||
@@ -223,7 +230,6 @@ import { reactive, toRefs } from "vue";
|
|||||||
key:index+1,
|
key:index+1,
|
||||||
status:value.status,
|
status:value.status,
|
||||||
quiz_code:value.quiz_code,
|
quiz_code:value.quiz_code,
|
||||||
quiz_kid:value.quiz_kid,
|
|
||||||
title:value.title,
|
title:value.title,
|
||||||
theme_desc:value.theme_desc,
|
theme_desc:value.theme_desc,
|
||||||
quiz_price:value.quiz_price,
|
quiz_price:value.quiz_price,
|
||||||
|
|||||||
@@ -29,11 +29,15 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="btns">
|
<div class="btns">
|
||||||
<div class="btn btn1" style="margin-right: 20px">
|
<div
|
||||||
|
class="btn btn1"
|
||||||
|
style="margin-right: 20px"
|
||||||
|
@click="searchAuth"
|
||||||
|
>
|
||||||
<div class="img1"></div>
|
<div class="img1"></div>
|
||||||
<div class="wz">搜索</div>
|
<div class="wz">搜索</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn btn2">
|
<div class="btn btn2" @click="resetAuth">
|
||||||
<div class="img2"></div>
|
<div class="img2"></div>
|
||||||
<div class="wz">重置</div>
|
<div class="wz">重置</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -50,13 +54,13 @@
|
|||||||
@expand="expandTable"
|
@expand="expandTable"
|
||||||
:scroll="{ x: 900 }"
|
:scroll="{ x: 900 }"
|
||||||
:pagination="false"
|
:pagination="false"
|
||||||
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="tableBox">
|
<div class="tableBox">
|
||||||
<div class="pa">
|
<div class="pa">
|
||||||
<a-pagination
|
<a-pagination
|
||||||
|
v-if="tableDataTotal > 10"
|
||||||
showSizeChanger="true"
|
showSizeChanger="true"
|
||||||
showQuickJumper="true"
|
showQuickJumper="true"
|
||||||
hideOnSinglePage="true"
|
hideOnSinglePage="true"
|
||||||
@@ -64,6 +68,7 @@
|
|||||||
:current="currentPage"
|
:current="currentPage"
|
||||||
:total="tableDataTotal"
|
:total="tableDataTotal"
|
||||||
class="pagination"
|
class="pagination"
|
||||||
|
@change="changePagination"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -127,6 +132,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { toRefs, reactive } from "vue";
|
import { toRefs, reactive } from "vue";
|
||||||
|
import * as api from "../../api/index1";
|
||||||
export default {
|
export default {
|
||||||
name: "PowerList",
|
name: "PowerList",
|
||||||
props: {
|
props: {
|
||||||
@@ -134,6 +140,10 @@ export default {
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false,
|
default: false,
|
||||||
},
|
},
|
||||||
|
selectPathId: {
|
||||||
|
type: Number,
|
||||||
|
default: null,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
setup(props, ctx) {
|
setup(props, ctx) {
|
||||||
@@ -143,98 +153,31 @@ export default {
|
|||||||
closable: false, //modal右上角的关闭按钮
|
closable: false, //modal右上角的关闭按钮
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
currentPage: 1,
|
currentPage: 1,
|
||||||
tableDataTotal: 100,
|
tableDataTotal: -1,
|
||||||
selectedRowKeys: [],
|
selectedRowKeys: [],
|
||||||
cancelModal: false, //取消授权弹窗
|
cancelModal: false, //取消授权弹窗
|
||||||
closeCancel: false, //取消授权弹窗关闭图标
|
closeCancel: false, //取消授权弹窗关闭图标
|
||||||
tableData: [
|
tableData: [
|
||||||
{
|
// {
|
||||||
key: 1,
|
// key: 1,
|
||||||
name: "张三",
|
// name: "张三",
|
||||||
com: "产研部",
|
// com: "产研部",
|
||||||
gang: "产品经理",
|
// gang: "产品经理",
|
||||||
number: "20201234",
|
// number: "20201234",
|
||||||
state: "管理权",
|
// state: "管理权",
|
||||||
},
|
// },
|
||||||
{
|
|
||||||
key: 2,
|
|
||||||
name: "张三",
|
|
||||||
com: "产研部",
|
|
||||||
gang: "产品经理",
|
|
||||||
number: "20201234",
|
|
||||||
state: "管理权",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 3,
|
|
||||||
name: "张三",
|
|
||||||
com: "产研部",
|
|
||||||
gang: "产品经理",
|
|
||||||
number: "20201234",
|
|
||||||
state: "管理权",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 4,
|
|
||||||
name: "张三",
|
|
||||||
com: "产研部",
|
|
||||||
gang: "产品经理",
|
|
||||||
number: "20201234",
|
|
||||||
state: "管理权",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 5,
|
|
||||||
name: "张三",
|
|
||||||
com: "产研部",
|
|
||||||
gang: "产品经理",
|
|
||||||
number: "20201234",
|
|
||||||
state: "管理权",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 6,
|
|
||||||
name: "张三",
|
|
||||||
com: "产研部",
|
|
||||||
gang: "产品经理",
|
|
||||||
number: "20201234",
|
|
||||||
state: "归属权",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 7,
|
|
||||||
name: "张三",
|
|
||||||
com: "产研部",
|
|
||||||
gang: "产品经理",
|
|
||||||
number: "20201234",
|
|
||||||
state: "查看权",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 8,
|
|
||||||
name: "张三",
|
|
||||||
com: "产研部",
|
|
||||||
gang: "产品经理",
|
|
||||||
number: "20201234",
|
|
||||||
state: "管理权",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 9,
|
|
||||||
name: "张三",
|
|
||||||
com: "产研部",
|
|
||||||
gang: "产品经理",
|
|
||||||
number: "20201234",
|
|
||||||
state: "管理权",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 10,
|
|
||||||
name: "张三",
|
|
||||||
com: "产研部",
|
|
||||||
gang: "产品经理",
|
|
||||||
number: "20201234",
|
|
||||||
state: "管理权",
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
|
||||||
const closeDrawer = () => {
|
const closeDrawer = () => {
|
||||||
ctx.emit("update:PLvisible", false);
|
ctx.emit("update:PLvisible", false);
|
||||||
};
|
};
|
||||||
|
const afterVisibleChange = (bool) => {
|
||||||
|
console.log("state", bool, props);
|
||||||
|
if (bool) {
|
||||||
|
optionAuthPerm();
|
||||||
|
}
|
||||||
|
};
|
||||||
const onSelectChange = (selectedRowKeys) => {
|
const onSelectChange = (selectedRowKeys) => {
|
||||||
console.log("selectedRowKeys changed: ", selectedRowKeys);
|
console.log("selectedRowKeys changed: ", selectedRowKeys);
|
||||||
state.selectedRowKeys = selectedRowKeys;
|
state.selectedRowKeys = selectedRowKeys;
|
||||||
@@ -325,20 +268,64 @@ export default {
|
|||||||
];
|
];
|
||||||
return columns;
|
return columns;
|
||||||
};
|
};
|
||||||
|
//‘获取权限名单
|
||||||
|
const optionAuthPerm = () => {
|
||||||
|
let obj = {
|
||||||
|
keyWord: state.name ? state.name : "",
|
||||||
|
type: 1,
|
||||||
|
tag: 1,
|
||||||
|
opt: 1,
|
||||||
|
refId: props.selectPathId,
|
||||||
|
pageNo: state.currentPage,
|
||||||
|
pageSize: state.pageSize,
|
||||||
|
};
|
||||||
|
console.log("获取权限名单obj", obj);
|
||||||
|
api
|
||||||
|
.optionAuthPerm(obj)
|
||||||
|
.then((res) => {
|
||||||
|
console.log("获取权限名单成功", res);
|
||||||
|
if (res.data.code === 200) {
|
||||||
|
state.tableDataTotal = res.data.data.total;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log("获取权限名单失败", err);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
//分页
|
||||||
|
const changePagination = (page) => {
|
||||||
|
state.currentPage = page;
|
||||||
|
optionAuthPerm();
|
||||||
|
};
|
||||||
|
//查询
|
||||||
|
const searchAuth = () => {
|
||||||
|
state.currentPage = 1;
|
||||||
|
optionAuthPerm();
|
||||||
|
};
|
||||||
|
//重置
|
||||||
|
const resetAuth = () => {
|
||||||
|
state.currentPage = 1;
|
||||||
|
state.name = null;
|
||||||
|
optionAuthPerm();
|
||||||
|
};
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
closeDrawer,
|
closeDrawer,
|
||||||
|
afterVisibleChange,
|
||||||
onSelectChange,
|
onSelectChange,
|
||||||
tableDataFunc,
|
tableDataFunc,
|
||||||
showCancelModal,
|
showCancelModal,
|
||||||
closeCancelModal,
|
closeCancelModal,
|
||||||
|
changePagination,
|
||||||
|
searchAuth,
|
||||||
|
resetAuth,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
|
||||||
.copyModal {
|
.copyModal {
|
||||||
.ant-modal {
|
.ant-modal {
|
||||||
width: 424px !important;
|
width: 424px !important;
|
||||||
|
|||||||
@@ -29,11 +29,15 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="btns">
|
<div class="btns">
|
||||||
<div class="btn btn1" style="margin-right: 20px">
|
<div
|
||||||
|
class="btn btn1"
|
||||||
|
style="margin-right: 20px"
|
||||||
|
@click="searchAuth"
|
||||||
|
>
|
||||||
<div class="img1"></div>
|
<div class="img1"></div>
|
||||||
<div class="wz">搜索</div>
|
<div class="wz">搜索</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn btn2">
|
<div class="btn btn2" @click="resetAuth">
|
||||||
<div class="img2"></div>
|
<div class="img2"></div>
|
||||||
<div class="wz">重置</div>
|
<div class="wz">重置</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -55,6 +59,7 @@
|
|||||||
<div class="tableBox">
|
<div class="tableBox">
|
||||||
<div class="pa">
|
<div class="pa">
|
||||||
<a-pagination
|
<a-pagination
|
||||||
|
v-if="tableDataTotal > 10"
|
||||||
showSizeChanger="true"
|
showSizeChanger="true"
|
||||||
showQuickJumper="true"
|
showQuickJumper="true"
|
||||||
hideOnSinglePage="true"
|
hideOnSinglePage="true"
|
||||||
@@ -62,6 +67,7 @@
|
|||||||
:current="currentPage"
|
:current="currentPage"
|
||||||
:total="tableDataTotal"
|
:total="tableDataTotal"
|
||||||
class="pagination"
|
class="pagination"
|
||||||
|
@change="changePagination"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -126,6 +132,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { toRefs, reactive } from "vue";
|
import { toRefs, reactive } from "vue";
|
||||||
|
import * as api from "../../api/index1";
|
||||||
export default {
|
export default {
|
||||||
name: "ProjPowerList",
|
name: "ProjPowerList",
|
||||||
props: {
|
props: {
|
||||||
@@ -133,6 +140,10 @@ export default {
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false,
|
default: false,
|
||||||
},
|
},
|
||||||
|
selectProjectId: {
|
||||||
|
type: Number,
|
||||||
|
default: null,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
setup(props, ctx) {
|
setup(props, ctx) {
|
||||||
@@ -142,98 +153,31 @@ export default {
|
|||||||
closable: false, //modal右上角的关闭按钮
|
closable: false, //modal右上角的关闭按钮
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
currentPage: 1,
|
currentPage: 1,
|
||||||
tableDataTotal: 100,
|
tableDataTotal: -1,
|
||||||
selectedRowKeys: [],
|
selectedRowKeys: [],
|
||||||
cancelModal: false, //取消授权弹窗
|
cancelModal: false, //取消授权弹窗
|
||||||
closeCancel: false, //取消授权弹窗关闭图标
|
closeCancel: false, //取消授权弹窗关闭图标
|
||||||
tableData: [
|
tableData: [
|
||||||
{
|
// {
|
||||||
key: 1,
|
// key: 1,
|
||||||
name: "张三",
|
// name: "张三",
|
||||||
com: "产研部",
|
// com: "产研部",
|
||||||
gang: "产品经理",
|
// gang: "产品经理",
|
||||||
number: "20201234",
|
// number: "20201234",
|
||||||
state: "管理权",
|
// state: "管理权",
|
||||||
},
|
// },
|
||||||
{
|
|
||||||
key: 2,
|
|
||||||
name: "张三",
|
|
||||||
com: "产研部",
|
|
||||||
gang: "产品经理",
|
|
||||||
number: "20201234",
|
|
||||||
state: "管理权",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 3,
|
|
||||||
name: "张三",
|
|
||||||
com: "产研部",
|
|
||||||
gang: "产品经理",
|
|
||||||
number: "20201234",
|
|
||||||
state: "管理权",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 4,
|
|
||||||
name: "张三",
|
|
||||||
com: "产研部",
|
|
||||||
gang: "产品经理",
|
|
||||||
number: "20201234",
|
|
||||||
state: "管理权",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 5,
|
|
||||||
name: "张三",
|
|
||||||
com: "产研部",
|
|
||||||
gang: "产品经理",
|
|
||||||
number: "20201234",
|
|
||||||
state: "管理权",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 6,
|
|
||||||
name: "张三",
|
|
||||||
com: "产研部",
|
|
||||||
gang: "产品经理",
|
|
||||||
number: "20201234",
|
|
||||||
state: "归属权",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 7,
|
|
||||||
name: "张三",
|
|
||||||
com: "产研部",
|
|
||||||
gang: "产品经理",
|
|
||||||
number: "20201234",
|
|
||||||
state: "查看权",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 8,
|
|
||||||
name: "张三",
|
|
||||||
com: "产研部",
|
|
||||||
gang: "产品经理",
|
|
||||||
number: "20201234",
|
|
||||||
state: "管理权",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 9,
|
|
||||||
name: "张三",
|
|
||||||
com: "产研部",
|
|
||||||
gang: "产品经理",
|
|
||||||
number: "20201234",
|
|
||||||
state: "管理权",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 10,
|
|
||||||
name: "张三",
|
|
||||||
com: "产研部",
|
|
||||||
gang: "产品经理",
|
|
||||||
number: "20201234",
|
|
||||||
state: "管理权",
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
|
||||||
const closeDrawer = () => {
|
const closeDrawer = () => {
|
||||||
ctx.emit("update:ProjPvisible", false);
|
ctx.emit("update:ProjPvisible", false);
|
||||||
};
|
};
|
||||||
|
const afterVisibleChange = (bool) => {
|
||||||
|
console.log("state", bool, props);
|
||||||
|
if (bool) {
|
||||||
|
optionAuthPerm();
|
||||||
|
}
|
||||||
|
};
|
||||||
const onSelectChange = (selectedRowKeys) => {
|
const onSelectChange = (selectedRowKeys) => {
|
||||||
console.log("selectedRowKeys changed: ", selectedRowKeys);
|
console.log("selectedRowKeys changed: ", selectedRowKeys);
|
||||||
state.selectedRowKeys = selectedRowKeys;
|
state.selectedRowKeys = selectedRowKeys;
|
||||||
@@ -324,6 +268,48 @@ export default {
|
|||||||
];
|
];
|
||||||
return columns;
|
return columns;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//‘获取权限名单
|
||||||
|
const optionAuthPerm = () => {
|
||||||
|
let obj = {
|
||||||
|
keyWord: state.name ? state.name : "",
|
||||||
|
type: 2,
|
||||||
|
tag: 1,
|
||||||
|
opt: 1,
|
||||||
|
refId: props.selectProjectId,
|
||||||
|
pageNo: state.currentPage,
|
||||||
|
pageSize: state.pageSize,
|
||||||
|
};
|
||||||
|
console.log("获取权限名单obj", obj);
|
||||||
|
api
|
||||||
|
.optionAuthPerm(obj)
|
||||||
|
.then((res) => {
|
||||||
|
console.log("获取权限名单成功", res);
|
||||||
|
if (res.data.code === 200) {
|
||||||
|
state.tableDataTotal = res.data.data.total;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log("获取权限名单失败", err);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
//分页
|
||||||
|
const changePagination = (page) => {
|
||||||
|
state.currentPage = page;
|
||||||
|
optionAuthPerm();
|
||||||
|
};
|
||||||
|
//查询
|
||||||
|
const searchAuth = () => {
|
||||||
|
state.currentPage = 1;
|
||||||
|
optionAuthPerm();
|
||||||
|
};
|
||||||
|
//重置
|
||||||
|
const resetAuth = () => {
|
||||||
|
state.currentPage = 1;
|
||||||
|
state.name = null;
|
||||||
|
optionAuthPerm();
|
||||||
|
};
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
closeDrawer,
|
closeDrawer,
|
||||||
@@ -331,6 +317,10 @@ export default {
|
|||||||
tableDataFunc,
|
tableDataFunc,
|
||||||
showCancelModal,
|
showCancelModal,
|
||||||
closeCancelModal,
|
closeCancelModal,
|
||||||
|
afterVisibleChange,
|
||||||
|
changePagination,
|
||||||
|
searchAuth,
|
||||||
|
resetAuth,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -559,8 +559,6 @@ export default {
|
|||||||
//获取选中部门的人员信息
|
//获取选中部门的人员信息
|
||||||
const getPeoples = () => {
|
const getPeoples = () => {
|
||||||
let obj = {
|
let obj = {
|
||||||
keyWord: "",
|
|
||||||
id: 0,
|
|
||||||
org: state.selectedKeys[0],
|
org: state.selectedKeys[0],
|
||||||
pageNo: state.currentPage,
|
pageNo: state.currentPage,
|
||||||
pageSize: state.pageSize,
|
pageSize: state.pageSize,
|
||||||
@@ -569,7 +567,7 @@ export default {
|
|||||||
state.tableDataTotal = 0;
|
state.tableDataTotal = 0;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// console.log("obj", obj);
|
console.log("obj", obj);
|
||||||
api
|
api
|
||||||
.getMemberInfo(obj)
|
.getMemberInfo(obj)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
|
|||||||
@@ -166,42 +166,15 @@ export default {
|
|||||||
setup(props, ctx) {
|
setup(props, ctx) {
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
classTableData: [
|
classTableData: [
|
||||||
{
|
// {
|
||||||
key: "1",
|
// key: "1",
|
||||||
num: "JDF2022071100001",
|
// num: "JDF2022071100001",
|
||||||
name: "时间管理课程",
|
// name: "时间管理课程",
|
||||||
content: "通用力",
|
// content: "通用力",
|
||||||
teacher: "BOE教师",
|
// teacher: "BOE教师",
|
||||||
creator: "管理员",
|
// creator: "管理员",
|
||||||
time: "2022-10-31 23:12:00",
|
// time: "2022-10-31 23:12:00",
|
||||||
},
|
// }
|
||||||
{
|
|
||||||
key: "2",
|
|
||||||
num: "JDF2022071100001",
|
|
||||||
name: "时间管理课程",
|
|
||||||
content: "通用力",
|
|
||||||
teacher: "BOE教师",
|
|
||||||
creator: "管理员",
|
|
||||||
time: "2022-10-31 23:12:00",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: "3",
|
|
||||||
num: "JDF2022071100001",
|
|
||||||
name: "时间管理课程",
|
|
||||||
content: "通用力",
|
|
||||||
teacher: "BOE教师",
|
|
||||||
creator: "管理员",
|
|
||||||
time: "2022-10-31 23:12:00",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: "4",
|
|
||||||
num: "JDF2022071100001",
|
|
||||||
name: "时间管理课程",
|
|
||||||
content: "通用力",
|
|
||||||
teacher: "BOE教师",
|
|
||||||
creator: "管理员",
|
|
||||||
time: "2022-10-31 23:12:00",
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
currentPage: 1,
|
currentPage: 1,
|
||||||
tableDataTotal: null,
|
tableDataTotal: null,
|
||||||
@@ -233,10 +206,10 @@ export default {
|
|||||||
const getClassList = (obj) => {
|
const getClassList = (obj) => {
|
||||||
let objn = obj || {
|
let objn = obj || {
|
||||||
auditStatus: 0,
|
auditStatus: 0,
|
||||||
beginTime: 0,
|
// beginTime: 0,
|
||||||
categoryId: 0,
|
categoryId: 0,
|
||||||
createName: "",
|
createName: "",
|
||||||
endTime: 0,
|
// endTime: 0,
|
||||||
name: "",
|
name: "",
|
||||||
pageNo: state.currentPage,
|
pageNo: state.currentPage,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
@@ -263,10 +236,10 @@ export default {
|
|||||||
let obj = {
|
let obj = {
|
||||||
key: value.offcourseId,
|
key: value.offcourseId,
|
||||||
num: value.offcourseId,
|
num: value.offcourseId,
|
||||||
name: value.name,
|
name: value.name || "-",
|
||||||
teacher: value.teacher,
|
teacher: value.teacher || "-",
|
||||||
creator: value.teacher,
|
creator: value.createName || "-",
|
||||||
time: toDate(value.publishTime / 1000, "Y-M-D"),
|
time: toDate(value.publishTime / 1000, "Y-M-D h:m"),
|
||||||
categoryId: value.categoryId,
|
categoryId: value.categoryId,
|
||||||
//需要判断content
|
//需要判断content
|
||||||
};
|
};
|
||||||
@@ -290,11 +263,11 @@ export default {
|
|||||||
const search = () => {
|
const search = () => {
|
||||||
let obj = {
|
let obj = {
|
||||||
auditStatus: 0,
|
auditStatus: 0,
|
||||||
beginTime: 0,
|
// beginTime: 0,
|
||||||
categoryId: 0, //分类
|
categoryId: 0, //分类
|
||||||
createName: "",
|
createName: "",
|
||||||
endTime: 0,
|
// endTime: 0,
|
||||||
name: "",
|
name: state.valueClass,
|
||||||
pageNo: state.currentPage,
|
pageNo: state.currentPage,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
projectName: "",
|
projectName: "",
|
||||||
|
|||||||
@@ -39,7 +39,7 @@
|
|||||||
<div
|
<div
|
||||||
class="btn btn1"
|
class="btn btn1"
|
||||||
style="margin-right: 20px"
|
style="margin-right: 20px"
|
||||||
@click="searchTaskList"
|
@click="getManageList"
|
||||||
>
|
>
|
||||||
<div class="img1"></div>
|
<div class="img1"></div>
|
||||||
<div class="wz">搜索</div>
|
<div class="wz">搜索</div>
|
||||||
@@ -112,7 +112,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { toRefs, reactive } from "vue";
|
import { toRefs, reactive } from "vue";
|
||||||
import * as api from "../../api/indexTest";
|
import * as api from "../../api/indexExam";
|
||||||
import { message } from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
import { iframeUrl } from "../../api/method";
|
import { iframeUrl } from "../../api/method";
|
||||||
export default {
|
export default {
|
||||||
@@ -131,7 +131,7 @@ export default {
|
|||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
currentPage: 1,
|
currentPage: 1,
|
||||||
tableDataTotal: 0,
|
tableDataTotal: 50,
|
||||||
projectName: "",
|
projectName: "",
|
||||||
tableData: [],
|
tableData: [],
|
||||||
selectedRowKeys: [],
|
selectedRowKeys: [],
|
||||||
@@ -205,7 +205,9 @@ export default {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const onChange = (pageNumber) => {
|
const onChange = (pageNumber) => {
|
||||||
console.log("Page: ", pageNumber);
|
state.pageNo = pageNumber;
|
||||||
|
state.currentPage = pageNumber;
|
||||||
|
getManageList();
|
||||||
};
|
};
|
||||||
|
|
||||||
const onSelectChange = (selectedRowKeys, selectedRows) => {
|
const onSelectChange = (selectedRowKeys, selectedRows) => {
|
||||||
@@ -237,21 +239,16 @@ export default {
|
|||||||
});
|
});
|
||||||
state.tableData = array;
|
state.tableData = array;
|
||||||
};
|
};
|
||||||
//获取任务管理列表
|
//获取选择考试列表
|
||||||
const getManageList = () => {
|
const getManageList = () => {
|
||||||
let obj = {
|
let obj = {
|
||||||
// "keyWord": "",
|
"keyWord": state.inputPname,
|
||||||
// "pageIndex": 0,
|
"pageIndex": state.pageSize,
|
||||||
// "pageSize": 0,
|
"pageSize": state.pageSize,
|
||||||
// "published": true,
|
"published": true
|
||||||
keyWord: "",
|
|
||||||
orderAsc: true,
|
|
||||||
orderFiled: "",
|
|
||||||
pageIndex: 0,
|
|
||||||
pageSize: 0,
|
|
||||||
};
|
};
|
||||||
api
|
api
|
||||||
.queryExaminationPaper(obj)
|
.queryExaminationList(obj)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
getTableDate(res.data.data);
|
getTableDate(res.data.data);
|
||||||
message.success("获取选择考试列表成功");
|
message.success("获取选择考试列表成功");
|
||||||
@@ -262,35 +259,6 @@ export default {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
//搜索任务列表 没接口
|
|
||||||
const searchTaskList = () => {
|
|
||||||
let objser = {
|
|
||||||
name: "",
|
|
||||||
pageNo: state.pageNo,
|
|
||||||
pageSize: state.pageSize,
|
|
||||||
projectId: 27,
|
|
||||||
// projectTaskId: props.projectTaskId,
|
|
||||||
projectTaskId: 370,
|
|
||||||
status: -1,
|
|
||||||
};
|
|
||||||
if (state.name !== "" || state.projectName !== "") {
|
|
||||||
api
|
|
||||||
.taskStudentList(objser)
|
|
||||||
.then((res) => {
|
|
||||||
state.pageNo = res.data.data.pageNo;
|
|
||||||
state.pageSize = res.data.data.pageSize;
|
|
||||||
state.pageSize = res.data.data.pageSize;
|
|
||||||
let newArr = [];
|
|
||||||
for (let i = 0; i < res.data.data.rows.length; i++) {
|
|
||||||
if (res.data.data.rows[i].userInfoBo.userName == state.name)
|
|
||||||
newArr.push(res.data.data.rows[i].userInfoBo);
|
|
||||||
}
|
|
||||||
state.tabledata = newArr;
|
|
||||||
})
|
|
||||||
.catch(() => {});
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
//重置任务列表
|
//重置任务列表
|
||||||
const resetTaskList = () => {
|
const resetTaskList = () => {
|
||||||
state.inputPname = "";
|
state.inputPname = "";
|
||||||
@@ -312,7 +280,6 @@ export default {
|
|||||||
tableDataFunc,
|
tableDataFunc,
|
||||||
onChange,
|
onChange,
|
||||||
getManageList,
|
getManageList,
|
||||||
searchTaskList,
|
|
||||||
resetTaskList,
|
resetTaskList,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -126,7 +126,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import { toRefs, reactive } from "vue";
|
import { toRefs, reactive } from "vue";
|
||||||
import { message } from 'ant-design-vue';
|
import { message } from 'ant-design-vue';
|
||||||
import * as api from "../../api/index";
|
import * as api from "../../api/indexExam";
|
||||||
import CQue from './CheckQue.vue'
|
import CQue from './CheckQue.vue'
|
||||||
export default {
|
export default {
|
||||||
name: "TestManage",
|
name: "TestManage",
|
||||||
@@ -434,15 +434,17 @@ export default {
|
|||||||
//获取任务管理列表
|
//获取任务管理列表
|
||||||
const getManageList = () => {
|
const getManageList = () => {
|
||||||
let obj = {
|
let obj = {
|
||||||
// name: "",
|
aid:0,
|
||||||
pageNo: state.pageNo,
|
orderAsc:'',
|
||||||
pageSize: state.pageSize,
|
orderField:'',
|
||||||
// projectId: 27,
|
pageIndex:1,
|
||||||
projectTaskId: props.projectTaskId,
|
pageSize:10,
|
||||||
status: 0,
|
refId:'',
|
||||||
|
refType:'',
|
||||||
|
testId:''
|
||||||
};
|
};
|
||||||
api
|
api
|
||||||
.taskStudentList(obj)
|
.queryUserAnswerPageDetailList(obj)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
state.pageNo = res.data.data.pageNo;
|
state.pageNo = res.data.data.pageNo;
|
||||||
state.pageSize = res.data.data.pageSize;
|
state.pageSize = res.data.data.pageSize;
|
||||||
@@ -455,34 +457,34 @@ export default {
|
|||||||
};
|
};
|
||||||
|
|
||||||
//搜索任务列表
|
//搜索任务列表
|
||||||
const searchTaskList = () => {
|
// const searchTaskList = () => {
|
||||||
let objser = {
|
// let objser = {
|
||||||
// name: "",
|
// // name: "",
|
||||||
pageNo: state.pageNo,
|
// pageNo: state.pageNo,
|
||||||
pageSize: state.pageSize,
|
// pageSize: state.pageSize,
|
||||||
// projectId: 27,
|
// // projectId: 27,
|
||||||
projectTaskId: props.projectTaskId,
|
// projectTaskId: props.projectTaskId,
|
||||||
status: 0,
|
// status: 0,
|
||||||
};
|
// };
|
||||||
if (state.name !== "" || state.projectName !== "") {
|
// if (state.name !== "" || state.projectName !== "") {
|
||||||
api
|
// api
|
||||||
.taskStudentList(objser)
|
// .taskStudentList(objser)
|
||||||
.then((res) => {
|
// .then((res) => {
|
||||||
state.pageNo = res.data.data.pageNo;
|
// state.pageNo = res.data.data.pageNo;
|
||||||
state.pageSize = res.data.data.pageSize;
|
// state.pageSize = res.data.data.pageSize;
|
||||||
state.pageSize = res.data.data.pageSize;
|
// state.pageSize = res.data.data.pageSize;
|
||||||
let newArr = [];
|
// let newArr = [];
|
||||||
for (let i = 0; i < res.data.data.rows.length; i++) {
|
// for (let i = 0; i < res.data.data.rows.length; i++) {
|
||||||
if (res.data.data.rows[i].userInfoBo.userName == state.name)
|
// if (res.data.data.rows[i].userInfoBo.userName == state.name)
|
||||||
newArr.push(res.data.data.rows[i].userInfoBo);
|
// newArr.push(res.data.data.rows[i].userInfoBo);
|
||||||
}
|
// }
|
||||||
state.tabledata = newArr;
|
// state.tabledata = newArr;
|
||||||
})
|
// })
|
||||||
.catch((err) => {
|
// .catch((err) => {
|
||||||
console.log("搜索任务列表失败", err);
|
// console.log("搜索任务列表失败", err);
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
};
|
// };
|
||||||
|
|
||||||
//重置任务列表
|
//重置任务列表
|
||||||
const resetTaskList = () => {
|
const resetTaskList = () => {
|
||||||
@@ -504,7 +506,7 @@ export default {
|
|||||||
godie,
|
godie,
|
||||||
onChange,
|
onChange,
|
||||||
getManageList,
|
getManageList,
|
||||||
searchTaskList,
|
// searchTaskList,
|
||||||
resetTaskList,
|
resetTaskList,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@@ -666,7 +668,7 @@ export default {
|
|||||||
background-color: #eff4fc !important;
|
background-color: #eff4fc !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
th,th.h {
|
th.h {
|
||||||
background-color: #eff4fc !important;
|
background-color: #eff4fc !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,20 +26,20 @@ export function traverseArr(arr, traverseObj, saveOld = false) {
|
|||||||
return newArr;
|
return newArr;
|
||||||
}
|
}
|
||||||
|
|
||||||
// export function deepClone(obj) {
|
export function deepClone(obj) {
|
||||||
// let result = typeof obj.splice === "function" ? [] : {};
|
let result = typeof obj.splice === "function" ? [] : {};
|
||||||
// if (obj && typeof obj === "object") {
|
if (obj && typeof obj === "object") {
|
||||||
// for (let key in obj) {
|
for (let key in obj) {
|
||||||
// if (obj[key] && typeof obj[key] === "object") {
|
if (obj[key] && typeof obj[key] === "object") {
|
||||||
// result[key] = deepClone(obj[key]);
|
result[key] = deepClone(obj[key]);
|
||||||
// } else {
|
} else {
|
||||||
// result[key] = obj[key];
|
result[key] = obj[key];
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
// return result;
|
return result;
|
||||||
// }
|
}
|
||||||
// return obj;
|
return obj;
|
||||||
// }
|
}
|
||||||
|
|
||||||
export function deepCloneFilterString(obj, fillterKeys) {
|
export function deepCloneFilterString(obj, fillterKeys) {
|
||||||
let result = typeof obj.splice === "function" ? [] : {};
|
let result = typeof obj.splice === "function" ? [] : {};
|
||||||
@@ -95,6 +95,14 @@ export function getdateToTime(date) {
|
|||||||
return `${y}-${m < 10 ? "0" + m : m}-${d < 10 ? "0" + d : d} ${hh}:${mm}`;
|
return `${y}-${m < 10 ? "0" + m : m}-${d < 10 ? "0" + d : d} ${hh}:${mm}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function getdateToDate(date) {
|
||||||
|
let now = new Date(parseInt(date)),
|
||||||
|
y = now.getFullYear(),
|
||||||
|
m = now.getMonth() + 1,
|
||||||
|
d = now.getDate();
|
||||||
|
return `${y}${m < 10 ? "0" + m : m}${d < 10 ? "0" + d : d}`;
|
||||||
|
}
|
||||||
|
|
||||||
//计算两个时间之间的时间差 多少天时分秒
|
//计算两个时间之间的时间差 多少天时分秒
|
||||||
export function intervalTime(startTime) {
|
export function intervalTime(startTime) {
|
||||||
const curTime = new Date().getTime(); //计算当前时间戳
|
const curTime = new Date().getTime(); //计算当前时间戳
|
||||||
@@ -117,3 +125,47 @@ export function intervalTime(startTime) {
|
|||||||
seconds,
|
seconds,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 分片处理
|
||||||
|
export function batchLoadList(
|
||||||
|
sourceData,
|
||||||
|
dataTotal,
|
||||||
|
splitNumber = 10,
|
||||||
|
callback,
|
||||||
|
complete
|
||||||
|
) {
|
||||||
|
if (sourceData.length <= splitNumber) {
|
||||||
|
typeof callback === "function" && callback(sourceData);
|
||||||
|
typeof callback === "function" && complete();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let first = 0;
|
||||||
|
const intTime = parseInt(String(dataTotal / splitNumber));
|
||||||
|
const floatTime = sourceData.length % splitNumber;
|
||||||
|
const total = intTime + (floatTime > 0 ? 1 : 0);
|
||||||
|
for (let i = 0; i < total; i += 1) {
|
||||||
|
const end = first + splitNumber;
|
||||||
|
const splitArray = sourceData.slice(first, end);
|
||||||
|
setTimeout(() => {
|
||||||
|
typeof callback === "function" && callback(splitArray);
|
||||||
|
if (i === total - 1) {
|
||||||
|
// 分片处理完成
|
||||||
|
typeof callback === "function" && complete();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
first = end;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export function newFile(code) {
|
||||||
|
const blob = new Blob([code], {
|
||||||
|
type: "application/vnd.ms-excel",
|
||||||
|
});
|
||||||
|
const linkNode = document.createElement("a");
|
||||||
|
linkNode.style.display = "none";
|
||||||
|
linkNode.href = URL.createObjectURL(blob); //生成一个Blob URL
|
||||||
|
document.body.appendChild(linkNode);
|
||||||
|
linkNode.click(); //模拟在按钮上的一次鼠标单击
|
||||||
|
URL.revokeObjectURL(linkNode.href); // 释放URL 对象
|
||||||
|
document.body.removeChild(linkNode);
|
||||||
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* @Author: lixg lixg@dongwu-inc.com
|
* @Author: lixg lixg@dongwu-inc.com
|
||||||
* @Date: 2022-11-09 09:26:26
|
* @Date: 2022-11-09 09:26:26
|
||||||
* @LastEditors: lixg lixg@dongwu-inc.com
|
* @LastEditors: lixg lixg@dongwu-inc.com
|
||||||
* @LastEditTime: 2022-11-24 16:16:10
|
* @LastEditTime: 2022-11-25 17:35:53
|
||||||
* @FilePath: /fe-manage/src/views/courselibrary/CourseManage.vue
|
* @FilePath: /fe-manage/src/views/courselibrary/CourseManage.vue
|
||||||
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
-->
|
-->
|
||||||
@@ -13,8 +13,10 @@
|
|||||||
id="iframe"
|
id="iframe"
|
||||||
style="width: 100%; height: 100%"
|
style="width: 100%; height: 100%"
|
||||||
:src="iframeUrl + '/course/coursewares'"
|
:src="iframeUrl + '/course/coursewares'"
|
||||||
|
frameborder="0"
|
||||||
name="myframe"
|
name="myframe"
|
||||||
sandbox="allow-forms allow-scripts allow-same-origin allow-popups"
|
security="restricted"
|
||||||
|
sandbox=""
|
||||||
></iframe>
|
></iframe>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -167,7 +167,7 @@ export default {
|
|||||||
key: "opt",
|
key: "opt",
|
||||||
align: "center",
|
align: "center",
|
||||||
customRender: () => {
|
customRender: () => {
|
||||||
return <div>审核日志</div>;
|
return <div style="color:#387DF7">审核日志</div>;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@@ -198,7 +198,9 @@ export default {
|
|||||||
console.log("获取已审核课程成功", res.data.data);
|
console.log("获取已审核课程成功", res.data.data);
|
||||||
let result = res.data.data.rows;
|
let result = res.data.data.rows;
|
||||||
state.total = res.data.data.total;
|
state.total = res.data.data.total;
|
||||||
|
if (res.data.data.total > 0) {
|
||||||
setTableData(result);
|
setTableData(result);
|
||||||
|
}
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.log("获取已审核课程失败", err);
|
console.log("获取已审核课程失败", err);
|
||||||
@@ -210,13 +212,22 @@ export default {
|
|||||||
data.map((item) => {
|
data.map((item) => {
|
||||||
let obj = {
|
let obj = {
|
||||||
number: item.offcourseId,
|
number: item.offcourseId,
|
||||||
name: item.name,
|
name: item.name || "- ",
|
||||||
type: item.type == 1 ? "线上" : "线下",
|
type: item.type == 1 ? "线上" : "线下",
|
||||||
content: item.categoryId,
|
content: item.categoryId,
|
||||||
status: item.auditStatus == 2 ? "通过" : "拒绝",
|
status:
|
||||||
|
item.auditStatus == 0
|
||||||
|
? "未提交"
|
||||||
|
: item.auditStatus == 1
|
||||||
|
? "提交待审核"
|
||||||
|
: item.auditStatus == 2
|
||||||
|
? "通过"
|
||||||
|
: item.auditStatus == -1
|
||||||
|
? "拒绝"
|
||||||
|
: "-",
|
||||||
creater: item.createName,
|
creater: item.createName,
|
||||||
time: "-",
|
time: "-",
|
||||||
msg: item.description,
|
msg: item.description || "-",
|
||||||
};
|
};
|
||||||
array.push(obj);
|
array.push(obj);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -500,7 +500,7 @@ export default {
|
|||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<span
|
<span
|
||||||
style="cursor:pointer"
|
style="cursor:pointer;color:#387DF7"
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
showAudit(
|
showAudit(
|
||||||
value.record.createId,
|
value.record.createId,
|
||||||
@@ -512,7 +512,7 @@ export default {
|
|||||||
审核
|
审核
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span style="cursor:pointer">预览</span>
|
<span style="cursor:pointer;color:#387DF7">预览</span>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
@@ -529,10 +529,10 @@ export default {
|
|||||||
const getFaceList = (obj) => {
|
const getFaceList = (obj) => {
|
||||||
let objn = obj || {
|
let objn = obj || {
|
||||||
auditStatus: 1,
|
auditStatus: 1,
|
||||||
beginTime: 0,
|
// beginTime: 0,
|
||||||
categoryId: 0,
|
categoryId: 0,
|
||||||
createName: "",
|
createName: "",
|
||||||
endTime: 0,
|
// endTime: 0,
|
||||||
name: "",
|
name: "",
|
||||||
pageNo: state.currentPage,
|
pageNo: state.currentPage,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
@@ -560,10 +560,19 @@ export default {
|
|||||||
name: item.name,
|
name: item.name,
|
||||||
type: item.type == 1 ? "线上" : "线下",
|
type: item.type == 1 ? "线上" : "线下",
|
||||||
content: item.categoryId,
|
content: item.categoryId,
|
||||||
status: "待审核",
|
status:
|
||||||
|
item.status == 0
|
||||||
|
? "未提交"
|
||||||
|
: item.status == 1
|
||||||
|
? "待审核"
|
||||||
|
: item.status == 2
|
||||||
|
? "通过"
|
||||||
|
: item.status == -1
|
||||||
|
? "拒绝"
|
||||||
|
: "-",
|
||||||
change: "-",
|
change: "-",
|
||||||
creater: item.createName,
|
creater: item.createName,
|
||||||
time: toDate(item.createTime, "Y-M-D h-m"),
|
time: toDate(item.createTime, "Y-M-D h:m"),
|
||||||
createrId: item.createId,
|
createrId: item.createId,
|
||||||
offId: item.offcourseId,
|
offId: item.offcourseId,
|
||||||
};
|
};
|
||||||
@@ -580,10 +589,11 @@ export default {
|
|||||||
const search = () => {
|
const search = () => {
|
||||||
let obj = {
|
let obj = {
|
||||||
auditStatus: 1,
|
auditStatus: 1,
|
||||||
beginTime: 0,
|
// beginTime: 0,
|
||||||
categoryId: state.valueproj,
|
// categoryId: state.valueproj,
|
||||||
|
categoryId: 0,
|
||||||
createName: state.valuecreater,
|
createName: state.valuecreater,
|
||||||
endTime: 0,
|
// endTime: 0,
|
||||||
name: state.valuename,
|
name: state.valuename,
|
||||||
pageNo: state.currentPage,
|
pageNo: state.currentPage,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
|
|||||||
@@ -242,7 +242,7 @@ export default {
|
|||||||
onClick={() => {
|
onClick={() => {
|
||||||
showProjAuditModal(value.record.id);
|
showProjAuditModal(value.record.id);
|
||||||
}}
|
}}
|
||||||
style="cursor:pointer"
|
style="cursor:pointer;color:#387DF7"
|
||||||
>
|
>
|
||||||
审核日志
|
审核日志
|
||||||
</span>
|
</span>
|
||||||
@@ -330,11 +330,24 @@ export default {
|
|||||||
// 需要加上
|
// 需要加上
|
||||||
// name: getName(item),
|
// name: getName(item),
|
||||||
// belong: getBelong(item),
|
// belong: getBelong(item),
|
||||||
manager: item.manager,
|
manager: item.manager || "-",
|
||||||
status: item.status == 2 ? "通过" : "拒绝",
|
status:
|
||||||
|
item.status == 0
|
||||||
|
? "草稿"
|
||||||
|
: item.status == 1
|
||||||
|
? "待审核"
|
||||||
|
: item.status == 2
|
||||||
|
? "通过"
|
||||||
|
: item.status == 3
|
||||||
|
? "发布"
|
||||||
|
: item.status == -1
|
||||||
|
? "已结束"
|
||||||
|
: item.status == -2
|
||||||
|
? "拒绝"
|
||||||
|
: "-",
|
||||||
creater: item.createName,
|
creater: item.createName,
|
||||||
time: toDate(item.beginTime, "Y-M-D h-m"),
|
time: toDate(item.beginTime, "Y-M-D h:m"),
|
||||||
msg: item.description,
|
msg: item.description || "-",
|
||||||
id: item.projectId,
|
id: item.projectId,
|
||||||
};
|
};
|
||||||
array.push(obj);
|
array.push(obj);
|
||||||
|
|||||||
@@ -194,7 +194,7 @@ export default {
|
|||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<span
|
<span
|
||||||
style="cursor:pointer"
|
style="cursor:pointer;color:#387DF7"
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
showProjAudit(
|
showProjAudit(
|
||||||
value.record.projectId,
|
value.record.projectId,
|
||||||
@@ -260,8 +260,21 @@ export default {
|
|||||||
number: item.projectId,
|
number: item.projectId,
|
||||||
name: getName(item),
|
name: getName(item),
|
||||||
belong: getBelong(item),
|
belong: getBelong(item),
|
||||||
manager: item.manager,
|
manager: item.manager || "-",
|
||||||
status: "待审核",
|
status:
|
||||||
|
item.status == 0
|
||||||
|
? "草稿"
|
||||||
|
: item.status == 1
|
||||||
|
? "待审核"
|
||||||
|
: item.status == 2
|
||||||
|
? "通过"
|
||||||
|
: item.status == 3
|
||||||
|
? "发布"
|
||||||
|
: item.status == -1
|
||||||
|
? "已结束"
|
||||||
|
: item.status == -2
|
||||||
|
? "拒绝"
|
||||||
|
: "-",
|
||||||
creater: item.createName,
|
creater: item.createName,
|
||||||
time: toDate(item.createTime, "Y-M-D h-m"),
|
time: toDate(item.createTime, "Y-M-D h-m"),
|
||||||
projectId: item.projectId,
|
projectId: item.projectId,
|
||||||
|
|||||||
@@ -589,7 +589,7 @@
|
|||||||
<!-- 管理权抽屉 -->
|
<!-- 管理权抽屉 -->
|
||||||
<manage-right v-model:Managevisible="Managevisible" />
|
<manage-right v-model:Managevisible="Managevisible" />
|
||||||
<!-- 授权名单抽屉 -->
|
<!-- 授权名单抽屉 -->
|
||||||
<power-list v-model:PLvisible="PLvisible" />
|
<power-list v-model:PLvisible="PLvisible" :selectPathId="selectPathId" />
|
||||||
|
|
||||||
<!-- 创建路径loading -->
|
<!-- 创建路径loading -->
|
||||||
|
|
||||||
@@ -646,7 +646,11 @@ import QueryRight from "../../components/drawers/QueryRight";
|
|||||||
import ManageRight from "../../components/drawers/ManageRight";
|
import ManageRight from "../../components/drawers/ManageRight";
|
||||||
import * as api from "../../api/index1";
|
import * as api from "../../api/index1";
|
||||||
import { message } from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
import { toDate, commonData } from "../../api/method";
|
import {
|
||||||
|
toDate,
|
||||||
|
commonData,
|
||||||
|
// setCookie
|
||||||
|
} from "../../api/method";
|
||||||
import { storage } from "../../api/storage";
|
import { storage } from "../../api/storage";
|
||||||
export default {
|
export default {
|
||||||
name: "learningPath",
|
name: "learningPath",
|
||||||
@@ -858,6 +862,8 @@ export default {
|
|||||||
|
|
||||||
lpLoading: false,
|
lpLoading: false,
|
||||||
learnBgMore: false, //是否显示更多学习路径背景
|
learnBgMore: false, //是否显示更多学习路径背景
|
||||||
|
|
||||||
|
selectPathId: null, //选择的
|
||||||
});
|
});
|
||||||
const selectProjectName = (value, index) => {
|
const selectProjectName = (value, index) => {
|
||||||
console.log("value", value, index);
|
console.log("value", value, index);
|
||||||
@@ -1035,8 +1041,9 @@ export default {
|
|||||||
const showOwner = () => {
|
const showOwner = () => {
|
||||||
state.Ownervisible = true;
|
state.Ownervisible = true;
|
||||||
};
|
};
|
||||||
const showPower = () => {
|
const showPower = (id) => {
|
||||||
state.PLvisible = true;
|
state.PLvisible = true;
|
||||||
|
state.selectPathId = id;
|
||||||
};
|
};
|
||||||
const showQuery = () => {
|
const showQuery = () => {
|
||||||
state.Queryvisible = true;
|
state.Queryvisible = true;
|
||||||
@@ -1228,7 +1235,7 @@ export default {
|
|||||||
<a-select-option value="权限名单" label="权限名单">
|
<a-select-option value="权限名单" label="权限名单">
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
showPower();
|
showPower(text.record.id);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
权限名单
|
权限名单
|
||||||
@@ -1642,6 +1649,9 @@ export default {
|
|||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
// console.log("执行");
|
// console.log("执行");
|
||||||
getLearnPath();
|
getLearnPath();
|
||||||
|
// let cookie =
|
||||||
|
// "eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC91LmJvZS5jb20iLCJpYXQiOjE2NjkzNjI4OTAsImV4cCI6MTY2OTM3MDA5MCwiR2l2ZW5OYW1lIjoiYm9ldSIsInVzZXJJZCI6IjZCMDQ5RkFGLUMzMTQtN0NDRi0wRDI4LTBEMjNGNEM0MjUzMSIsInVJZCI6Ijk2NTM0MjAyNzQ5NzYwNzE2OCIsInBlcm1pc3Npb24iOiIifQ==.2e68ae110cf0e8f157d8312301c0ca8104d6ec2a2a294052d5497c06019ed3d8";
|
||||||
|
// setCookie("token", cookie, 10);
|
||||||
});
|
});
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -272,13 +272,14 @@
|
|||||||
</div>
|
</div>
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
<a-tab-pane key="2" tab="公告" force-render>
|
<a-tab-pane key="2" tab="公告" force-render>
|
||||||
<div class="notice">
|
|
||||||
<div class="split"></div>
|
<div class="split"></div>
|
||||||
<div class="ntc_tit"><span>公告</span></div>
|
<a-tabs v-model:activeKey="activeKeyNotice">
|
||||||
<hr color="#E8E8E8" />
|
<a-tab-pane key="11" tab="公告">
|
||||||
|
<div class="notice">
|
||||||
<div class="ntc_body">
|
<div class="ntc_body">
|
||||||
<div class="ntc_switch">
|
<div class="ntc_switch">
|
||||||
<a-switch v-model:checked="checked" @click="changeopclo" />
|
<a-switch size="small" v-model:checked="checked" @click="changeopclo" />
|
||||||
<div
|
<div
|
||||||
class="opclo"
|
class="opclo"
|
||||||
:style="{ display: hideshow ? 'block' : 'none' }"
|
:style="{ display: hideshow ? 'block' : 'none' }"
|
||||||
@@ -316,6 +317,10 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
|
|
||||||
|
</a-tabs>
|
||||||
|
|
||||||
|
</a-tab-pane>
|
||||||
<a-tab-pane key="3" tab="项目积分">
|
<a-tab-pane key="3" tab="项目积分">
|
||||||
<div class="split"></div>
|
<div class="split"></div>
|
||||||
<div class="projectscore">
|
<div class="projectscore">
|
||||||
@@ -326,7 +331,7 @@
|
|||||||
<div class="pjc_body">
|
<div class="pjc_body">
|
||||||
<div class="groupright">
|
<div class="groupright">
|
||||||
<div class="spandiv"><span class="spantext">规则</span></div>
|
<div class="spandiv"><span class="spantext">规则</span></div>
|
||||||
<div v-if="edit" class="btns">
|
<div v-if="edit" class="btns" style="display:none">
|
||||||
<div class="btn1" @click="edit = !edit">
|
<div class="btn1" @click="edit = !edit">
|
||||||
<img src="../../assets/images/projectadd/edit1.png" />
|
<img src="../../assets/images/projectadd/edit1.png" />
|
||||||
<span class="btn1text">编辑</span>
|
<span class="btn1text">编辑</span>
|
||||||
@@ -646,11 +651,9 @@ import { message } from "ant-design-vue";
|
|||||||
import * as api from "@/api/indexTemplate"
|
import * as api from "@/api/indexTemplate"
|
||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
import {scoreRule,setScoreRule} from "@/api/indexTaskadd"
|
import {scoreRule,setScoreRule} from "@/api/indexTaskadd"
|
||||||
import { useStore } from "vuex";
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: "LibraryAdd",
|
name: "LibraryAdd",
|
||||||
setup() {
|
setup() {
|
||||||
const store = useStore();
|
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
//任务大纲列表
|
//任务大纲列表
|
||||||
taskSyllabus: [
|
taskSyllabus: [
|
||||||
@@ -812,6 +815,9 @@ export default defineComponent({
|
|||||||
level: null,
|
level: null,
|
||||||
systemId: null,
|
systemId: null,
|
||||||
boeFlag: false,
|
boeFlag: false,
|
||||||
|
status:null,
|
||||||
|
picUrl: null,
|
||||||
|
noticeFlag: null,
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
const value = ref("");
|
const value = ref("");
|
||||||
@@ -875,12 +881,12 @@ export default defineComponent({
|
|||||||
});
|
});
|
||||||
// 获取详情
|
// 获取详情
|
||||||
const getDetail = () => {
|
const getDetail = () => {
|
||||||
api.templateDetail(store.state.projectTemplateId).then(res => {
|
api.templateDetail(localStorage.getItem('projectTemplateId')).then(res => {
|
||||||
state.taskSyllabus = []
|
state.taskSyllabus = []
|
||||||
console.log(res);
|
console.log(res);
|
||||||
state.projectInfo.name = res.data.data.projectTemplateInfo.name
|
state.projectInfo.name = res.data.data.projectTemplateInfo.name
|
||||||
let time = new Date(Number(res.data.data.projectTemplateInfo.createTime))
|
state.projectInfo.beginTime = res.data.data.projectTemplateInfo.beginTime
|
||||||
state.projectInfo.beginTime = time.toLocaleDateString()
|
state.projectInfo.endTime = res.data.data.projectTemplateInfo.endTime
|
||||||
state.projectInfo.manager = res.data.data.projectTemplateInfo.manager
|
state.projectInfo.manager = res.data.data.projectTemplateInfo.manager
|
||||||
state.projectInfo.notice = res.data.data.projectTemplateInfo.notice
|
state.projectInfo.notice = res.data.data.projectTemplateInfo.notice
|
||||||
state.projectInfo.sourceBelongId = res.data.data.projectTemplateInfo.sourceBelongId
|
state.projectInfo.sourceBelongId = res.data.data.projectTemplateInfo.sourceBelongId
|
||||||
@@ -890,6 +896,9 @@ export default defineComponent({
|
|||||||
state.projectInfo.level = res.data.data.projectTemplateInfo.level
|
state.projectInfo.level = res.data.data.projectTemplateInfo.level
|
||||||
state.projectInfo.systemId = res.data.data.projectTemplateInfo.systemId
|
state.projectInfo.systemId = res.data.data.projectTemplateInfo.systemId
|
||||||
state.projectInfo.boeFlag = res.data.data.projectTemplateInfo.boeFlag
|
state.projectInfo.boeFlag = res.data.data.projectTemplateInfo.boeFlag
|
||||||
|
state.projectInfo.noticeFlag = res.data.data.projectTemplateInfo.noticeFlag
|
||||||
|
state.projectInfo.remark = res.data.data.projectTemplateInfo.remark
|
||||||
|
state.projectInfo.status = res.data.data.projectTemplateInfo.status
|
||||||
state.projectInfo.picUrl = res.data.data.projectTemplateInfo.picUrl
|
state.projectInfo.picUrl = res.data.data.projectTemplateInfo.picUrl
|
||||||
let data = res.data.data.stageList;
|
let data = res.data.data.stageList;
|
||||||
for(let i in data) {
|
for(let i in data) {
|
||||||
@@ -917,9 +926,9 @@ export default defineComponent({
|
|||||||
let obj = {
|
let obj = {
|
||||||
"name": state.projectInfo.name,
|
"name": state.projectInfo.name,
|
||||||
"category": state.projectInfo.category,
|
"category": state.projectInfo.category,
|
||||||
"picUrl": "x",
|
"picUrl": state.projectInfo.picUrl,
|
||||||
"beginTime": Number(state. projectInfo.beginTime) || 1,
|
"beginTime": new Date(state.projectInfo.beginTime).getTime(),
|
||||||
"endTime": 1,
|
"endTime": new Date(state.projectInfo.endTime).getTime(),
|
||||||
"manager": state.projectInfo.manager,
|
"manager": state.projectInfo.manager,
|
||||||
"managerId": state.projectInfo.managerId || 0,
|
"managerId": state.projectInfo.managerId || 0,
|
||||||
"sourceBelongId": state.projectInfo.sourceBelongId,
|
"sourceBelongId": state.projectInfo.sourceBelongId,
|
||||||
@@ -929,7 +938,7 @@ export default defineComponent({
|
|||||||
"courseSyncFlag": state.projectInfo.courseSyncFlag? 1:0,
|
"courseSyncFlag": state.projectInfo.courseSyncFlag? 1:0,
|
||||||
"notice": state.projectInfo.notice,
|
"notice": state.projectInfo.notice,
|
||||||
"noticeFlag": 0,
|
"noticeFlag": 0,
|
||||||
"projectTemplateId": store.state.projectTemplateId,
|
"projectTemplateId": localStorage.getItem('projectTemplateId'),
|
||||||
"remark": "",
|
"remark": "",
|
||||||
"status": 0,
|
"status": 0,
|
||||||
};
|
};
|
||||||
@@ -976,7 +985,7 @@ export default defineComponent({
|
|||||||
const stateEdit = () => {
|
const stateEdit = () => {
|
||||||
let obj={
|
let obj={
|
||||||
"name": "",
|
"name": "",
|
||||||
"projectTemplateId": store.state.projectTemplateId,
|
"projectTemplateId": localStorage.getItem('projectTemplateId'),
|
||||||
"remark": "",
|
"remark": "",
|
||||||
"stageId": 0
|
"stageId": 0
|
||||||
}
|
}
|
||||||
@@ -996,7 +1005,7 @@ export default defineComponent({
|
|||||||
"flag": true,
|
"flag": true,
|
||||||
"name": "",
|
"name": "",
|
||||||
"projectTaskId": 0,
|
"projectTaskId": 0,
|
||||||
"projectTemplateId": store.state.projectTemplateId,
|
"projectTemplateId": localStorage.getItem('projectTemplateId'),
|
||||||
"stageId": 0,
|
"stageId": 0,
|
||||||
"type": 0
|
"type": 0
|
||||||
}
|
}
|
||||||
@@ -1010,7 +1019,7 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
const getScoreRule = () => {
|
const getScoreRule = () => {
|
||||||
scoreRule({
|
scoreRule({
|
||||||
projectId: store.state.projectTemplateId,
|
projectId: localStorage.getItem('projectTemplateId'),
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log("获取了项目积分规则", res.data.data);
|
console.log("获取了项目积分规则", res.data.data);
|
||||||
@@ -1065,7 +1074,7 @@ export default defineComponent({
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
leaderScore: state.seven1,
|
leaderScore: state.seven1,
|
||||||
projectId: store.state.projectTemplateId,
|
projectId: localStorage.getItem('projectTemplateId'),
|
||||||
signScore: state.six1,
|
signScore: state.six1,
|
||||||
topCompleteCourseItem: [
|
topCompleteCourseItem: [
|
||||||
{
|
{
|
||||||
@@ -1607,7 +1616,7 @@ export default defineComponent({
|
|||||||
|
|
||||||
}
|
}
|
||||||
.ntc_body {
|
.ntc_body {
|
||||||
margin-left: 34px;
|
margin-left: 35px;
|
||||||
margin-right: 34px;
|
margin-right: 34px;
|
||||||
.ntc_switch {
|
.ntc_switch {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@@ -195,7 +195,7 @@
|
|||||||
tree-default-expand-all
|
tree-default-expand-all
|
||||||
:tree-data="classifyList2"
|
:tree-data="classifyList2"
|
||||||
:fieldNames="{
|
:fieldNames="{
|
||||||
children: 'children',
|
children: 'treeChildList',
|
||||||
label: 'name',
|
label: 'name',
|
||||||
value: 'id',
|
value: 'id',
|
||||||
}"
|
}"
|
||||||
@@ -769,6 +769,7 @@ export default {
|
|||||||
{ value: 2, label: "将小米" },
|
{ value: 2, label: "将小米" },
|
||||||
{ value: 3, label: "刘孟君" },
|
{ value: 3, label: "刘孟君" },
|
||||||
]);
|
]);
|
||||||
|
//获取
|
||||||
|
|
||||||
//选择处理项目经理
|
//选择处理项目经理
|
||||||
let manager = "";
|
let manager = "";
|
||||||
|
|||||||
@@ -1124,7 +1124,10 @@
|
|||||||
:selectProjectId="selectProjectId"
|
:selectProjectId="selectProjectId"
|
||||||
/>
|
/>
|
||||||
<!-- 授权名单抽屉 -->
|
<!-- 授权名单抽屉 -->
|
||||||
<proj-power-list v-model:ProjPvisible="ProjPvisible" />
|
<proj-power-list
|
||||||
|
v-model:ProjPvisible="ProjPvisible"
|
||||||
|
:selectProjectId="selectProjectId"
|
||||||
|
/>
|
||||||
<!-- 查看权抽屉 -->
|
<!-- 查看权抽屉 -->
|
||||||
<proj-check-ship
|
<proj-check-ship
|
||||||
v-model:ProjCheckvisible="ProjCheckvisible"
|
v-model:ProjCheckvisible="ProjCheckvisible"
|
||||||
@@ -2253,7 +2256,7 @@ export default {
|
|||||||
<a-select-option value="权限名单" label="权限名单">
|
<a-select-option value="权限名单" label="权限名单">
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
showProjPrower();
|
showProjPrower(value.record.projectId);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
权限名单
|
权限名单
|
||||||
@@ -2273,7 +2276,7 @@ export default {
|
|||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
console.log("点击了111");
|
console.log("点击了111");
|
||||||
showProjCheck();
|
showProjCheck(value.record.projectId);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
查看权
|
查看权
|
||||||
@@ -2355,7 +2358,7 @@ export default {
|
|||||||
<a-select-option value="权限名单" label="权限名单">
|
<a-select-option value="权限名单" label="权限名单">
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
showProjPrower();
|
showProjPrower(value.record.projectId);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
权限名单
|
权限名单
|
||||||
@@ -2375,7 +2378,7 @@ export default {
|
|||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
console.log("点击了111");
|
console.log("点击了111");
|
||||||
showProjCheck();
|
showProjCheck(value.record.projectId);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
查看权
|
查看权
|
||||||
@@ -2444,7 +2447,7 @@ export default {
|
|||||||
<a-select-option value="权限名单" label="权限名单">
|
<a-select-option value="权限名单" label="权限名单">
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
showProjPrower();
|
showProjPrower(value.record.projectId);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
权限名单
|
权限名单
|
||||||
@@ -2464,7 +2467,7 @@ export default {
|
|||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
console.log("点击了111");
|
console.log("点击了111");
|
||||||
showProjCheck();
|
showProjCheck(value.record.projectId);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
查看权
|
查看权
|
||||||
@@ -2565,7 +2568,7 @@ export default {
|
|||||||
<a-select-option value="权限名单" label="权限名单">
|
<a-select-option value="权限名单" label="权限名单">
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
showProjPrower();
|
showProjPrower(value.record.projectId);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
权限名单
|
权限名单
|
||||||
@@ -2585,7 +2588,7 @@ export default {
|
|||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
console.log("点击了111");
|
console.log("点击了111");
|
||||||
showProjCheck();
|
showProjCheck(value.record.projectId);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
查看权
|
查看权
|
||||||
@@ -2659,7 +2662,7 @@ export default {
|
|||||||
<a-select-option value="权限名单" label="权限名单">
|
<a-select-option value="权限名单" label="权限名单">
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
showProjPrower();
|
showProjPrower(value.record.projectId);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
权限名单
|
权限名单
|
||||||
@@ -2679,7 +2682,7 @@ export default {
|
|||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
console.log("点击了111");
|
console.log("点击了111");
|
||||||
showProjCheck();
|
showProjCheck(value.record.projectId);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
查看权
|
查看权
|
||||||
@@ -2732,7 +2735,7 @@ export default {
|
|||||||
<a-select-option value="权限名单" label="权限名单">
|
<a-select-option value="权限名单" label="权限名单">
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
showProjPrower();
|
showProjPrower(value.record.projectId);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
权限名单
|
权限名单
|
||||||
@@ -2752,7 +2755,7 @@ export default {
|
|||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
console.log("点击了111");
|
console.log("点击了111");
|
||||||
showProjCheck();
|
showProjCheck(value.record.projectId);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
查看权
|
查看权
|
||||||
@@ -2906,7 +2909,7 @@ export default {
|
|||||||
<a-select-option value="权限名单" label="权限名单">
|
<a-select-option value="权限名单" label="权限名单">
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
showProjPrower();
|
showProjPrower(value.record.projectId);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
权限名单
|
权限名单
|
||||||
@@ -2926,7 +2929,7 @@ export default {
|
|||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
console.log("点击了111");
|
console.log("点击了111");
|
||||||
showProjCheck();
|
showProjCheck(value.record.projectId);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
查看权
|
查看权
|
||||||
@@ -3257,10 +3260,12 @@ export default {
|
|||||||
state.ProjOwnervisible = true;
|
state.ProjOwnervisible = true;
|
||||||
state.selectProjectId = id;
|
state.selectProjectId = id;
|
||||||
};
|
};
|
||||||
const showProjPrower = () => {
|
const showProjPrower = (id) => {
|
||||||
|
state.selectProjectId = id;
|
||||||
state.ProjPvisible = true;
|
state.ProjPvisible = true;
|
||||||
};
|
};
|
||||||
const showProjCheck = () => {
|
const showProjCheck = (id) => {
|
||||||
|
state.selectProjectId = id;
|
||||||
state.ProjCheckvisible = true;
|
state.ProjCheckvisible = true;
|
||||||
};
|
};
|
||||||
const showProjManage = () => {
|
const showProjManage = () => {
|
||||||
|
|||||||
@@ -48,7 +48,6 @@
|
|||||||
import { reactive, defineComponent, toRefs, onMounted } from "vue";
|
import { reactive, defineComponent, toRefs, onMounted } from "vue";
|
||||||
import { message } from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
import { useStore } from "vuex";
|
|
||||||
import * as api from "@/api/indexTemplate"
|
import * as api from "@/api/indexTemplate"
|
||||||
|
|
||||||
const columns1 = [
|
const columns1 = [
|
||||||
@@ -93,7 +92,6 @@ const columns1 = [
|
|||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: "TemplateLibrary",
|
name: "TemplateLibrary",
|
||||||
setup() {
|
setup() {
|
||||||
const store = useStore();
|
|
||||||
// 编辑页面跳转过来时候,自动填充表格
|
// 编辑页面跳转过来时候,自动填充表格
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
@@ -101,7 +99,7 @@ export default defineComponent({
|
|||||||
time:null,
|
time:null,
|
||||||
currentPage: 1,
|
currentPage: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
total:0,
|
total:50,
|
||||||
tableData1: [
|
tableData1: [
|
||||||
{
|
{
|
||||||
key: "1",
|
key: "1",
|
||||||
@@ -244,7 +242,7 @@ export default defineComponent({
|
|||||||
};
|
};
|
||||||
const toLibraryAdd = (id) => {
|
const toLibraryAdd = (id) => {
|
||||||
router.push("/libraryAdd");
|
router.push("/libraryAdd");
|
||||||
store.state.projectTemplateId = id
|
localStorage.setItem("projectTemplateId",id);
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -1045,7 +1045,6 @@
|
|||||||
import draggable from "vuedraggable";
|
import draggable from "vuedraggable";
|
||||||
import { storage } from "../../api/storage";
|
import { storage } from "../../api/storage";
|
||||||
import UnlockMode from "../../components/drawers/UnlockMode.vue";
|
import UnlockMode from "../../components/drawers/UnlockMode.vue";
|
||||||
import {useStore} from "vuex";
|
|
||||||
// import * as api1 from "../../api/index1";
|
// import * as api1 from "../../api/index1";
|
||||||
|
|
||||||
const drawercolumns = [
|
const drawercolumns = [
|
||||||
@@ -1106,7 +1105,6 @@
|
|||||||
UnlockMode,
|
UnlockMode,
|
||||||
},
|
},
|
||||||
setup() {
|
setup() {
|
||||||
const store = useStore();
|
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
projectId: storage.get("projectId")
|
projectId: storage.get("projectId")
|
||||||
? JSON.parse(storage.get("projectId"))
|
? JSON.parse(storage.get("projectId"))
|
||||||
@@ -1509,7 +1507,7 @@
|
|||||||
const getTask = () => {
|
const getTask = () => {
|
||||||
state.tableData = []
|
state.tableData = []
|
||||||
api
|
api
|
||||||
.templateDetail(store.state.projectTemplateId)
|
.templateDetail(localStorage.getItem('projectTemplateId'))
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
if (res.status == 200) {
|
if (res.status == 200) {
|
||||||
console.log("22222", res.data.data.stageList);
|
console.log("22222", res.data.data.stageList);
|
||||||
@@ -1710,7 +1708,7 @@
|
|||||||
if (state.updateStageID) {
|
if (state.updateStageID) {
|
||||||
let obj = {
|
let obj = {
|
||||||
name: state.valuesname,
|
name: state.valuesname,
|
||||||
projectTemplateId: store.state.projectTemplateId,
|
projectTemplateId: localStorage.getItem("templateStageId"),
|
||||||
remark: state.valuesnotice,
|
remark: state.valuesnotice,
|
||||||
stageId:state.updateStageID,
|
stageId:state.updateStageID,
|
||||||
};
|
};
|
||||||
@@ -1732,7 +1730,7 @@
|
|||||||
} else {
|
} else {
|
||||||
let obj = {
|
let obj = {
|
||||||
name: state.valuesname,
|
name: state.valuesname,
|
||||||
projectTemplateId: store.state.projectTemplateId,
|
projectTemplateId: localStorage.getItem("templateStageId"),
|
||||||
remark: state.valuesnotice,
|
remark: state.valuesnotice,
|
||||||
stageId:0,
|
stageId:0,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -318,14 +318,12 @@ import { useRouter, useRoute } from "vue-router";
|
|||||||
// import dayjs from "dayjs";
|
// import dayjs from "dayjs";
|
||||||
import * as api from "../../api/indexTemplate";
|
import * as api from "../../api/indexTemplate";
|
||||||
import { storage } from "../../api/storage";
|
import { storage } from "../../api/storage";
|
||||||
import {useStore} from "vuex";
|
|
||||||
// import { toDate } from "../../api/method";
|
// import { toDate } from "../../api/method";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "projectAdd",
|
name: "projectAdd",
|
||||||
setup() {
|
setup() {
|
||||||
const store = useStore();
|
|
||||||
// 编辑页面跳转过来时候,自动填充表格
|
// 编辑页面跳转过来时候,自动填充表格
|
||||||
const routers = useRoute();
|
const routers = useRoute();
|
||||||
const isEdit = ref(false);
|
const isEdit = ref(false);
|
||||||
@@ -641,7 +639,7 @@ export default {
|
|||||||
"courseSyncFlag": state.projectInfo.courseSyncFlag? 1:0,
|
"courseSyncFlag": state.projectInfo.courseSyncFlag? 1:0,
|
||||||
"notice": "",
|
"notice": "",
|
||||||
"noticeFlag": 0,
|
"noticeFlag": 0,
|
||||||
"projectTemplateId": store.state.projectTemplateId,
|
"projectTemplateId": localStorage.getItem("projectTemplateId"),
|
||||||
"remark": "",
|
"remark": "",
|
||||||
"status": 0,
|
"status": 0,
|
||||||
|
|
||||||
|
|||||||
@@ -8,13 +8,12 @@
|
|||||||
*/
|
*/
|
||||||
const { defineConfig } = require("@vue/cli-service");
|
const { defineConfig } = require("@vue/cli-service");
|
||||||
module.exports = defineConfig({
|
module.exports = defineConfig({
|
||||||
publicPath: '/manage',
|
publicPath: "/manage",
|
||||||
// transpileDependencies: true,
|
// transpileDependencies: true,
|
||||||
devServer: {
|
devServer: {
|
||||||
port: 8080,
|
port: 8080,
|
||||||
proxy: {
|
proxy: {
|
||||||
"/manageApi": {
|
"/manageApi": {
|
||||||
// target:"http://192.168.19.246:30001",
|
|
||||||
// target:"http://192.168.100.208:30001",
|
// target:"http://192.168.100.208:30001",
|
||||||
target: "http://111.231.196.214:30001/", //这里后台的地址模拟的;应该填写你们真实的后台接口
|
target: "http://111.231.196.214:30001/", //这里后台的地址模拟的;应该填写你们真实的后台接口
|
||||||
changeOrigin: true, //表示是否改变原域名
|
changeOrigin: true, //表示是否改变原域名
|
||||||
|
|||||||
Reference in New Issue
Block a user