Merge branch 'develop' of ssh://gitlab.dongwu-inc.com:10022/BOE/fe-manage into develop

This commit is contained in:
zhangyc
2022-11-30 12:11:50 +08:00
16 changed files with 542 additions and 402 deletions

View File

@@ -41,7 +41,7 @@ export default defineComponent({
const store = useStore(); const store = useStore();
const isLogin = ref(false); const isLogin = ref(false);
// console.log("router", router.getRoutes(), route); // console.log("router", router.getRoutes(), route);
console.log("版本0.02------------"); console.log("版本0.05------------");
const routes = computed(() => { const routes = computed(() => {
return router.getRoutes().filter((e) => e.meta?.isLink); return router.getRoutes().filter((e) => e.meta?.isLink);
}); });

View File

@@ -20,4 +20,6 @@ export const queryExaminationList = (obj) => http.post('/examination/queryExamin
// 获取考试任务列表的接口-三方 // 获取考试任务列表的接口-三方
export const queryExaminationAloneExtendList = (obj) => http.post('/examination/queryExaminationAloneExtendList', obj); export const queryExaminationAloneExtendList = (obj) => http.post('/examination/queryExaminationAloneExtendList', obj);
// 对接三方考试任务保存接口-三方 // 对接三方考试任务保存接口-三方
export const examinationTaskSave = (obj) => http.post('/examination/examinationTaskSave', obj); export const examinationTaskSave = (obj) => http.post('/examination/examinationTaskSave', obj);
//编辑考试信息
export const updateExamination = (obj) => http.post('/examination/updateExamination', obj);

View File

@@ -12,7 +12,7 @@ import http from "./config";
// 接口-请求 // 接口-请求
//查询在线课信息列表接口 //查询在线课信息列表接口
export const queryOnlinelList = (obj) => http.post('/queryOnlineClassesDetailList', obj) export const queryOnlinelList = (obj) => http.post('/onlineClasses/queryOnlineClassesDetailList', obj)

View File

@@ -2,7 +2,7 @@
* @Author: lixg lixg@dongwu-inc.com * @Author: lixg lixg@dongwu-inc.com
* @Date: 2022-11-24 16:39:48 * @Date: 2022-11-24 16:39:48
* @LastEditors: lixg lixg@dongwu-inc.com * @LastEditors: lixg lixg@dongwu-inc.com
* @LastEditTime: 2022-11-29 15:28:34 * @LastEditTime: 2022-11-29 18:31:34
* @FilePath: /fe-manage/src/components/Modals/addOnlineCourse.vue * @FilePath: /fe-manage/src/components/Modals/addOnlineCourse.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
--> -->
@@ -42,6 +42,10 @@ export default {
type: Boolean, type: Boolean,
default: false, default: false,
}, },
closeOnlineModal: {
type: Function,
default: () => {},
},
}, },
setup(props, ctx) { setup(props, ctx) {
// console.log("学习路径", props.addOnlineCoursevisible, ctx); // console.log("学习路径", props.addOnlineCoursevisible, ctx);
@@ -50,6 +54,7 @@ export default {
}); });
const closeModal = () => { const closeModal = () => {
ctx.emit("update:addOnlineCoursevisible", false); ctx.emit("update:addOnlineCoursevisible", false);
props.closeOnlineModal();
}; };
return { return {
...toRefs(state), ...toRefs(state),

View File

@@ -160,7 +160,6 @@ export default {
currentPage: 1, currentPage: 1,
tableDataTotal: 0, tableDataTotal: 0,
pageSize: 10, pageSize: 10,
searching:false,
selectedRowKeys: [], selectedRowKeys: [],
apiTaskList: [], apiTaskList: [],
inputV1: "", inputV1: "",
@@ -222,23 +221,6 @@ export default {
const getTableDate = (tableData) => { const getTableDate = (tableData) => {
let data = tableData; let data = tableData;
let array = []; let array = [];
if(state.searching){
data.map((value, index) => {
let obj = {
key: index,
authorId: value.authorId,
authorName: value.authorName,
companyId: value.companyId,
coverUrl: value.coverUrl,
id: value.id,
casesId: value.casesId,
title: value.title,
};
if(obj.title == state.inputV1){
array.push(obj);
}
});
} else {
data.map((value, index) => { data.map((value, index) => {
let obj = { let obj = {
key: index, key: index,
@@ -252,7 +234,6 @@ export default {
}; };
array.push(obj); array.push(obj);
}); });
}
state.tableData = array; state.tableData = array;
}; };
//获取全部案例信息接口 //获取全部案例信息接口
@@ -264,7 +245,7 @@ export default {
orderField: "", orderField: "",
pageIndex: state.currentPage, pageIndex: state.currentPage,
pageSize: state.pageSize, pageSize: state.pageSize,
top: true, isTop: "",
}) })
.then((res) => { .then((res) => {
if (res.status === 200) { if (res.status === 200) {
@@ -318,10 +299,6 @@ export default {
} }
} 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"
);
apiTask apiTask
.addTask({ .addTask({
courseId: state.apiTaskList[i].caseid, courseId: state.apiTaskList[i].caseid,
@@ -349,17 +326,14 @@ export default {
//搜索案例列表 //搜索案例列表
const searchList = ()=> { const searchList = ()=> {
if(state.inputV1 !== ''){ if(state.inputV1 !== ''){
state.searching = true
getAllCaseText() getAllCaseText()
}else { }else {
state.searching = false
resetCase() resetCase()
} }
} }
//重置案例信息 //重置案例信息
const resetCase = () => { const resetCase = () => {
state.inputV1 = "" state.inputV1 = ""
state.searching = false
state.selectedRowKeys=[] state.selectedRowKeys=[]
state.currentPage = 1 state.currentPage = 1
getAllCaseText(); getAllCaseText();

View File

@@ -198,7 +198,6 @@ export default {
time: undefined, time: undefined,
onlineClassesId: null, onlineClassesId: null,
onlineName: "", onlineName: "",
searching:false,
selectV: "", selectV: "",
selectedRowKeys: [], selectedRowKeys: [],
tableData: [], tableData: [],
@@ -286,23 +285,10 @@ export default {
let data = tableData; let data = tableData;
let array = []; let array = [];
data.map((value,index) => { data.map((value,index) => {
if(state.searching){ {
let obj = { let obj = {
key: index + 1, key: index + 1,
num:"", num:value.onlineClassesId,
name:value.name,
contenttype:value.contentType == 10 ? "微课" : "录播课",
teacher:value.teacher,
sysCreateBy:value.sysCreateBy,
overtime:"",
};
if(obj.name == state.inputV1 || obj.contenttype == state.selectV){
array.push(obj);
}
} else {
let obj = {
key: index + 1,
num:"",
name:value.name, name:value.name,
contenttype:value.contentType == 10 ? "微课" : "录播课", contenttype:value.contentType == 10 ? "微课" : "录播课",
teacher:value.teacher, teacher:value.teacher,
@@ -345,7 +331,7 @@ export default {
state.addOnlineList.map((value) => { state.addOnlineList.map((value) => {
RouterEditTask({ RouterEditTask({
chapterId: Number(props.isactive), chapterId: Number(props.isactive),
courseId: value.onlineClassesId, courseId: value.num,
name: value.name, name: value.name,
routerId: props.routerId, routerId: props.routerId,
routerTaskId: props.routerTaskId || 0, routerTaskId: props.routerTaskId || 0,
@@ -363,11 +349,11 @@ export default {
message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`); message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`);
}); });
}) })
} else if (props.isLevel == 2) { } else if (props.isLevel === 2) {
state.addOnlineList.map((value) => { state.addOnlineList.map((value) => {
apiTask apiTask
.addTask({ .addTask({
courseId: value.onlineClassesId, courseId: value.num,
name: value.name, name: value.name,
projectId: props.projectId, projectId: props.projectId,
projectTaskId: props.projectTaskId || 0, projectTaskId: props.projectTaskId || 0,
@@ -415,7 +401,6 @@ export default {
//搜索在线列表 //搜索在线列表
const searchList = ()=> { const searchList = ()=> {
if(state.inputV1 !== '' || state.selectV !== ''){ if(state.inputV1 !== '' || state.selectV !== ''){
state.searching = true
getAllOnlineText() getAllOnlineText()
}else { }else {
resetOnline() resetOnline()
@@ -425,7 +410,6 @@ export default {
const resetOnline = () => { const resetOnline = () => {
state.inputV1 = ""; state.inputV1 = "";
state.selectV = ""; state.selectV = "";
state.searching = false;
state.selectedRowKeys = []; state.selectedRowKeys = [];
state.addOnlineList = []; state.addOnlineList = [];
state.currentPage = 1; state.currentPage = 1;

View File

@@ -119,6 +119,7 @@
class="tag-style" class="tag-style"
v-if="paperName != ''" v-if="paperName != ''"
:closable="true" :closable="true"
@close="delTag"
>{{ paperName }}</a-tag >{{ paperName }}</a-tag
> >
<!-- <a-tag <!-- <a-tag
@@ -379,7 +380,7 @@
</div> </div>
<div class="main_btns"> <div class="main_btns">
<a-button class="btn1" @click="closeDrawer">取消</a-button> <a-button class="btn1" @click="closeDrawer">取消</a-button>
<a-button class="btn2" html-type="submit">确定</a-button> <a-button class="btn2" html-type="submit">确定</a-button>
</div> </div>
</a-form> </a-form>
@@ -478,6 +479,7 @@ export default {
showAnalysis: 2, showAnalysis: 2,
showAnswers: 2, showAnswers: 2,
choosedTime: "", choosedTime: "",
paperName:"",
choosedTest: [ choosedTest: [
{ {
key: 1, key: 1,
@@ -499,6 +501,8 @@ export default {
STvisible: false, //选择试卷抽屉 STvisible: false, //选择试卷抽屉
paperId: null, //试卷id 子组件传过来给考试抽屉创建考试信息需要 paperId: null, //试卷id 子组件传过来给考试抽屉创建考试信息需要
paperName: "", //试卷名称 子组件传过来给考试抽屉选择试卷后框框用 paperName: "", //试卷名称 子组件传过来给考试抽屉选择试卷后框框用
id:"",
testName:"",
choosedTestList: [ choosedTestList: [
{ {
value: "提高核心竞争力", value: "提高核心竞争力",
@@ -640,6 +644,10 @@ export default {
const resetForm = () => { const resetForm = () => {
formRef.value.resetFields(); formRef.value.resetFields();
state.paperName = "";
state.paperId = null;
state.id = "";
state.testName = "";
}; };
const handleValidate = (...args) => { const handleValidate = (...args) => {
@@ -666,6 +674,10 @@ export default {
state.STvisible = true; state.STvisible = true;
}; };
const delTag = () => {
state.paperId = 0;
state.paperName = "";
};
const queryTest = () => { const queryTest = () => {
// state.addLoading = true; // state.addLoading = true;
queryExaminationDetailById({ examinationId: props.EditTestId }) queryExaminationDetailById({ examinationId: props.EditTestId })
@@ -682,6 +694,8 @@ export default {
formState.scoringModel = Number(res.data.data.scoringModel) || 1; formState.scoringModel = Number(res.data.data.scoringModel) || 1;
formState.showAnalysis = Number(res.data.data.showAnalysis) || 1; formState.showAnalysis = Number(res.data.data.showAnalysis) || 1;
formState.showAnswers = Number(res.data.data.showAnswers) || 1; formState.showAnswers = Number(res.data.data.showAnswers) || 1;
formState.papaerName = res.data.data.examinationTestName;
state.paperName = res.data.data.examinationTestName;
if ( if (
res.data.data.examinationEndTime && res.data.data.examinationEndTime &&
res.data.data.examinationStartTime res.data.data.examinationStartTime
@@ -700,7 +714,7 @@ export default {
}); });
}; };
const updateTest = () => { const updateTest = () => {
//state.addLoading = true; //state.addLoading = true;updateTask
let obj = { let obj = {
examinationDuration: formState.examinationDuration, examinationDuration: formState.examinationDuration,
examinationEndTime: dayjs(formState.choosedTime[1]).format( examinationEndTime: dayjs(formState.choosedTime[1]).format(
@@ -720,6 +734,8 @@ export default {
scoringModel: formState.scoringModel, scoringModel: formState.scoringModel,
showAnalysis: formState.showAnalysis, showAnalysis: formState.showAnalysis,
showAnswers: formState.showAnswers, showAnswers: formState.showAnswers,
examinationTestId:state.id,
examinationTestName:state.testName,
}; };
if (props.edit) { if (props.edit) {
// 编辑任务 // 编辑任务
@@ -746,10 +762,8 @@ export default {
const updateTask = (res) => { const updateTask = (res) => {
state.EditTestId = res.data.data.examinationId; state.EditTestId = res.data.data.examinationId;
console.log("state.EditTestId=====0",state.EditTestId,props.faceLevel);
if(props.faceLevel){ if(props.faceLevel){
state.EditTestId = res.data.data.examinationId; state.EditTestId = res.data.data.examinationId;
console.log("state.EditTestId=====",state.EditTestId);
}else{ }else{
if (props.isLevel == 1) { if (props.isLevel == 1) {
let editObj1 = { let editObj1 = {
@@ -790,7 +804,6 @@ export default {
//message.error(`${props.EditTestId ? "编辑" : "新增"}阶段任务失败`); //message.error(`${props.EditTestId ? "编辑" : "新增"}阶段任务失败`);
}); });
} else if (props.isLevel == 3) { } else if (props.isLevel == 3) {
console.log("");
addTempTask({ addTempTask({
courseId: res.data.data.examinationId, courseId: res.data.data.examinationId,
duration: res.data.data.examinationDuration, duration: res.data.data.examinationDuration,
@@ -851,6 +864,8 @@ export default {
const getData = (value) => { const getData = (value) => {
state.paperId = value.paperId; state.paperId = value.paperId;
state.paperName = value.testName; state.paperName = value.testName;
state.id = value.id
state.testName = value.testName
}; };
return { return {
formState, formState,
@@ -867,6 +882,7 @@ export default {
resetForm, resetForm,
handleValidate, handleValidate,
formRef, formRef,
delTag,
// layout, // layout,
rules, rules,
updateTest, updateTest,

View File

@@ -97,7 +97,6 @@ import { reactive, toRefs } from "vue";
tableDataTotal: 0, tableDataTotal: 0,
pageSize: 10, pageSize: 10,
inputV1:"", inputV1:"",
searching:false,
evaluationTypeId:null, evaluationTypeId:null,
evaluationTypeName:"", evaluationTypeName:"",
tableData: [], tableData: [],
@@ -160,11 +159,10 @@ import { reactive, toRefs } from "vue";
state.evListData = selectedRows[0] ? selectedRows[0] : {} state.evListData = selectedRows[0] ? selectedRows[0] : {}
} }
const closeDrawer = () => { const closeDrawer = () => {
ctx.emit("update:EvalListVisible", false);
state.selectedRowKeys = [] state.selectedRowKeys = []
state.evListData = {} state.evListData = {}
state.inputV1 = "" state.inputV1 = ""
state.searching = false ctx.emit("update:EvalListVisible", false);
}; };
const afterVisibleChange = (bol) => { const afterVisibleChange = (bol) => {
if ( bol == true ) { if ( bol == true ) {
@@ -177,6 +175,7 @@ import { reactive, toRefs } from "vue";
} }
const changePagination = (page) => { const changePagination = (page) => {
state.currentPage = page; state.currentPage = page;
getAllEvalText();
}; };
//如果编辑情况会通过父亲传回来evaluationTypeId遍历出相同的那个选项 再将那个选项的key值赋给state.selectRowKeys //如果编辑情况会通过父亲传回来evaluationTypeId遍历出相同的那个选项 再将那个选项的key值赋给state.selectRowKeys
const getTableDataList = (tableData) => { const getTableDataList = (tableData) => {
@@ -202,24 +201,6 @@ import { reactive, toRefs } from "vue";
}); });
state.tableData = array; state.tableData = array;
state.selectedRowKeys = arrayKey; state.selectedRowKeys = arrayKey;
}else if (state.searching){
data.map((value,index) => {
let obj = {
key:index+1,
status:value.status,
quiz_code:value.quiz_code,
quiz_kid:value.quiz_kid,
title:value.title,
theme_desc:value.theme_desc,
quiz_price:value.quiz_price,
quiz_range:value.quiz_range,
};
if(state.inputV1 == obj.title)
{
array.push(obj);
}
});
state.tableData = array;
} }
else{ else{
data.map((value,index) => { data.map((value,index) => {
@@ -242,7 +223,7 @@ import { reactive, toRefs } from "vue";
//获取测评列表 //获取测评列表
const getAllEvalText = ()=> { const getAllEvalText = ()=> {
let objael = { let objael = {
"keyword": "", "keyword": state.inputV1,
"user_id": "965341999643234304", "user_id": "965341999643234304",
} }
api api
@@ -256,10 +237,8 @@ import { reactive, toRefs } from "vue";
//搜索测评列表 //搜索测评列表
const searchList = ()=> { const searchList = ()=> {
if(state.inputV1 !== ''){ if(state.inputV1 !== ''){
state.searching = true
getAllEvalText() getAllEvalText()
}else { }else {
state.searching = false
resetData() resetData()
} }
} }

View File

@@ -1,18 +1,18 @@
<template> <template>
<a-drawer <a-drawer
:visible="ProjAuditvisible" :visible="ProjAuditvisible"
class="drawerStyle ProjectAudit" class="drawerStyle ProjectAudit"
placement="right" placement="right"
width="60%" width="60%"
@after-visible-change="afterVisibleChange" @after-visible-change="afterVisibleChange"
> >
<div class="drawerMain"> <div class="drawerMain">
<div class="header"> <div class="header">
<div class="headerTitle">审核项目</div> <div class="headerTitle">审核项目</div>
<img <img
style="width: 29px; height: 29px; cursor: pointer" style="width: 29px; height: 29px; cursor: pointer"
src="../../assets/images/basicinfo/close.png" src="../../assets/images/basicinfo/close.png"
@click="closeDrawer" @click="closeDrawer"
/> />
</div> </div>
<div class="main" style="padding-right: 10px"> <div class="main" style="padding-right: 10px">
@@ -30,9 +30,9 @@
<div class="setc_name"><span>封面图</span></div> <div class="setc_name"><span>封面图</span></div>
<div class="setc_main"> <div class="setc_main">
<img <img
style="width: 151px; height: 84px" style="width: 151px; height: 84px"
:src="picUrl" :src="picUrl"
alt="" alt=""
/> />
</div> </div>
</div> </div>
@@ -40,7 +40,7 @@
<div class="setc_name"><span>项目时间</span></div> <div class="setc_name"><span>项目时间</span></div>
<div class="setc_main"> <div class="setc_main">
<span style="color: #999999" <span style="color: #999999"
>{{ startTime }} {{ endTime }}</span >{{ startTime }} {{ endTime }}</span
> >
</div> </div>
</div> </div>
@@ -66,9 +66,9 @@
<div class="setc_name"><span>同步学习记录</span></div> <div class="setc_name"><span>同步学习记录</span></div>
<div class="setc_main"> <div class="setc_main">
<a-radio v-model:checked="checkedSty" <a-radio v-model:checked="checkedSty"
><span style="color: #333333" ><span style="color: #333333"
>同步课程学习记录如学员在课程库中拥有课程的学习记录自动免修该课程</span >同步课程学习记录如学员在课程库中拥有课程的学习记录自动免修该课程</span
></a-radio ></a-radio
> >
</div> </div>
</div> </div>
@@ -88,7 +88,7 @@
<div class="setc_name"><span>是否BOEU实施</span></div> <div class="setc_name"><span>是否BOEU实施</span></div>
<div class="setc_main"> <div class="setc_main">
<a-radio v-model:checked="checkedBOEU" <a-radio v-model:checked="checkedBOEU"
><span style="color: #333333">BOEU实施</span></a-radio ><span style="color: #333333">BOEU实施</span></a-radio
> >
</div> </div>
</div> </div>
@@ -101,7 +101,7 @@
</button> </button>
</div> </div>
</a-tab-pane> </a-tab-pane>
<a-tab-pane key="2" tab="修改记录"> </a-tab-pane> <a-tab-pane key="2" tab="修改记录"></a-tab-pane>
</a-tabs> </a-tabs>
<div class="audit"> <div class="audit">
<div class="set_content"> <div class="set_content">
@@ -116,7 +116,7 @@
<div class="set_content"> <div class="set_content">
<div class="setc_name"><span>审核意见</span></div> <div class="setc_name"><span>审核意见</span></div>
<div class="setc_main"> <div class="setc_main">
<a-textarea v-model:value="valueSuggest" :rows="4" /> <a-textarea v-model:value="valueSuggest" :rows="4"/>
</div> </div>
</div> </div>
</div> </div>
@@ -130,11 +130,12 @@
</template> </template>
<script> <script>
import { toRefs, reactive } from "vue"; import {toRefs, reactive} from "vue";
import { getTask } from "../../api/indexTaskadd"; import {getTask} from "../../api/indexTaskadd";
import { toDate } from "../../api/method"; import {toDate} from "../../api/method";
import { auditView } from "../../api/indexAudit"; import {auditView} from "../../api/indexAudit";
import { message } from "ant-design-vue"; import {message} from "ant-design-vue";
export default { export default {
name: "ProjectAudit", name: "ProjectAudit",
components: {}, components: {},
@@ -155,6 +156,10 @@ export default {
type: String, type: String,
default: null, default: null,
}, },
finishdFun: {
type: Function,
default: null
}
}, },
setup(props, ctx) { setup(props, ctx) {
@@ -195,6 +200,8 @@ export default {
const closeDrawer = () => { const closeDrawer = () => {
ctx.emit("update:ProjAuditvisible", false); ctx.emit("update:ProjAuditvisible", false);
console.log(props.finishdFun)
props.finishdFun && props.finishdFun()
state.valueSuggest = null; state.valueSuggest = null;
state.valuePass = "1"; state.valuePass = "1";
}; };
@@ -202,8 +209,7 @@ export default {
//获取项目信息 //获取项目信息
const getTaskInfo = () => { const getTaskInfo = () => {
getTask({ getTask({
// 先使用了固定projectId projectId: props.chooseProject,
projectId: 37,
}).then((res) => { }).then((res) => {
console.log("get task", res.data.data); console.log("get task", res.data.data);
let info = res.data.data.projectInfo; let info = res.data.data.projectInfo;
@@ -219,26 +225,26 @@ export default {
state.manager = info.manager; state.manager = info.manager;
state.remark = info.remark; state.remark = info.remark;
state.level = state.level =
info.level == 1 info.level == 1
? "集团级" ? "集团级"
: info.level == 2 : info.level == 2
? "组织级" ? "组织级"
: info.level == 3 : info.level == 3
? "现地级" ? "现地级"
: info.level == 4 : info.level == 4
? "部门级" ? "部门级"
: "-"; : "-";
state.tlevel = info.level; state.tlevel = info.level;
state.systemId = state.systemId =
info.systemId == 1 info.systemId == 1
? "集团级" ? "集团级"
: info.systemId == 2 : info.systemId == 2
? "组织级" ? "组织级"
: info.systemId == 3 : info.systemId == 3
? "现地级" ? "现地级"
: info.systemId == 4 : info.systemId == 4
? "部门级" ? "部门级"
: "-"; : "-";
state.tsystemId = info.systemId; state.tsystemId = info.systemId;
state.checkedSty = info.courseSyncFlag == 1 ? true : false; state.checkedSty = info.courseSyncFlag == 1 ? true : false;
state.courseSyncFlag = info.courseSyncFlag; state.courseSyncFlag = info.courseSyncFlag;
@@ -254,13 +260,13 @@ export default {
// state.attach = info.attach; // state.attach = info.attach;
// state.templateId = info.templateId; // state.templateId = info.templateId;
state.sourceBelong = state.sourceBelong =
info.sourceBelongId == 1 info.sourceBelongId == 1
? "项目一" ? "项目一"
: info.sourceBelongId == 2 : info.sourceBelongId == 2
? "项目二" ? "项目二"
: info.sourceBelongId == 3 : info.sourceBelongId == 3
? "项目三" ? "项目三"
: "-"; : "-";
}); });
}; };
@@ -278,16 +284,16 @@ export default {
pass: state.valuePass == "1" ? 1 : -1, pass: state.valuePass == "1" ? 1 : -1,
projectId: props.chooseProject, projectId: props.chooseProject,
}) })
.then((res) => { .then((res) => {
console.log("提交成功", res); console.log("提交成功", res);
message.destroy(); message.destroy();
message.success("提交成功"); message.success("提交成功");
closeDrawer(); closeDrawer();
}) })
.catch((err) => { .catch((err) => {
console.log(err); console.log(err);
message.warning("提交失败"); message.warning("提交失败");
}); });
}; };
return { return {
@@ -310,6 +316,7 @@ export default {
// overflow-x: auto; // overflow-x: auto;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
.header { .header {
height: 73px; height: 73px;
border-bottom: 1px solid #e8e8e8; border-bottom: 1px solid #e8e8e8;
@@ -319,6 +326,7 @@ export default {
// background-color: red; // background-color: red;
margin-bottom: 20px; margin-bottom: 20px;
flex-shrink: 0; flex-shrink: 0;
.headerTitle { .headerTitle {
font-size: 18px; font-size: 18px;
font-weight: 600; font-weight: 600;
@@ -328,12 +336,14 @@ export default {
// margin-left: 24px; // margin-left: 24px;
} }
} }
.main { .main {
width: 100%; width: 100%;
height: 100%; height: 100%;
// background-color: #bfa; // background-color: #bfa;
overflow-y: auto; overflow-y: auto;
padding-right: 10px; padding-right: 10px;
.content7 { .content7 {
margin-top: 20px; margin-top: 20px;
@@ -401,11 +411,13 @@ export default {
} }
} }
} }
.detaile { .detaile {
width: 100%; width: 100%;
// background-color: blue; // background-color: blue;
display: flex; display: flex;
justify-content: center; justify-content: center;
.can { .can {
width: 130px; width: 130px;
height: 40px; height: 40px;
@@ -415,6 +427,7 @@ export default {
background-color: #fff; background-color: #fff;
margin-right: 30px; margin-right: 30px;
} }
.debtn { .debtn {
width: 130px; width: 130px;
height: 40px; height: 40px;
@@ -425,10 +438,12 @@ export default {
cursor: pointer; cursor: pointer;
} }
} }
.audit { .audit {
margin-left: 34px; margin-left: 34px;
margin-right: 34px; margin-right: 34px;
position: relative; position: relative;
.set_content { .set_content {
margin: 32px auto; margin: 32px auto;
display: flex; display: flex;
@@ -443,6 +458,7 @@ export default {
.setc_main { .setc_main {
flex: 1; flex: 1;
margin-left: 12px; margin-left: 12px;
textarea { textarea {
border-radius: 4px !important; border-radius: 4px !important;
resize: none; resize: none;

View File

@@ -23,17 +23,18 @@
<a-input <a-input
v-model:value="inputPname" v-model:value="inputPname"
style="width: 270px; height: 40px; border-radius: 8px" style="width: 270px; height: 40px; border-radius: 8px"
placeholder="请输入试卷名称或序号" placeholder="请输入试卷名称"
/> />
</div> </div>
<div class="namecon" style="margin-right: 30px"> <!-- 因为接口不支持创建人搜索所以暂时注调 -->
<!-- <div class="namecon" style="margin-right: 30px">
<div class="name">创建人</div> <div class="name">创建人</div>
<a-input <a-input
v-model:value="inputCname" v-model:value="inputCname"
style="width: 240px; height: 40px; border-radius: 8px" style="width: 240px; height: 40px; border-radius: 8px"
placeholder="请输入创建人" placeholder="请输入创建人"
/> />
</div> </div> -->
</div> </div>
<div class="btns"> <div class="btns">
<div <div
@@ -72,6 +73,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"
@@ -147,6 +149,7 @@ export default {
closeDrawer(); closeDrawer();
}; };
const closeDrawer = () => { const closeDrawer = () => {
state.selectedRowKeys = []
ctx.emit("update:STvisible", false); ctx.emit("update:STvisible", false);
}; };
@@ -217,56 +220,57 @@ export default {
} }
state.selectedRowKeys = selectedRowKeys; state.selectedRowKeys = selectedRowKeys;
state.SelectTestData = selectedRows[0]; state.SelectTestData = selectedRows[0];
console.log("state.SelectTestData---------------", state.SelectTestData);
}; };
const newTest = () => { const newTest = () => {
console.log("创建考试没设计图");
state.addExamVisible = true; state.addExamVisible = true;
}; };
const getTableDate = (tableData) => { // const getTableDate = (tableData) => {
let data = tableData; // let data = tableData;
let array = []; // let array = [];
data.map((value, index) => { // data.map((value, index) => {
let obj = { // let obj = {
key: index + 1, // key: index + 1,
sysCreateBy: value.sysCreateBy, // sysCreateBy: value.sysCreateBy,
paperId: value.paperId, // paperId: value.paperId,
testName: value.testName, // testName: value.testName,
paperMode: value.paperMode, // paperMode: value.paperMode == 1 ? "固定试卷" : "随机",
sysUpdateTime: value.sysUpdateTime, // sysUpdateTime: value.sysUpdateTime,
}; // };
array.push(obj); // array.push(obj);
}); // });
state.tableData = array; // state.tableData = array;
}; // state.tableDataTotal = array.length
// };
//获取选择考试列表 //获取选择考试列表
const getManageList = () => { const getManageList = () => {
let obj = { let obj = {
keyWord: state.inputPname, keyWord: state.inputPname,
pageIndex: state.pageSize, pageIndex: state.currentPage,
pageSize: state.pageSize, pageSize: state.pageSize,
published: true, published: true,
}; };
api api
.queryExaminationList(obj) .queryExaminationList(obj)
.then((data) => { .then((data) => {
// getTableDate(res.data.data); // getTableDate(res.data.data);
//** 表格repaint */ //** 表格repaint */
let array = [] let array = []
data.map((value, index) => { data.data.data.map((value, index) => {
let obj = { let obj = {
key: index + 1, key: index + 1,
sysCreateBy: value.sysCreateBy, sysCreateBy: value.sysCreateBy,
paperId: value.paperId, paperId: index + 1,
testName: value.testName, testName: value.testName,
paperMode: value.paperMode, paperMode: value.randomMode ? "是" : "否",
sysUpdateTime: value.sysUpdateTime, sysUpdateTime: value.sysUpdateTime,
id:value.id,
}; };
array.push(obj); array.push(obj);
}); });
//** */ state.tableData = array
state.tableDataTotal = array.length
message.destroy()
message.success("获取选择考试列表成功"); message.success("获取选择考试列表成功");
}) })
.catch(() => { .catch(() => {
@@ -289,7 +293,6 @@ export default {
...toRefs(state), ...toRefs(state),
closeDrawer, closeDrawer,
afterVisibleChange, afterVisibleChange,
getTableDate,
onSelectChange, onSelectChange,
CreatSTText, CreatSTText,
newTest, newTest,

View File

@@ -458,7 +458,7 @@
<div class="item_inp"> <div class="item_inp">
<div class="select i6_input"> <div class="select i6_input">
<a-select <a-select
:getPopupContainer=" :getPopupContainer="
(triggerNode) => { (triggerNode) => {
return triggerNode.parentNode || document.body; return triggerNode.parentNode || document.body;
} }
@@ -480,12 +480,12 @@
</div> </div>
<div class="item_inp"> <div class="item_inp">
<div class="select i7_input"> <div class="select i7_input">
<a-select <a-select
:getPopupContainer=" :getPopupContainer="
(triggerNode) => { (triggerNode) => {
return triggerNode.parentNode || document.body; return triggerNode.parentNode || document.body;
} }
" "
v-model:value="chang_jin" v-model:value="chang_jin"
dropdownClassName="dropdown-style" dropdownClassName="dropdown-style"
style="width: 440px" style="width: 440px"
@@ -503,7 +503,7 @@
</div> </div>
<div class="item_inp"> <div class="item_inp">
<a-select <a-select
:getPopupContainer=" :getPopupContainer="
(triggerNode) => { (triggerNode) => {
return triggerNode.parentNode || document.body; return triggerNode.parentNode || document.body;
} }
@@ -2506,7 +2506,10 @@
classify="addstudent" classify="addstudent"
/> />
<!-- 新建在线课弹窗 --> <!-- 新建在线课弹窗 -->
<addOnlineCourse v-model:addOnlineCoursevisible="addOnlineCoursevisible" /> <addOnlineCourse
v-model:addOnlineCoursevisible="addOnlineCoursevisible"
:closeOnlineModal="closeOnlineCoursevisible"
/>
<!-- 新建在线课弹窗 --> <!-- 新建在线课弹窗 -->
<!-- 授权名单抽屉 --> <!-- 授权名单抽屉 -->
@@ -4825,6 +4828,11 @@ export default defineComponent({
}); });
} }
); );
const closeOnlineCoursevisible = () => {
console.log("执行");
getTableDate();
};
return { return {
...toRefs(state), ...toRefs(state),
getdateToDateFn, getdateToDateFn,
@@ -4931,6 +4939,8 @@ export default defineComponent({
showOwnPrower, showOwnPrower,
showViewPrower, showViewPrower,
showManagePrower, showManagePrower,
closeOnlineCoursevisible,
}; };
}, },
}); });

View File

@@ -15,34 +15,33 @@
<div class="inpbox"> <div class="inpbox">
<div class="inpbox1"> <div class="inpbox1">
<a-select <a-select
v-model:value="valueproj" v-model:value="valueproj"
placeholder="请选择内容分类" value-key="value"
@change="handleChangeproj" :options="[{label:'请选择内容分类',value:''},...calssifyList]"
:options="optionsproj"
/> />
</div> </div>
<div class="inpbox1"> <div class="inpbox1">
<a-input <a-input
v-model:value="valuecreater" v-model:value="valuecreater"
style=" style="
width: 270px; width: 270px;
height: 40px; height: 40px;
border-radius: 8px; border-radius: 8px;
margin-right: 14px; margin-right: 14px;
" "
placeholder="请输入创建人" placeholder="请输入创建人"
/> />
</div> </div>
<div class="inpbox1"> <div class="inpbox1">
<a-input <a-input
v-model:value="valuename" v-model:value="valuename"
style=" style="
width: 270px; width: 270px;
height: 40px; height: 40px;
border-radius: 8px; border-radius: 8px;
margin-right: 14px; margin-right: 14px;
" "
placeholder="请输入名称" placeholder="请输入名称"
/> />
</div> </div>
</div> </div>
@@ -61,26 +60,26 @@
<div class="tmpl_body"> <div class="tmpl_body">
<div class="tmpl_tabbox"> <div class="tmpl_tabbox">
<a-table <a-table
:columns="columns1" :columns="columns1"
:data-source="tableData1" :data-source="tableData1"
:loading="tableDataTotal === -1 ? true : false" :loading="tableDataTotal === -1 ? true : false"
expandRowByClick="true" expandRowByClick="true"
@expand="expandTable" @expand="expandTable"
:scroll="{ x: 1300 }" :scroll="{ x: 1300 }"
:pagination="false" :pagination="false"
/> />
</div> </div>
<div class="tableBox"> <div class="tableBox">
<div class="pa"> <div class="pa">
<a-pagination <a-pagination
v-if="total > 10" v-if="total > 10"
showSizeChanger="true" showSizeChanger="true"
show-quick-jumper show-quick-jumper
:pageSize="pageSize" :pageSize="pageSize"
v-model:current="currentPage" v-model:current="currentPage"
:total="total" :total="total"
class="pagination" class="pagination"
@change="changePagination" @change="changePagination"
/> />
</div> </div>
</div> </div>
@@ -89,23 +88,16 @@
</div> </div>
</template> </template>
<script> <script>
import { reactive, toRefs, onMounted } from "vue"; import {reactive, toRefs, onMounted} from "vue";
import { courseListView } from "../../api/indexAudit"; import {courseListView} from "../../api/indexAudit";
import * as api1 from "@/api/index1";
export default { export default {
name: "CoursereViewed", name: "CoursereViewed",
setup() { setup() {
const state = reactive({ const state = reactive({
optionsproj: [ calssifyList: [], //分类字典
{
value: "0",
label: "Jack",
},
{
value: "1",
label: "rose",
},
],
valueproj: "", valueproj: "",
valuecreater: "", valuecreater: "",
valuename: "", valuename: "",
@@ -136,6 +128,7 @@ export default {
dataIndex: "content", dataIndex: "content",
key: "content", key: "content",
align: "center", align: "center",
customRender: ({text}) => state.calssifyList.find(e => e.value == text)?.label,
}, },
{ {
title: "审核状态", title: "审核状态",
@@ -187,26 +180,27 @@ export default {
const getList = () => { const getList = () => {
let objn = { let objn = {
auditStatus: 0, auditStatus: 0,
// categoryId: 0, categoryId: state.valueproj,
createName: state.valuecreater, createName: state.valuecreater,
name: state.valuename, name: state.valuename,
pageNo: state.currentPage, pageNo: state.currentPage,
pageSize: 10, pageSize: 10,
}; };
courseListView(objn) courseListView(objn)
.then((res) => { .then((res) => {
console.log("获取已审核课程成功", res.data.data); console.log("获取已审核课程成功", res.data.data);
let result = res.data.data.rows; state.total = res.data.data.total;
state.total = res.data.data.total; setTableData(res.data.data.rows);
if (res.data.data.total > 0) { })
setTableData(result); .catch((err) => {
} console.log("获取已审核课程失败", err);
}) });
.catch((err) => {
console.log("获取已审核课程失败", err);
});
}; };
const setTableData = (table) => { const setTableData = (table) => {
if(!table || !table.length){
state.tableData1 = []
return
}
let data = table; let data = table;
let array = []; let array = [];
data.map((item) => { data.map((item) => {
@@ -216,15 +210,15 @@ export default {
type: item.type == 1 ? "线上" : "线下", type: item.type == 1 ? "线上" : "线下",
content: item.categoryId, content: item.categoryId,
status: status:
item.auditStatus == 0 item.auditStatus == 0
? "未提交" ? "未提交"
: item.auditStatus == 1 : item.auditStatus == 1
? "提交待审核" ? "提交待审核"
: item.auditStatus == 2 : item.auditStatus == 2
? "通过" ? "通过"
: item.auditStatus == -1 : item.auditStatus == -1
? "拒绝" ? "拒绝"
: "-", : "-",
creater: item.createName, creater: item.createName,
time: "-", time: "-",
msg: item.description || "-", msg: item.description || "-",
@@ -234,27 +228,30 @@ export default {
state.tableData1 = array; state.tableData1 = array;
}; };
const reset = () => { const reset = () => {
(state.valueproj = null), (state.valueproj = ''),
(state.valuecreater = null), (state.valuecreater = null),
(state.valuename = null), (state.valuename = null),
getList(); getList();
};
const handleChangeproj = (value, item) => {
console.log(value, item);
state.valueproj = item.value;
}; };
const changePagination = (pagina) => { const changePagination = (pagina) => {
state.currentPage = pagina; state.currentPage = pagina;
getList(); getList();
}; };
onMounted(() => { const getDictList = (param) => api1.getDict({
pageNo: 1,
pageSize: 20,
setCode: param
}).then((res) => res.data.data.rows)
onMounted(async () => {
getList(); getList();
//获取分类列表
state.calssifyList = (await getDictList("faceclassClass")).map(e => ({label: e.dictName, value: e.dictCode}))
}); });
return { return {
...toRefs(state), ...toRefs(state),
getList, getList,
setTableData, setTableData,
handleChangeproj,
reset, reset,
changePagination, changePagination,
}; };
@@ -264,8 +261,10 @@ export default {
<style lang="scss"> <style lang="scss">
.coursereviewed { .coursereviewed {
width: 100%; width: 100%;
.tmpl { .tmpl {
width: 100%; width: 100%;
.tmpl_header { .tmpl_header {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
@@ -274,33 +273,39 @@ export default {
margin-left: 32px; margin-left: 32px;
margin-right: 32px; margin-right: 32px;
.tmplh_inp { .tmplh_inp {
.inpbox { .inpbox {
display: flex; display: flex;
margin-top: 32px; margin-top: 32px;
flex-wrap: wrap; flex-wrap: wrap;
.inpbox1 { .inpbox1 {
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
margin-right: 24px; margin-right: 24px;
margin-top: 10px; margin-top: 10px;
.ant-select-selector { .ant-select-selector {
border-radius: 8px; border-radius: 8px;
width: 270px; width: 270px;
height: 40px; height: 40px;
padding-top: 5px; padding-top: 5px;
} }
span { span {
white-space: nowrap; white-space: nowrap;
} }
} }
} }
} }
.tmplh_btn { .tmplh_btn {
display: flex; display: flex;
// margin-left: 38px; // margin-left: 38px;
margin-top: 42px; margin-top: 42px;
.btn { .btn {
padding: 0px 26px 0px 26px; padding: 0px 26px 0px 26px;
height: 38px; height: 38px;
@@ -311,72 +316,90 @@ export default {
margin-right: 14px; margin-right: 14px;
cursor: pointer; cursor: pointer;
flex-shrink: 0; flex-shrink: 0;
.search { .search {
background-size: 100%; background-size: 100%;
} }
.btnText { .btnText {
font-size: 14px; font-size: 14px;
font-weight: 400; font-weight: 400;
line-height: 36px; line-height: 36px;
margin-left: 5px; margin-left: 5px;
} }
.btnText1 { .btnText1 {
color: rgb(255, 255, 255); color: rgb(255, 255, 255);
} }
.btnText2 { .btnText2 {
color: rgba(64, 158, 255, 1); color: rgba(64, 158, 255, 1);
} }
} }
.btn1 { .btn1 {
background: #409eff; background: #409eff;
.search { .search {
width: 15px; width: 15px;
height: 17px; height: 17px;
background-image: url("../../assets/images/courseManage/search0.png"); background-image: url("../../assets/images/courseManage/search0.png");
} }
} }
.btn2 { .btn2 {
background: #ffffff; background: #ffffff;
border: 1px solid #388be1; border: 1px solid #388be1;
.search { .search {
width: 16px; width: 16px;
height: 18px; height: 18px;
background-image: url("../../assets/images/courseManage/reset1.png"); background-image: url("../../assets/images/courseManage/reset1.png");
} }
} }
.btn1:hover { .btn1:hover {
background: rgb(255, 255, 255); background: rgb(255, 255, 255);
border: 1px solid #388be1; border: 1px solid #388be1;
.search { .search {
background-image: url("../../assets/images/courseManage/search1.png"); background-image: url("../../assets/images/courseManage/search1.png");
} }
.btnText { .btnText {
color: rgba(64, 158, 255, 1); color: rgba(64, 158, 255, 1);
} }
} }
.btn2:hover { .btn2:hover {
background: rgba(64, 158, 255, 1); background: rgba(64, 158, 255, 1);
.search { .search {
background-image: url("../../assets/images/courseManage/reset0.png"); background-image: url("../../assets/images/courseManage/reset0.png");
} }
.btnText { .btnText {
color: #ffffff; color: #ffffff;
} }
} }
} }
} }
.tmpl_body { .tmpl_body {
padding: 0px 30px; padding: 0px 30px;
.tmpl_tabbox { .tmpl_tabbox {
.operation { .operation {
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
color: #4ea6ff; color: #4ea6ff;
.nselect { .nselect {
justify-content: center; justify-content: center;
align-items: center; align-items: center;
display: flex; display: flex;
.jc { .jc {
margin-left: 20px; margin-left: 20px;
white-space: nowrap; white-space: nowrap;
@@ -385,6 +408,7 @@ export default {
} }
} }
} }
.pa { .pa {
width: 100%; width: 100%;
margin-top: 20px; margin-top: 20px;

File diff suppressed because it is too large Load Diff

View File

@@ -57,14 +57,14 @@
@change="rankTimeChange" @change="rankTimeChange"
/> />
</div> </div>
<div class="inpbox1"> <!-- <div class="inpbox1">-->
<a-select <!-- <a-select-->
v-model:value="valuestate" <!-- v-model:value="valuestate"-->
placeholder="请选择审核状态" <!-- placeholder="请选择审核状态"-->
@change="handleChangeproj" <!-- @change="handleChangeproj"-->
:options="optionsproj" <!-- :options="optionsproj"-->
/> <!-- />-->
</div> <!-- </div>-->
</div> </div>
</div> </div>
<div class="tmplh_btn"> <div class="tmplh_btn">
@@ -193,8 +193,8 @@ export default {
{ {
title: "所属项目", title: "所属项目",
dataIndex: "belong", dataIndex: "sourceBelongName",
key: "belong", key: "sourceBelongName",
align: "center", align: "center",
width: "10%", width: "10%",
}, },
@@ -317,6 +317,7 @@ export default {
name: item.name, name: item.name,
belong: "", belong: "",
manager: item.manager || "-", manager: item.manager || "-",
sourceBelongName: item.sourceBelongName,
status: status:
item.status == 0 item.status == 0
? "草稿" ? "草稿"
@@ -337,6 +338,7 @@ export default {
number: item.projectId, number: item.projectId,
name: item.name, name: item.name,
belong: "", belong: "",
sourceBelongName: item.sourceBelongName,
manager: item.manager || "-", manager: item.manager || "-",
status: status:
item.status == 0 item.status == 0

View File

@@ -104,6 +104,7 @@
v-model:chooseProject="chooseProject" v-model:chooseProject="chooseProject"
v-model:chooseCreateId="chooseCreateId" v-model:chooseCreateId="chooseCreateId"
v-model:chooseCreater="chooseCreater" v-model:chooseCreater="chooseCreater"
v-model:finishdFun="getProjList"
/> />
</div> </div>
</template> </template>
@@ -154,8 +155,8 @@ export default {
{ {
title: "所属项目", title: "所属项目",
dataIndex: "belong", dataIndex: "sourceBelongName",
key: "belong", key: "sourceBelongName",
align: "center", align: "center",
width: "11%", width: "11%",
}, },
@@ -250,6 +251,7 @@ export default {
number: item.projectId, number: item.projectId,
name: item.name, name: item.name,
belong: item.parentId, belong: item.parentId,
sourceBelongName: item.sourceBelongName,
manager: item.manager || "-", manager: item.manager || "-",
status: status:
item.status == 0 item.status == 0
@@ -277,6 +279,7 @@ export default {
number: item.projectId, number: item.projectId,
name: item.name, name: item.name,
belong: item.parentId, belong: item.parentId,
sourceBelongName: item.sourceBelongName,
manager: item.manager || "-", manager: item.manager || "-",
status: status:
item.status == 0 item.status == 0

View File

@@ -576,7 +576,7 @@
<!-- 编辑多层项目弹窗 - end --> <!-- 编辑多层项目弹窗 - end -->
<!-- 创建多层子项目弹窗 --> <!-- 创建多层子项目弹窗 -->
<div> <div>
<a-modal <a-modalbe
v-model:visible="doublesonpro" v-model:visible="doublesonpro"
:title="null" :title="null"
@ok="closeModal3" @ok="closeModal3"
@@ -705,7 +705,7 @@
> >
</div> </div>
</div> </div>
</a-modal> </a-modalbe>
</div> </div>
<!-- 创建多层子项目弹窗 --> <!-- 创建多层子项目弹窗 -->
<!-- 编辑多层子项目弹窗 start--> <!-- 编辑多层子项目弹窗 start-->