mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-11 03:46:45 +08:00
Merge branch 'develop' of http://gitlab.dongwu-inc.com:10080/BOE/fe-manage into develop
This commit is contained in:
2
.env
2
.env
@@ -24,7 +24,7 @@ VUE_APP_COURSE_STUDY=//u-pre.boe.com/pc/course/studyindex?id=
|
|||||||
# 导入学员模板
|
# 导入学员模板
|
||||||
VUE_APP_UP_LOAD_STUDENT_TEMPLATE=导入学员模版-1673963663229.xlsx
|
VUE_APP_UP_LOAD_STUDENT_TEMPLATE=导入学员模版-1673963663229.xlsx
|
||||||
# 外部考试导入成绩模板
|
# 外部考试导入成绩模板
|
||||||
VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE=导入成绩模版-1673963663229.xlsx
|
VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE=外部考试学员成绩导入模板-1676551319283.xlsx
|
||||||
|
|
||||||
#在线
|
#在线
|
||||||
VITE_BOE_ONLINE_CLASS_URL=//u-pre.boe.com/pc/course/studyindex?id=
|
VITE_BOE_ONLINE_CLASS_URL=//u-pre.boe.com/pc/course/studyindex?id=
|
||||||
|
|||||||
2
.env.boe
2
.env.boe
@@ -9,7 +9,7 @@ VUE_APP_BOE_API_URL=//u-pre.boe.com
|
|||||||
# 导入学员模板
|
# 导入学员模板
|
||||||
VUE_APP_UP_LOAD_STUDENT_TEMPLATE=导入学员模版-1673963663229.xlsx
|
VUE_APP_UP_LOAD_STUDENT_TEMPLATE=导入学员模版-1673963663229.xlsx
|
||||||
# 外部考试导入成绩模板
|
# 外部考试导入成绩模板
|
||||||
VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE=导入成绩模版-1673963663229.xlsx
|
VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE=外部考试学员成绩导入模板-1676551319283.xlsx
|
||||||
#在线
|
#在线
|
||||||
VITE_BOE_ONLINE_CLASS_URL=//u-pre.boe.com/pc/course/studyindex?id=
|
VITE_BOE_ONLINE_CLASS_URL=//u-pre.boe.com/pc/course/studyindex?id=
|
||||||
VITE_BOE_CASS_DETAIL_URL=//u-pre.boe.com/pc/case/detail?id=
|
VITE_BOE_CASS_DETAIL_URL=//u-pre.boe.com/pc/case/detail?id=
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ VUE_APP_COURSE_STUDY=//u.boe.com/pc/course/studyindex?id=
|
|||||||
|
|
||||||
VUE_APP_UP_LOAD_STUDENT_TEMPLATE=导入学员模版-1673963663229.xlsx
|
VUE_APP_UP_LOAD_STUDENT_TEMPLATE=导入学员模版-1673963663229.xlsx
|
||||||
# 外部考试导入成绩模板
|
# 外部考试导入成绩模板
|
||||||
VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE=导入成绩模版-1673963663229.xlsx
|
VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE=外部考试学员成绩导入模板-1676551319283.xlsx
|
||||||
|
|
||||||
VITE_BOE_ONLINE_CLASS_URL=//u.boe.com/pc/course/studyindex?id=
|
VITE_BOE_ONLINE_CLASS_URL=//u.boe.com/pc/course/studyindex?id=
|
||||||
VITE_BOE_CASS_DETAIL_URL=//u.boe.com/pc/case/detail?id=
|
VITE_BOE_CASS_DETAIL_URL=//u.boe.com/pc/case/detail?id=
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ VUE_APP_COURSE_STUDY=//u.boe.com/pc-release/course/studyindex?id=
|
|||||||
|
|
||||||
VUE_APP_UP_LOAD_STUDENT_TEMPLATE=导入学员模版-1673963663229.xlsx
|
VUE_APP_UP_LOAD_STUDENT_TEMPLATE=导入学员模版-1673963663229.xlsx
|
||||||
# 外部考试导入成绩模板
|
# 外部考试导入成绩模板
|
||||||
VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE=导入成绩模版-1673963663229.xlsx
|
VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE=外部考试学员成绩导入模板-1676551319283.xlsx
|
||||||
VITE_BOE_ONLINE_CLASS_URL=//u.boe.com/pc-release/course/studyindex?id=
|
VITE_BOE_ONLINE_CLASS_URL=//u.boe.com/pc-release/course/studyindex?id=
|
||||||
VITE_BOE_CASS_DETAIL_URL=//u.boe.com/pc-release/case/detail?id=
|
VITE_BOE_CASS_DETAIL_URL=//u.boe.com/pc-release/case/detail?id=
|
||||||
VITE_BOE_EXAM_DETAIL_URL=//u.boe.com/pc-release/exam/test?id=
|
VITE_BOE_EXAM_DETAIL_URL=//u.boe.com/pc-release/exam/test?id=
|
||||||
@@ -2,4 +2,6 @@ export const STUDENT_LIST = '/admin/student/getStudent'
|
|||||||
export const ONLINE_COURSE_PAGE = '/onlineClasses/queryOnlineList'
|
export const ONLINE_COURSE_PAGE = '/onlineClasses/queryOnlineList'
|
||||||
export const ASSESSMENT_PAGE = '/assessment/queryAssessmentDetailList post'
|
export const ASSESSMENT_PAGE = '/assessment/queryAssessmentDetailList post'
|
||||||
export const PROJECT_AUDIT_PAGE = '/admin/project/auditedlist post'
|
export const PROJECT_AUDIT_PAGE = '/admin/project/auditedlist post'
|
||||||
export const ROUTER_DETAIL_MODIFY = '/admin/router/routerInfoTemp post'
|
export const ROUTER_DETAIL_MODIFY = '/admin/router/routerInfoTemp post'
|
||||||
|
export const PROJECT_DETAIL_MODIFY = '/admin/project/projectInfoTemp post'
|
||||||
|
export const PROJECT_RELEASE = '/admin/project/realease post'
|
||||||
@@ -6,6 +6,7 @@ export const getRouterOverview = (routerId) => http.get(`/admin/router/overview?
|
|||||||
//新建或编辑路径图
|
//新建或编辑路径图
|
||||||
export const editRoutered = (obj) => http.post('/admin/router/edit', obj)
|
export const editRoutered = (obj) => http.post('/admin/router/edit', obj)
|
||||||
export const editRouterModel = (obj) => http.post('/admin/router/editModel', obj)
|
export const editRouterModel = (obj) => http.post('/admin/router/editModel', obj)
|
||||||
|
export const editProjectModel = (obj) => http.post('/admin/project/editModel', obj)
|
||||||
|
|
||||||
// 路径图模式修改接口
|
// 路径图模式修改接口
|
||||||
export const editRouteredModel = (obj) => http.post('/admin/router/editModel', obj)
|
export const editRouteredModel = (obj) => http.post('/admin/router/editModel', obj)
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
:visible="TaskFaceImpStuvisible"
|
:visible="TaskFaceImpStuvisible"
|
||||||
class="drawerStyle TaskFaceImpStu"
|
class="drawerStyle TaskFaceImpStu"
|
||||||
placement="right"
|
placement="right"
|
||||||
width="700px"
|
width="900px"
|
||||||
@after-visible-change="afterVisibleChange"
|
@after-visible-change="afterVisibleChange"
|
||||||
>
|
>
|
||||||
<div class="drawerMain">
|
<div class="drawerMain">
|
||||||
@@ -93,8 +93,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="btnn">
|
<div class="btnn">
|
||||||
<button class="btn1">取消</button>
|
<button class="btn1" @click="exitDraw">取消</button>
|
||||||
<button class="btn2">确定</button>
|
<button class="btn2" @click="exitDraw">确定</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-drawer>
|
</a-drawer>
|
||||||
@@ -120,10 +120,15 @@ export default {
|
|||||||
console.log("state", bool);
|
console.log("state", bool);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const exitDraw = () => {
|
||||||
|
ctx.emit("update:TaskFaceImpStuvisible", false);
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
afterVisibleChange,
|
afterVisibleChange,
|
||||||
closeDrawer,
|
closeDrawer,
|
||||||
|
exitDraw
|
||||||
// change,
|
// change,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -75,7 +75,7 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import {computed, defineEmits, defineProps, ref, watch} from "vue";
|
import {computed, defineEmits, defineProps, ref, watch} from "vue";
|
||||||
import {editRouterModel} from "@/api/indexLearningPath";
|
import {editProjectModel, editRouterModel} from "@/api/indexLearningPath";
|
||||||
|
|
||||||
const emit = defineEmits({})
|
const emit = defineEmits({})
|
||||||
const visible = ref(false)
|
const visible = ref(false)
|
||||||
@@ -103,20 +103,22 @@ const closeDrawer = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function selectClassify(e) {
|
function selectClassify(e) {
|
||||||
|
if (e.type === 1) {
|
||||||
if(e.type === 1){
|
|
||||||
routerInfoData.value.unlockMode = e.type
|
routerInfoData.value.unlockMode = e.type
|
||||||
}
|
}
|
||||||
// 当为学习路径图时候 直接默认第一个选项 不用选中
|
// 当为学习路径图时候 直接默认第一个选项 不用选中
|
||||||
if(e.type==2 && props.types==1){
|
if (e.type === 2 && props.types === 1) {
|
||||||
routerInfoData.value.unlockMode = e.type
|
routerInfoData.value.unlockMode = e.type
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const saveUnlock = () => {
|
const saveUnlock = () => {
|
||||||
emit("update:userInfo", routerInfoData.value)
|
emit("update:userInfo", routerInfoData.value)
|
||||||
editRouterModel(routerInfoData.value)
|
if (props.types === 2) {
|
||||||
|
editProjectModel(routerInfoData.value)
|
||||||
|
} else {
|
||||||
|
editRouterModel(routerInfoData.value)
|
||||||
|
}
|
||||||
closeDrawer()
|
closeDrawer()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import onLineImg from '@/assets/images/leveladd/zai.png'
|
import onLineImg from '@/assets/images/leveladd/zai.png'
|
||||||
import faceCourseImg from '@/assets/images/leveladd/mian.png'
|
// import faceCourseImg from '@/assets/images/leveladd/mian.png'
|
||||||
import caseImg from '@/assets/images/leveladd/an.png'
|
import caseImg from '@/assets/images/leveladd/an.png'
|
||||||
import workImg from '@/assets/images/leveladd/zuo.png'
|
import workImg from '@/assets/images/leveladd/zuo.png'
|
||||||
import exaImg from '@/assets/images/leveladd/kao.png'
|
import exaImg from '@/assets/images/leveladd/kao.png'
|
||||||
@@ -24,7 +24,7 @@ import AddVote from "@/components/vote/AddVote.vue";
|
|||||||
import AddLive from "@/components/drawers/AddLive.vue";
|
import AddLive from "@/components/drawers/AddLive.vue";
|
||||||
import AddRef from "@/components/drawers/AddRef.vue";
|
import AddRef from "@/components/drawers/AddRef.vue";
|
||||||
import AddProject from "@/components/drawers/AddProject.vue";
|
import AddProject from "@/components/drawers/AddProject.vue";
|
||||||
import AddFaceteach from "@/components/drawers/AddFaceteach.vue";
|
// import AddFaceteach from "@/components/drawers/AddFaceteach.vue";
|
||||||
|
|
||||||
export const TASK_TYPE = {
|
export const TASK_TYPE = {
|
||||||
1: {
|
1: {
|
||||||
@@ -32,11 +32,11 @@ export const TASK_TYPE = {
|
|||||||
img: onLineImg,
|
img: onLineImg,
|
||||||
component: AddOnline
|
component: AddOnline
|
||||||
},
|
},
|
||||||
2: {
|
// 2: {
|
||||||
name: '面授',
|
// name: '面授',
|
||||||
img: faceCourseImg,
|
// img: faceCourseImg,
|
||||||
component: AddFaceteach
|
// component: AddFaceteach
|
||||||
},
|
// },
|
||||||
3: {
|
3: {
|
||||||
name: '案例',
|
name: '案例',
|
||||||
img: caseImg,
|
img: caseImg,
|
||||||
|
|||||||
@@ -326,6 +326,12 @@
|
|||||||
<div class="onerow">
|
<div class="onerow">
|
||||||
<div class="taskmain">任务大纲</div>
|
<div class="taskmain">任务大纲</div>
|
||||||
|
|
||||||
|
<div
|
||||||
|
@click="showFaceStuSignUp"
|
||||||
|
class="editright"
|
||||||
|
style="margin-right:130px;cursor: pointer;">
|
||||||
|
<span class="editextb" style="margin-left:0px;">批量面授报名</span>
|
||||||
|
</div>
|
||||||
<router-link
|
<router-link
|
||||||
:to="{ path: '/leveladddetail', query: { routerId: routerId } }"
|
:to="{ path: '/leveladddetail', query: { routerId: routerId } }"
|
||||||
class="editright"
|
class="editright"
|
||||||
@@ -404,8 +410,7 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
"
|
">
|
||||||
>
|
|
||||||
<img
|
<img
|
||||||
:src="
|
:src="
|
||||||
item.type == 1
|
item.type == 1
|
||||||
@@ -1353,6 +1358,9 @@
|
|||||||
:levelName="pjLevelName"
|
:levelName="pjLevelName"
|
||||||
/>
|
/>
|
||||||
<!-- 项目管理抽屉 结束-->
|
<!-- 项目管理抽屉 结束-->
|
||||||
|
|
||||||
|
<!-- 批量面授报名 -->
|
||||||
|
<task-imp-stu v-model:TaskFaceImpStuvisible="TaskFaceImpStuvisible" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
@@ -1386,6 +1394,9 @@ import RouterHomeworkManage from "../../components/drawers/router/RouterHomework
|
|||||||
import RouterCommonManage from "../../components/drawers/router/RouterCommonManage";
|
import RouterCommonManage from "../../components/drawers/router/RouterCommonManage";
|
||||||
import RouterVoteManage from "../../components/drawers/router/RouterVoteManage";
|
import RouterVoteManage from "../../components/drawers/router/RouterVoteManage";
|
||||||
import RouterProjectManage from "../../components/drawers/router/RouterProjectManage";
|
import RouterProjectManage from "../../components/drawers/router/RouterProjectManage";
|
||||||
|
|
||||||
|
import TaskImpStu from "../../components/drawers/TaskFaceIn";
|
||||||
|
|
||||||
import { checkPer } from "@/utils/utils";
|
import { checkPer } from "@/utils/utils";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@@ -1404,7 +1415,7 @@ export default {
|
|||||||
SeeStu,
|
SeeStu,
|
||||||
TwoDimensionalCode,
|
TwoDimensionalCode,
|
||||||
TableStudent,
|
TableStudent,
|
||||||
|
TaskImpStu,
|
||||||
RouterFaceTeachManage,
|
RouterFaceTeachManage,
|
||||||
RouterExaminationManage,
|
RouterExaminationManage,
|
||||||
RouterExaminationExternalManage,
|
RouterExaminationExternalManage,
|
||||||
@@ -1625,6 +1636,7 @@ export default {
|
|||||||
? "http://43.143.139.204:12016/"
|
? "http://43.143.139.204:12016/"
|
||||||
: location.href.slice(0, location.href.indexOf("/m")) + "/upload/",
|
: location.href.slice(0, location.href.indexOf("/m")) + "/upload/",
|
||||||
isreload: true,
|
isreload: true,
|
||||||
|
TaskFaceImpStuvisible: false
|
||||||
});
|
});
|
||||||
|
|
||||||
const levelList = reactive({
|
const levelList = reactive({
|
||||||
@@ -2840,6 +2852,12 @@ export default {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 面授课学员报名弹框
|
||||||
|
const showFaceStuSignUp = () => {
|
||||||
|
console.log('我点击了- 批量面授报名')
|
||||||
|
state.TaskFaceImpStuvisible = true;
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
...toRefs(levelList),
|
...toRefs(levelList),
|
||||||
@@ -2913,6 +2931,7 @@ export default {
|
|||||||
selectProjectName4,
|
selectProjectName4,
|
||||||
changeLevel,
|
changeLevel,
|
||||||
checkPer,
|
checkPer,
|
||||||
|
showFaceStuSignUp
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -128,8 +128,7 @@
|
|||||||
<a-select-option :value="3">闯关模式</a-select-option>
|
<a-select-option :value="3">闯关模式</a-select-option>
|
||||||
</a-select> -->
|
</a-select> -->
|
||||||
<unlock-mode :routerInfo="routerInfo.routerInfo" :types="types">
|
<unlock-mode :routerInfo="routerInfo.routerInfo" :types="types">
|
||||||
<a-button type="primary" size="large" style="border-radius: 8px;margin-left: 24px;">切换模式
|
<a-button type="primary" size="large" style="border-radius: 8px;margin-left: 24px;">切换模式</a-button>
|
||||||
</a-button>
|
|
||||||
</unlock-mode>
|
</unlock-mode>
|
||||||
</div>
|
</div>
|
||||||
<div class="line"></div>
|
<div class="line"></div>
|
||||||
@@ -254,7 +253,7 @@
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
" :title="element.creater">
|
" :title="element.name">
|
||||||
{{ element.name }}
|
{{ element.name }}
|
||||||
</div>
|
</div>
|
||||||
<div style="width: 120px; text-align: center">
|
<div style="width: 120px; text-align: center">
|
||||||
@@ -610,7 +609,7 @@ const temporaryStorage = async () => {
|
|||||||
const submitStorage = async () => {
|
const submitStorage = async () => {
|
||||||
confirmLoading.value = true
|
confirmLoading.value = true
|
||||||
await releaseRouter(routerId)
|
await releaseRouter(routerId)
|
||||||
message.success("关卡和任务数据已保存,将返回上一页")
|
message.success("关卡和任务数据已保存")
|
||||||
confirmLoading.value = false
|
confirmLoading.value = false
|
||||||
};
|
};
|
||||||
//取消
|
//取消
|
||||||
|
|||||||
@@ -303,23 +303,23 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { onMounted, reactive, toRefs, watch } from "vue";
|
import {onMounted, reactive, toRefs, watch} from "vue";
|
||||||
import { message } from "ant-design-vue";
|
import {message} from "ant-design-vue";
|
||||||
import { useRoute, useRouter } from "vue-router";
|
import {useRoute, useRouter} from "vue-router";
|
||||||
import * as api from "../../api/index";
|
import * as api from "../../api/index";
|
||||||
import { useStore } from "vuex";
|
import {useStore} from "vuex";
|
||||||
import * as moment from "moment";
|
import * as moment from "moment";
|
||||||
// import ProjectClass from "@/components/project/ProjectClass";
|
|
||||||
import TrainClass from "@/components/project/TrainClass";
|
import TrainClass from "@/components/project/TrainClass";
|
||||||
import OrgClass from "@/components/project/OrgClass";
|
import OrgClass from "@/components/project/OrgClass";
|
||||||
import ProjectManager from "@/components/project/ProjectManagerNew";
|
import ProjectManager from "@/components/project/ProjectManagerNew";
|
||||||
import NameInput from "@/components/project/NameInput";
|
import NameInput from "@/components/project/NameInput";
|
||||||
import ProjectLevel from "@/components/project/ProjectLevel";
|
import ProjectLevel from "@/components/project/ProjectLevel";
|
||||||
import { storage } from "../../api/storage";
|
import {storage} from "../../api/storage";
|
||||||
import * as api2 from "../../api/indexAudit";
|
import * as api2 from "../../api/indexAudit";
|
||||||
import { validateName } from "@/api/index1";
|
import {validateName} from "@/api/index1";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
import { scrollLoad } from "@/api/method";
|
import {scrollLoad} from "@/api/method";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "projectAdd",
|
name: "projectAdd",
|
||||||
components: {
|
components: {
|
||||||
|
|||||||
@@ -419,9 +419,10 @@
|
|||||||
<div class="onerow">
|
<div class="onerow">
|
||||||
<div class="taskmain">任务大纲</div>
|
<div class="taskmain">任务大纲</div>
|
||||||
<!-- 2022-11-30注释 后面放开 -->
|
<!-- 2022-11-30注释 后面放开 -->
|
||||||
<!-- <button class="btn" @click="showFaceIn" v-if="morFaceT">
|
<!-- <button class="btn" @click="showFaceIn" v-if="morFaceT"> -->
|
||||||
|
<button class="btn" @click="showFaceIn">
|
||||||
批量面授报名
|
批量面授报名
|
||||||
</button> -->
|
</button>
|
||||||
<router-link
|
<router-link
|
||||||
v-if="checkPer(permissions)"
|
v-if="checkPer(permissions)"
|
||||||
:to="{ path: `/taskadd`, query: { projectId: projectId } }"
|
:to="{ path: `/taskadd`, query: { projectId: projectId } }"
|
||||||
|
|||||||
Reference in New Issue
Block a user