This commit is contained in:
quhongwei
2023-02-16 22:11:58 +08:00
13 changed files with 67 additions and 38 deletions

2
.env
View File

@@ -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=

View File

@@ -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=

View File

@@ -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=

View File

@@ -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=

View File

@@ -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'

View File

@@ -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)

View File

@@ -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,
}; };
}, },

View File

@@ -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()
} }

View File

@@ -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,

View File

@@ -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
}; };
}, },
}; };

View File

@@ -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
}; };
//取消 //取消

View File

@@ -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: {

View File

@@ -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 } }"