Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
yuping
2023-01-29 00:07:06 +08:00
12 changed files with 677 additions and 378 deletions

View File

@@ -18,7 +18,13 @@
<div class="main"> <div class="main">
<div class="minatitl"> <div class="minatitl">
<div class="up1">请下载</div> <div class="up1">请下载</div>
<a class="up2" :href="locationHref + template" target="_blank" style="cursor: pointer">模板</a> <a
class="up2"
:href="locationHref + template"
target="_blank"
style="cursor: pointer"
>模板</a
>
<div class="up1">按要求填写数据并导入</div> <div class="up1">按要求填写数据并导入</div>
</div> </div>
<div class="upload"> <div class="upload">
@@ -105,7 +111,9 @@
> >
<div class="lefimg"></div> <div class="lefimg"></div>
<div class="tacl"> <div class="tacl">
{{ succNum }}条数据导入成功{{ downloadErrUrl == ''? 0 :errNum }}条数据导入失败 {{ succNum }}条数据导入成功{{
downloadErrUrl == "" ? 0 : errNum
}}条数据导入失败
</div> </div>
</div> </div>
@@ -200,7 +208,7 @@ export default {
const state = reactive({ const state = reactive({
locationHref: locationHref:
location.href.indexOf("http://") !== -1 location.href.indexOf("http://") !== -1
? "http://111.231.196.214: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/",
template: process.env.VUE_APP_UP_LOAD_STUDENT_TEMPLATE, template: process.env.VUE_APP_UP_LOAD_STUDENT_TEMPLATE,
importStudent: importStudent:

View File

@@ -65,7 +65,14 @@
</div> </div>
</div> </div>
</div> </div>
<div class="main_notice" v-if="edit">
<div class="main_item" style="margin-top: 16px;">
<button class="xkbtn" @click="goProjectmanage">
新建项目
</button>
</div>
<div class="main_notice" v-if="edit" style="display:none;">
<div class="mntc_left"> <div class="mntc_left">
<div class="notice_icon"></div> <div class="notice_icon"></div>
<div v-if="selectedRows.length == 0"> <div v-if="selectedRows.length == 0">
@@ -227,6 +234,7 @@ import { RouterEditTask } from "@/api/indexTask";
import { message } from "ant-design-vue"; import { message } from "ant-design-vue";
// import * as apiProj from "../../api/index.js"; // import * as apiProj from "../../api/index.js";
import dayjs from "dayjs"; import dayjs from "dayjs";
import { useRouter } from "vue-router";
import * as indexAudit from "../../api/indexAudit"; import * as indexAudit from "../../api/indexAudit";
export default { export default {
@@ -283,6 +291,7 @@ export default {
}, },
}, },
setup(props, ctx) { setup(props, ctx) {
const router = useRouter();
const state = reactive({ const state = reactive({
inputV1: "", inputV1: "",
inputV2: "", inputV2: "",
@@ -601,6 +610,12 @@ export default {
closeDrawer(); closeDrawer();
ctx.emit("changeData", false); ctx.emit("changeData", false);
}; };
// 新建项目
const goProjectmanage = () => {
router.push({ path: "/projectmanage" });
}
return { return {
...toRefs(state), ...toRefs(state),
afterVisibleChange, afterVisibleChange,
@@ -619,6 +634,7 @@ export default {
sureSameModal, sureSameModal,
changePagination, changePagination,
getCurrentPage, getCurrentPage,
goProjectmanage
}; };
}, },
}; };

View File

@@ -16,25 +16,25 @@
/> />
</div> </div>
<!-- 2022-11-30注释 后面放开 修改div的padding-topL:32 --> <!-- 2022-11-30注释 后面放开 修改div的padding-topL:32 -->
<div style="display: flex; flex-direction: row; padding-top: 0px"> <div style="display: flex; flex-direction: row; padding-top: 0px; margin-top: 20px; margin-left: 32px;">
<!-- <button <button
style="width: 100px" style="width: 100px; cursor: pointer;"
@click="changeOuter(1)" @click="changeOuter(1)"
:class="[isOuter == 1 ? 'outer' : 'notOuter']" :class="[isOuter == 1 ? 'outer' : 'notOuter']"
> >
系统考试 系统考试
</button> --> </button>
<!-- <button <button
style="width: 100px" style="width: 100px; cursor: pointer;"
@click="changeOuter(2)" @click="changeOuter(2)"
:class="[isOuter == 2 ? 'outer' : 'notOuter']" :class="[isOuter == 2 ? 'outer' : 'notOuter']"
> >
外部考试 外部考试
</button> --> </button>
</div> </div>
<div class="contentMain"> <div v-if="isOuter==1" class="contentMain">
<div class="main_left"> <div class="main_left">
<div class="main_item"> <div class="main_item">
<div class="signbox"> <div class="signbox">
@@ -289,6 +289,63 @@
<div class="main_item" style="height: 20px;"></div> <div class="main_item" style="height: 20px;"></div>
</div> </div>
</div> </div>
<div v-else class="contentMain">
<div class="main_left">
<div class="main_item">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div>
<span style="margin-right: 3px">考试名称</span>
</div>
<div class="btnbox">
<a-input
v-model:value="test1.examinationName"
style="width: 400px; height: 40px; border-radius: 8px"
placeholder="请输入考试名称"
:maxlength="20"
/>
</div>
</div>
<div class="main_item">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div>
<span style="margin-right: 3px">数据来源</span>
</div>
<div class="btnbox">
<a-input
v-model:value="test1.examinationName"
style="width: 400px; height: 40px; border-radius: 8px"
placeholder="请输入考试名称"
:maxlength="20"
/>
</div>
</div>
<div class="main_item2">
<div class="signbox">
<span style="margin-right: 3px">考试说明</span>
</div>
<div class="textarea">
<a-textarea
v-model:value="test1.examinationExplain"
placeholder="请输入考试说明"
allow-clear
show-count
:maxlength="200"
:rows="6"
/>
</div>
</div>
</div>
</div>
<div class="main_btns"> <div class="main_btns">
<a-button class="btn1" @click="closeDrawer2">取消</a-button> <a-button class="btn1" @click="closeDrawer2">取消</a-button>
<a-button class="btn2" @click="updateTest">确定</a-button> <a-button class="btn2" @click="updateTest">确定</a-button>
@@ -398,6 +455,18 @@ export default {
scoringModel: 2, scoringModel: 2,
questionArrangement: 4, questionArrangement: 4,
}, },
test1: {
examinationName: '',
chooseTime: '',
examinationDuration: '',
passLine: '',
examinationExplain: null,
examinationLimit: null,
showAnswers: 1,
showAnalysis: 1,
scoringModel: 2,
questionArrangement: 4,
},
addLoading: false, addLoading: false,
isOuter: 1, // 是否为外部考试 isOuter: 1, // 是否为外部考试

View File

@@ -18,7 +18,14 @@
<div class="btnText">重置</div> <div class="btnText">重置</div>
</div> </div>
</div> </div>
<div class="main_notice">
<div class="main_item">
<button class="xkbtn" @click="goResearchmanage">
新建评估
</button>
</div>
<div class="main_notice" style="display:none;">
<div class="mntc_left"> <div class="mntc_left">
<div class="notice_icon"></div> <div class="notice_icon"></div>
<div v-if="assessment == null"> <div v-if="assessment == null">
@@ -114,6 +121,8 @@
import { reactive, toRefs, onMounted, watch } from "vue"; import { reactive, toRefs, onMounted, watch } from "vue";
import * as api from "../../api/indexInvist.js"; import * as api from "../../api/indexInvist.js";
import dayjs from "dayjs"; import dayjs from "dayjs";
import { useRouter } from "vue-router";
export default { export default {
name: "AssessmentAll", name: "AssessmentAll",
// components: { // components: {
@@ -133,6 +142,7 @@ export default {
}, },
}, },
setup(props, ctx) { setup(props, ctx) {
const router = useRouter();
const state = reactive({ const state = reactive({
assessmentVisible: false, assessmentVisible: false,
assessment: null, assessment: null,
@@ -355,6 +365,11 @@ export default {
} }
); );
// 新建评估
const goResearchmanage = () => {
router.push({ path: "/researchmanage" });
}
return { return {
...toRefs(state), ...toRefs(state),
onSelectChange, onSelectChange,
@@ -366,11 +381,22 @@ export default {
queryInfo, queryInfo,
searchList, searchList,
afterVisibleChange, afterVisibleChange,
goResearchmanage
}; };
}, },
}; };
</script> </script>
<style lang="scss"> <style lang="scss">
.xkbtn {
cursor: pointer;
width: 130px;
height: 40px;
background: #4ea6ff;
border-radius: 8px;
border: 0;
margin-right: 8px;
color: #fff;
}
.ant-table-striped :deep(.table-striped) td { .ant-table-striped :deep(.table-striped) td {
background-color: #fafafa !important; background-color: #fafafa !important;
} }

View File

@@ -46,6 +46,11 @@
</div> </div>
</div> </div>
</div> </div>
<div class="main_items" style="margin-bottom:32px;">
<button class="xkbtn" @click="goCoursewaremanage">
新建课程
</button>
</div>
<!-- <!--
<div class="main_notice"> <div class="main_notice">
<div class="mntc_left"> <div class="mntc_left">
@@ -121,6 +126,8 @@ import { reactive, toRefs, computed } from "vue";
//import {detail} from "../../api/indexCourse"; //import {detail} from "../../api/indexCourse";
import { list } from "../../api/indexTaskadd"; import { list } from "../../api/indexTaskadd";
import {useStore} from "vuex"; import {useStore} from "vuex";
import { useRouter } from "vue-router";
@@ -196,6 +203,7 @@ export default {
}, },
}, },
setup(props, ctx) { setup(props, ctx) {
const router = useRouter();
const store = useStore(); const store = useStore();
const state = reactive({ const state = reactive({
classTableData: [ classTableData: [
@@ -574,6 +582,12 @@ export default {
state.currentPage = page; state.currentPage = page;
getClassList(); getClassList();
}; };
// 新建课程
const goCoursewaremanage = () => {
router.push({ path: "/coursewaremanage" });
}
return { return {
...toRefs(state), ...toRefs(state),
// showDrawerSelFacet, // showDrawerSelFacet,
@@ -589,13 +603,25 @@ export default {
rowSelection, rowSelection,
search, search,
submitCourse, submitCourse,
goCoursewaremanage
// change, // change,
}; };
}, },
}; };
</script> </script>
<style lang="scss"> <style lang="scss">
.xkbtn {
cursor: pointer;
width: 130px;
height: 40px;
background: #4ea6ff;
border-radius: 8px;
border: 0;
margin-right: 8px;
color: #fff;
}
.ant-table-striped :deep(.table-striped) td { .ant-table-striped :deep(.table-striped) td {
background-color: #fafafa !important; background-color: #fafafa !important;
} }

View File

@@ -3,7 +3,7 @@
:visible="Svisible" :visible="Svisible"
class="drawerStyle subset" class="drawerStyle subset"
placement="right" placement="right"
width="70%" width="640px"
@after-visible-change="afterVisibleChange" @after-visible-change="afterVisibleChange"
> >
<div class="drawerMain"> <div class="drawerMain">
@@ -16,39 +16,43 @@
/> />
</div> </div>
<div class="main"> <div class="main">
<div class="groupl">小组</div> <div class="group">
<span>创建</span>
<a-input-number
:min="0"
:precision="0"
style="width: 64px; height: 40px; border-radius: 8px"
v-model:value="inputV2"
/>
<span style="margin-left: 8px">个小组</span>
<span>每组</span>
<a-input-number
:min="0"
:precision="0"
style="width: 64px; height: 40px; border-radius: 8px"
v-model:value="inputV2"
/>
<span style="margin-left: 8px">个学员</span>
<button class="sure">确定</button>
</div>
<!-- <div class="groupl">小组</div> -->
<div> <div>
<div class="groupin"> <div class="groupin">
<a-input <a-input
v-model:value="value1" v-model:value="value1"
placeholder="好好学习小组"
style="border-radius: 8px; height: 40px"
/>
<div class="delete">删除</div>
</div>
<div class="groupin">
<a-input
v-model:value="value2"
placeholder="全能小组"
style="border-radius: 8px; height: 40px"
/>
<div class="delete">删除</div>
</div>
<div class="groupin">
<a-input
v-model:value="value3"
placeholder="宇宙第一最强小组"
style="border-radius: 8px; height: 40px" style="border-radius: 8px; height: 40px"
/> />
<div class="peopleNum">20</div>
<span style="margin-left: 3px"></span>
<div class="delete">删除</div> <div class="delete">删除</div>
</div> </div>
</div> </div>
</div> </div>
<div class="addgroup" @click="showAddGroup"> <!-- <div class="addgroup" @click="showAddGroup">
<img src="../../assets/images/courseManage/add0.png" /> <img src="../../assets/images/courseManage/add0.png" />
<span class="grot">创建小组</span> <span class="grot">创建小组</span>
</div> </div> -->
<div class="zhu">随机分组不对小组长生效</div> <!-- <div class="zhu">随机分组不对小组长生效</div> -->
<div class="btnn"> <div class="btnn">
<button class="btn1">取消</button> <button class="btn1">取消</button>
<button class="btn2">确定</button> <button class="btn2">确定</button>
@@ -139,11 +143,33 @@ export default {
} }
} }
.main { .main {
.group {
display: flex; display: flex;
align-items: center;
font-size: 16px;
font-weight: 400;
color: rgba(0, 0, 0, 0.85);
line-height: 22px;
.sure {
cursor: pointer;
width: 100px;
height: 40px;
background: #4ea6ff;
border-radius: 8px;
border: 0;
margin-left: 15px;
color: #fff;
margin-left: 32px;
}
}
.groupin { .groupin {
display: flex; display: flex;
align-items: center; align-items: center;
margin-top: 32px; margin-top: 32px;
font-size: 16px;
font-weight: 400;
color: rgba(0, 0, 0, 0.85);
line-height: 22px;
.ant-input { .ant-input {
border-radius: 5px; border-radius: 5px;
// height: 120%; // height: 120%;
@@ -156,6 +182,17 @@ export default {
margin-left: 10px; margin-left: 10px;
cursor: pointer; cursor: pointer;
} }
.peopleNum {
width: 56px;
height: 40px;
border-radius: 8px;
border: 1px solid #c7cbd2;
display: flex;
align-items: center;
justify-content: center;
margin-left: 12px;
}
} }
.groupl { .groupl {
color: rgba(0, 0, 0, 0.85); color: rgba(0, 0, 0, 0.85);

View File

@@ -1,15 +1,30 @@
<!-- 课件管理页面 --> <!-- 课件管理页面 -->
<template> <template>
<!-- 预览弹窗 --> <!-- 预览弹窗 -->
<a-modal :visible="visible" title="查看" :footer="null" :closable="false" wrapClassName="modalStyle lookCourseModal" <a-modal
width="80%" @cancel="handleCancel" @ok="handleCancel"> :visible="visible"
title="查看"
:footer="null"
:closable="false"
wrapClassName="modalStyle lookCourseModal"
width="80%"
@cancel="handleCancel"
@ok="handleCancel"
>
<div class="modalHeader"> <div class="modalHeader">
<div class="headerLeft"> <div class="headerLeft">
<img style="width: 17px; height: 18px; margin-right: 8px" src="@/assets/images/basicinfo/add.png"/> <img
style="width: 17px; height: 18px; margin-right: 8px"
src="@/assets/images/basicinfo/add.png"
/>
<span class="headerLeftText">预览</span> <span class="headerLeftText">预览</span>
</div> </div>
<div style="margin-right: 57px; cursor: pointer"> <div style="margin-right: 57px; cursor: pointer">
<img @click="handleCancel" style="width: 22px; height: 22px" src="@/assets/images/basicinfo/close22.png"/> <img
@click="handleCancel"
style="width: 22px; height: 22px"
src="@/assets/images/basicinfo/close22.png"
/>
</div> </div>
</div> </div>
<div class="modalMain"> <div class="modalMain">
@@ -20,7 +35,10 @@
<div class="mbl_items"> <div class="mbl_items">
<div class="item_nam"> <div class="item_nam">
<div class="asterisk_icon"> <div class="asterisk_icon">
<img src="@/assets/images/coursewareManage/asterisk.png" alt="img"/> <img
src="@/assets/images/coursewareManage/asterisk.png"
alt="img"
/>
</div> </div>
<span style="margin-right: 14px">课程名称</span> <span style="margin-right: 14px">课程名称</span>
</div> </div>
@@ -33,17 +51,27 @@
<div class="mbl_items2"> <div class="mbl_items2">
<div class="item_nam"> <div class="item_nam">
<div class="asterisk_icon"> <div class="asterisk_icon">
<img src="@/assets/images/coursewareManage/asterisk.png" alt="img"/> <img
src="@/assets/images/coursewareManage/asterisk.png"
alt="img"
/>
</div> </div>
<span style="margin-right: 14px">封面图</span> <span style="margin-right: 14px">封面图</span>
</div> </div>
<img :src="detail.picUrl" alt="img" style="width: 100px; height: 100px"/> <img
:src="detail.picUrl"
alt="img"
style="width: 100px; height: 100px"
/>
</div> </div>
<div class="mbl_items"> <div class="mbl_items">
<div class="item_nam"> <div class="item_nam">
<div class="asterisk_icon"> <div class="asterisk_icon">
<img style="width: 10px; height: 10px" src="@/assets/images/coursewareManage/asterisk.png" <img
alt="img"/> style="width: 10px; height: 10px"
src="@/assets/images/coursewareManage/asterisk.png"
alt="img"
/>
</div> </div>
<span style="margin-right: 14px">目标人群</span> <span style="margin-right: 14px">目标人群</span>
</div> </div>
@@ -66,7 +94,10 @@
<div class="mbl_items"> <div class="mbl_items">
<div class="item_nam"> <div class="item_nam">
<div class="asterisk_icon"> <div class="asterisk_icon">
<img src="@/assets/images/coursewareManage/asterisk.png" alt="img"/> <img
src="@/assets/images/coursewareManage/asterisk.png"
alt="img"
/>
</div> </div>
<span style="margin-right: 14px">内容分类</span> <span style="margin-right: 14px">内容分类</span>
</div> </div>
@@ -99,7 +130,10 @@
<!-- <div class="mbl_items"> <!-- <div class="mbl_items">
<div class="item_nam"> <div class="item_nam">
<div class="asterisk_icon"> <div class="asterisk_icon">
<img src="@/assets/images/coursewareManage/asterisk.png" alt="asterisk"/> <img
src="@/assets/images/coursewareManage/asterisk.png"
alt="asterisk"
/>
</div> </div>
<span style="margin-right: 14px">授课教师</span> <span style="margin-right: 14px">授课教师</span>
</div> </div>
@@ -112,7 +146,10 @@
<div class="mbl_items2" v-if="detail.intro"> <div class="mbl_items2" v-if="detail.intro">
<div class="item_nam"> <div class="item_nam">
<div class="asterisk_icon"> <div class="asterisk_icon">
<img src="@/assets/images/coursewareManage/asterisk.png" alt="asterisk"/> <img
src="@/assets/images/coursewareManage/asterisk.png"
alt="asterisk"
/>
</div> </div>
<span style="margin-right: 14px">课程简介</span> <span style="margin-right: 14px">课程简介</span>
</div> </div>
@@ -123,25 +160,50 @@
</div> </div>
</div> </div>
<div class="mbl_items12"> <div class="mbl_items12">
<div class="i12_box1" style="position: relative" v-for="(item, index) in detail.attach" :key="index"> <div
class="i12_box1"
style="position: relative"
v-for="(item, index) in detail.attach"
:key="index"
>
<div class="file_img"> <div class="file_img">
<img v-if=" <img
v-if="
item.indexOf('jpg') !== -1 || item.indexOf('jpg') !== -1 ||
item.indexOf('jpeg') !== -1 || item.indexOf('jpeg') !== -1 ||
item.indexOf('png') !== -1 item.indexOf('png') !== -1
" src="@/assets/images/coursewareManage/pngpic.png"/> "
src="@/assets/images/coursewareManage/pngpic.png"
/>
<div v-else> <div v-else>
<img v-if="item.indexOf('doc') !== -1" src="@/assets/images/coursewareManage/docpic.png"/> <img
v-if="item.indexOf('doc') !== -1"
src="@/assets/images/coursewareManage/docpic.png"
/>
<div v-else> <div v-else>
<img v-if="item.indexOf('xls') !== -1" src="@/assets/images/coursewareManage/xlspic.png"/> <img
v-if="item.indexOf('xls') !== -1"
src="@/assets/images/coursewareManage/xlspic.png"
/>
<div v-else> <div v-else>
<img v-if="item.indexOf('ppt') !== -1" src="@/assets/images/coursewareManage/pptpic.png"/> <img
v-if="item.indexOf('ppt') !== -1"
src="@/assets/images/coursewareManage/pptpic.png"
/>
<div v-else> <div v-else>
<img v-if="item.indexOf('pdf') !== -1" src="@/assets/images/coursewareManage/pdfpic.png"/> <img
v-if="item.indexOf('pdf') !== -1"
src="@/assets/images/coursewareManage/pdfpic.png"
/>
<div v-else> <div v-else>
<img v-if="item.indexOf('zip') !== -1" <img
src="@/assets/images/coursewareManage/zippic.png"/> v-if="item.indexOf('zip') !== -1"
<img v-else src="@/assets/images/coursewareManage/docpic.png"/> src="@/assets/images/coursewareManage/zippic.png"
/>
<img
v-else
src="@/assets/images/coursewareManage/docpic.png"
/>
</div> </div>
</div> </div>
</div> </div>
@@ -150,8 +212,9 @@
</div> </div>
<div class="file_detail"> <div class="file_detail">
<div class="file_name"> <div class="file_name">
<!-- http://111.231.196.214:12016/7.231.196.214:12016/7-1670486854017.jpg --> <!-- http://43.143.139.204:12016/7.231.196.214:12016/7-1670486854017.jpg -->
<span style=" <span
style="
color: #6f6f6f; color: #6f6f6f;
width: 200px; width: 200px;
display: block; display: block;
@@ -161,7 +224,8 @@
position: absolute; position: absolute;
top: 4px; top: 4px;
left: 72px; left: 72px;
"> "
>
{{ {{
item.indexOf("-") !== -1 item.indexOf("-") !== -1
? item.slice( ? item.slice(
@@ -185,7 +249,13 @@
</div> </div>
</div> </div>
</div> </div>
<a :href="item.indexOf('http') !== -1 ? item : locationHref + item" style="margin-left: 5px">下载</a> <a
:href="
item.indexOf('http') !== -1 ? item : locationHref + item
"
style="margin-left: 5px"
>下载</a
>
</div> </div>
</div> </div>
</div> </div>
@@ -196,7 +266,7 @@
</div> </div>
<div class="fotarea"> <div class="fotarea">
<div style="border: 1px solid #ccc"> <div style="border: 1px solid #ccc">
<div v-html="detail.outline"/> <div v-html="detail.outline" />
</div> </div>
</div> </div>
</div> </div>
@@ -211,9 +281,9 @@
</a-modal> </a-modal>
</template> </template>
<script> <script>
import {reactive, toRefs, defineComponent, ref, watch, computed} from "vue"; import { reactive, toRefs, defineComponent, ref, watch, computed } from "vue";
import * as api1 from "../../../api/index1"; import * as api1 from "../../../api/index1";
import {useStore} from "vuex"; import { useStore } from "vuex";
export default defineComponent({ export default defineComponent({
props: { props: {
@@ -226,7 +296,7 @@ export default defineComponent({
default: () => ({}), default: () => ({}),
}, },
}, },
setup(props, {emit}) { setup(props, { emit }) {
console.log("props", props); console.log("props", props);
const store = useStore(); const store = useStore();
@@ -234,151 +304,171 @@ export default defineComponent({
imgList: [], imgList: [],
options2222: [ options2222: [
{ {
title: '领导力', title: "领导力",
value: '100', value: "100",
children: [ children: [
{ {
title: '管理业务', title: "管理业务",
value: '1001', value: "1001",
}, },
{ {
title: '管理团队', title: "管理团队",
value: '1002', value: "1002",
}, },
{ {
title: '管理自我', title: "管理自我",
value: '1003', value: "1003",
}, },
], ],
}, },
{ {
title: '专业力', title: "专业力",
value: '200', value: "200",
children: [ children: [
{ {
title: '研发', title: "研发",
value: '2001', value: "2001",
}, },
{ {
title: '系统和解决方案', title: "系统和解决方案",
value: '2002', value: "2002",
}, },
{ {
title: '生产技术与制造', title: "生产技术与制造",
value: '2003', value: "2003",
}, },
{ {
title: '供应链', title: "供应链",
value: '2004', value: "2004",
}, },
{ {
title: '营销', title: "营销",
value: '2005', value: "2005",
}, },
{ {
title: '品质', title: "品质",
value: '2006', value: "2006",
}, },
{ {
title: '专业职能', title: "专业职能",
value: '2007', value: "2007",
children: [ children: [
{ {
title: '战略与企划', title: "战略与企划",
value: '200701', value: "200701",
}, },
{ {
title: '流程管理', title: "流程管理",
value: '200702', value: "200702",
}, },
{ {
title: '业绩管理', title: "业绩管理",
value: '200703', value: "200703",
}, },
{ {
title: '项目管理', title: "项目管理",
value: '200704', value: "200704",
}, },
{ {
title: '信息技术', title: "信息技术",
value: '200705', value: "200705",
}, },
{ {
title: '环境与安全', title: "环境与安全",
value: '200706', value: "200706",
}, },
{ {
title: '人力资源', title: "人力资源",
value: '200707', value: "200707",
}, },
{ {
title: '企业文化', title: "企业文化",
value: '200708', value: "200708",
}, },
{ {
title: '品牌', title: "品牌",
value: '200709', value: "200709",
}, },
{ {
title: '财务', title: "财务",
value: '200710', value: "200710",
}, },
{ {
title: '法务', title: "法务",
value: '200711', value: "200711",
}, },
{ {
title: '风险控制', title: "风险控制",
value: '200712', value: "200712",
}, },
{ {
title: '行政', title: "行政",
value: '200713' value: "200713",
}, },
]
},
{
title: '医工',
value: '2008',
}
], ],
}, },
{ {
title: '通用力', title: "医工",
value: '300', value: "2008",
},
],
},
{
title: "通用力",
value: "300",
children: [ children: [
{ {
title: '职业操守与道德', title: "职业操守与道德",
value: '3001', value: "3001",
}, },
{ {
title: '职业素养与技能', title: "职业素养与技能",
value: '3002', value: "3002",
}, },
{ {
title: '规章制度', title: "规章制度",
value: '3003', value: "3003",
}, },
], ],
} },
], ],
categoryName: '', categoryName: "",
ceshi: "https://u-pre.boe.com/upload/测试下载ppt2-1671002026755.pptx", ceshi: "https://u-pre.boe.com/upload/测试下载ppt2-1671002026755.pptx",
ceshi2: "http://111.231.196.214:12016/测试下载ppt3-1671001683026.pptx", ceshi2: "http://43.143.139.204:12016/测试下载ppt3-1671001683026.pptx",
locationHref: location.href.indexOf('http://') !== -1 ? 'http://111.231.196.214:12016/' : location.href.slice(0, location.href.indexOf('/m')) + '/upload/' locationHref:
location.href.indexOf("http://") !== -1
? "http://43.143.139.204:12016/"
: location.href.slice(0, location.href.indexOf("/m")) + "/upload/",
}); });
const sysTypeOptions = computed(() => store.state.sysType); const sysTypeOptions = computed(() => store.state.sysType);
watch(() => props.detail.sysTypeId, () => { watch(
state.categoryName = findClassFullName(sysTypeOptions.value) () => props.detail.sysTypeId,
}) () => {
state.categoryName = findClassFullName(sysTypeOptions.value);
}
);
function findClassFullName(list, name = '') { function findClassFullName(list, name = "") {
return list && list.length && list return (
.map(e => props.detail.sysTypeId == e.dictCode ? name ? name + '-' + e.dictName : e.dictName : findClassFullName(e.children, name ? name + '-' + e.dictName : e.dictName)) (list &&
.filter(name => name) list.length &&
.join('') || '' list
.map((e) =>
props.detail.sysTypeId == e.dictCode
? name
? name + "-" + e.dictName
: e.dictName
: findClassFullName(
e.children,
name ? name + "-" + e.dictName : e.dictName
)
)
.filter((name) => name)
.join("")) ||
""
);
} }
const filterTxt = (txt) => { const filterTxt = (txt) => {
@@ -463,7 +553,6 @@ export default defineComponent({
.lookCourseModal { .lookCourseModal {
.ant-modal { .ant-modal {
.ant-modal-content { .ant-modal-content {
// width:1358px !important; // width:1358px !important;
.ant-modal-body { .ant-modal-body {
.modalHeader { .modalHeader {

View File

@@ -851,7 +851,11 @@
> >
<a <a
href="javascript:void(0);" href="javascript:void(0);"
@click="downloadFile(item.response ? item.response.data : '')" @click="
downloadFile(
item.response ? item.response.data : ''
)
"
style="margin-left: 5px" style="margin-left: 5px"
>下载</a >下载</a
> >
@@ -900,8 +904,20 @@
></a-select> ></a-select>
</div> </div>
<div class="btn"> <div class="btn">
<button class="sameb btn1" style="cursor:pointer;" @click="closeChangeModal">取消</button> <button
<button class="sameb btn2" style="cursor:pointer;" @click="changeLevel">确定</button> class="sameb btn1"
style="cursor: pointer"
@click="closeChangeModal"
>
取消
</button>
<button
class="sameb btn2"
style="cursor: pointer"
@click="changeLevel"
>
确定
</button>
</div> </div>
</div> </div>
</div> </div>
@@ -1466,7 +1482,7 @@ export default {
closeDeleteAll: false, closeDeleteAll: false,
curLevel: undefined, curLevel: undefined,
curLevelName: "", curLevelName: "",
curStuID:"", curStuID: "",
taskSyllabusActive: 0, taskSyllabusActive: 0,
//在线管理等页面传递参数 //在线管理等页面传递参数
showTimeText: "", showTimeText: "",
@@ -1546,9 +1562,9 @@ export default {
facestudent: "", facestudent: "",
locationHref: locationHref:
location.href.indexOf("http://") !== -1 location.href.indexOf("http://") !== -1
? "http://111.231.196.214: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,
}); });
const levelList = reactive({ const levelList = reactive({
@@ -2501,9 +2517,9 @@ export default {
// 共享文档文件下载 // 共享文档文件下载
const downloadFile = (url) => { const downloadFile = (url) => {
console.log(url) console.log(url);
if(url){ if (url) {
window.open(url) window.open(url);
} }
// if(url){ // if(url){
// const filename = '操作指南' // const filename = '操作指南'
@@ -2520,55 +2536,57 @@ export default {
// } // }
// x.send() // x.send()
// } // }
} };
// 点击学员管理-查看学员操作 // 点击学员管理-查看学员操作
function showStudent(record) { function showStudent(record) {
console.log(record) console.log(record);
state.CheckStuvisible = true; state.CheckStuvisible = true;
state.studentId = record.studentId; state.studentId = record.studentId;
} }
// 调整关卡 // 调整关卡
function setLevels(record) { function setLevels(record) {
console.log(record) console.log(record);
state.curLevelName = record.currentStageName; state.curLevelName = record.currentStageName;
state.curStuID = record.id; state.curStuID = record.id;
state.visiblene = true; state.visiblene = true;
} }
// 选择要调整的关卡 // 选择要调整的关卡
function selectProjectName4(e){ function selectProjectName4(e) {
console.log(e) console.log(e);
state.curLevel = e; state.curLevel = e;
} }
// 点击确定 调整关卡 // 点击确定 调整关卡
function changeLevel() { function changeLevel() {
state.isreload = false; state.isreload = false;
if(!state.curLevel){ if (!state.curLevel) {
message.error("请选择关卡") message.error("请选择关卡");
return return;
} }
moveStudent({targetId: state.curLevel, ids: [state.curStuID]}).then(res => { moveStudent({ targetId: state.curLevel, ids: [state.curStuID] })
console.log(res) .then((res) => {
console.log(res);
state.visiblene = false; state.visiblene = false;
message.destroy(); message.destroy();
state.isreload = true; state.isreload = true;
message.success("调整关卡成功") message.success("调整关卡成功");
state.curLevel = undefined; state.curLevel = undefined;
state.curStuID = ""; state.curStuID = "";
state.curLevelName = ""; state.curLevelName = "";
getStudent(); getStudent();
}).catch(err=>{ })
console.log(err) .catch((err) => {
console.log(err);
state.visiblene = false; state.visiblene = false;
message.error("调整关卡失败"); message.error("调整关卡失败");
state.isreload = true; state.isreload = true;
state.curLevel = undefined; state.curLevel = undefined;
state.curStuID = ""; state.curStuID = "";
state.curLevelName = ""; state.curLevelName = "";
}) });
} }
return { return {
@@ -2640,7 +2658,7 @@ export default {
showStudent, showStudent,
setLevels, setLevels,
selectProjectName4, selectProjectName4,
changeLevel changeLevel,
}; };
}, },
}; };

View File

@@ -381,7 +381,7 @@
</div> </div>
<div class="lin"></div> <div class="lin"></div>
</div> </div>
<!-- TODO1216 <!-- TODO1216 -->
<div class="item" @click="showDrawerAddDiscuss"> <div class="item" @click="showDrawerAddDiscuss">
<div class="itcon"> <div class="itcon">
<div class="img"> <div class="img">
@@ -403,7 +403,7 @@
/> />
</div> </div>
<div class="lin"></div> <div class="lin"></div>
</div>--> </div>
<div class="item" @click="showDrawerAddActive"> <div class="item" @click="showDrawerAddActive">
<div class="itcon"> <div class="itcon">
<div class="img"> <div class="img">
@@ -476,7 +476,7 @@
</div> </div>
<div class="lin"></div> <div class="lin"></div>
</div> </div>
<!--TODO1216 <!-- TODO1216 -->
<div class="item" @click="showDrawerAddVote"> <div class="item" @click="showDrawerAddVote">
<div class="itcon"> <div class="itcon">
<div class="img"> <div class="img">
@@ -524,7 +524,7 @@
</div> </div>
</div> </div>
</div> </div>
-->
</div> </div>
<div class="boom" :style="{minHeight:level.length>6? ((level.length - 6)*106+512) + 'px' : 512 + 'px'}"> <div class="boom" :style="{minHeight:level.length>6? ((level.length - 6)*106+512) + 'px' : 512 + 'px'}">
<div class="boomcen"> <div class="boomcen">
@@ -1068,14 +1068,14 @@ import AddOnline from "../../components/drawers/AddOnline.vue";
import AddCase from "../../components/drawers/AddCase.vue"; import AddCase from "../../components/drawers/AddCase.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 AddDiscuss from "../../components/drawers/AddDiscuss.vue"; import AddDiscuss from "../../components/drawers/AddDiscuss.vue";
import AddActive from "../../components/drawers/AddActive.vue"; import AddActive from "../../components/drawers/AddActive.vue";
import AddEval from "../../components/drawers/AddEval.vue"; import AddEval from "../../components/drawers/AddEval.vue";
import AddInvist from "../../components/drawers/AddInvist.vue"; import AddInvist from "../../components/drawers/AddInvist.vue";
//import AddVote from "../../components/vote/AddVote.vue"; 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";
import * as api from "../../api/indexLevel"; import * as api from "../../api/indexLevel";
import { GetRouterDetail } from "../../api/indexTask"; import { GetRouterDetail } from "../../api/indexTask";
@@ -1096,18 +1096,18 @@ export default {
AddOnline, AddOnline,
AddCase, AddCase,
AddHomework, AddHomework,
//AddDiscuss, AddDiscuss,
AddActive, AddActive,
AddTest, AddTest,
AddEval, AddEval,
AddInvist, AddInvist,
//AddVote, AddVote,
AddLive, AddLive,
AddRef, AddRef,
draggable, draggable,
// UnlockMode, // UnlockMode,
AddFaceteach, AddFaceteach,
//AddProject, AddProject,
}, },
setup() { setup() {
const router = useRouter(); const router = useRouter();

View File

@@ -243,7 +243,7 @@
<!-- 添加外链侧弹窗 --> <!-- 添加外链侧弹窗 -->
<div class="lin"></div> <div class="lin"></div>
</div> </div>
<!--TODO1216 <!-- TODO1216 -->
<div class="item" @click="showDrawerAddDiscuss"> <div class="item" @click="showDrawerAddDiscuss">
<div class="itcon"> <div class="itcon">
<div class="img"> <div class="img">
@@ -267,7 +267,7 @@
<div class="lin"></div> <div class="lin"></div>
</div> </div>
-->
<div class="item" @click="showDrawerAddActive"> <div class="item" @click="showDrawerAddActive">
<div class="itcon"> <div class="itcon">
<div class="img"> <div class="img">
@@ -317,7 +317,7 @@
<div class="lin"></div> <div class="lin"></div>
</div> </div>
<!--TODO1216 <!-- TODO1216 -->
<div class="item" @click="showDrawerAddVote"> <div class="item" @click="showDrawerAddVote">
<div class="itcon"> <div class="itcon">
<div class="img"> <div class="img">
@@ -343,7 +343,7 @@
</div> </div>
</div> </div>
-->
</div> </div>
<div class="boom"> <div class="boom">
<div class="boomcen"> <div class="boomcen">
@@ -831,11 +831,11 @@ import AddHomework from "../../components/drawers/AddHomework.vue";
import AddTest from "../../components/drawers/AddTest.vue"; import AddTest from "../../components/drawers/AddTest.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 AddDiscuss from "../../components/drawers/AddDiscuss.vue"; import AddDiscuss from "../../components/drawers/AddDiscuss.vue";
import AddActive from "../../components/drawers/AddActive.vue"; import AddActive from "../../components/drawers/AddActive.vue";
import AddEval from "../../components/drawers/AddEval.vue"; import AddEval from "../../components/drawers/AddEval.vue";
import AddInvist from "../../components/drawers/AddInvist.vue"; import AddInvist from "../../components/drawers/AddInvist.vue";
//import AddVote from "../../components/vote/AddVote.vue"; import AddVote from "../../components/vote/AddVote.vue";
import { message } from "ant-design-vue"; import { message } from "ant-design-vue";
import * as api from "../../api/indexTaskadd"; import * as api from "../../api/indexTaskadd";
import * as apistage from "../../api/indexStage"; import * as apistage from "../../api/indexStage";
@@ -855,11 +855,11 @@ export default {
AddTest, AddTest,
AddLive, AddLive,
AddRef, AddRef,
// AddDiscuss, AddDiscuss,
AddActive, AddActive,
AddEval, AddEval,
AddInvist, AddInvist,
//AddVote, AddVote,
// UnlockMode, // UnlockMode,
}, },
setup() { setup() {

View File

@@ -329,7 +329,7 @@
<!-- 添加外链侧弹窗 --> <!-- 添加外链侧弹窗 -->
<div class="lin"></div> <div class="lin"></div>
</div> </div>
<!--TODO1216 <!-- TODO1216 -->
<div class="item" @click="showDrawerAddDiscuss"> <div class="item" @click="showDrawerAddDiscuss">
<div class="itcon"> <div class="itcon">
<div class="img"> <div class="img">
@@ -353,7 +353,7 @@
</div> </div>
<div class="lin"></div> <div class="lin"></div>
</div>--> </div>
<div class="item" @click="showDrawerAddActive"> <div class="item" @click="showDrawerAddActive">
<div class="itcon"> <div class="itcon">
<div class="img"> <div class="img">
@@ -427,7 +427,7 @@
<div class="lin"></div> <div class="lin"></div>
</div> </div>
<!--TODO1216 <!-- TODO1216 -->
<div class="item" @click="showDrawerAddVote"> <div class="item" @click="showDrawerAddVote">
<div class="itcon"> <div class="itcon">
<div class="img"> <div class="img">
@@ -454,7 +454,7 @@
</div> </div>
</div> </div>
-->
</div> </div>
<div class="boom"> <div class="boom">
<div class="boomcen"> <div class="boomcen">
@@ -1082,11 +1082,11 @@ import AddHomework from "../../components/drawers/AddHomework.vue";
import AddTest from "../../components/drawers/AddTest.vue"; import AddTest from "../../components/drawers/AddTest.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 AddDiscuss from "../../components/drawers/AddDiscuss.vue"; import AddDiscuss from "../../components/drawers/AddDiscuss.vue";
import AddActive from "../../components/drawers/AddActive.vue"; import AddActive from "../../components/drawers/AddActive.vue";
import AddEval from "../../components/drawers/AddEval.vue"; import AddEval from "../../components/drawers/AddEval.vue";
import AddInvist from "../../components/drawers/AddInvist.vue"; import AddInvist from "../../components/drawers/AddInvist.vue";
//import AddVote from "../../components/vote/AddVote.vue"; import AddVote from "../../components/vote/AddVote.vue";
import { message } from "ant-design-vue"; import { message } from "ant-design-vue";
import * as api from "../../api/indexTemplate"; import * as api from "../../api/indexTemplate";
import draggable from "vuedraggable"; import draggable from "vuedraggable";
@@ -1144,11 +1144,11 @@ export default {
AddTest, AddTest,
AddLive, AddLive,
AddRef, AddRef,
//AddDiscuss, AddDiscuss,
AddActive, AddActive,
AddEval, AddEval,
AddInvist, AddInvist,
//AddVote, AddVote,
// UnlockMode, // UnlockMode,
}, },
setup() { setup() {

View File

@@ -11,7 +11,6 @@
font-weight: 400; font-weight: 400;
color: #ffffff; color: #ffffff;
line-height: 20px; line-height: 20px;
display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
cursor: pointer; cursor: pointer;
@@ -53,7 +52,7 @@
font-weight: 400; font-weight: 400;
color: #ffffff; color: #ffffff;
line-height: 20px; line-height: 20px;
display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
cursor: pointer; cursor: pointer;
@@ -88,7 +87,6 @@
<div @click="downloadQr(200)">下载200</div> <div @click="downloadQr(200)">下载200</div>
<!-- <div @click="downloadQr(400)">下载400</div> <!-- <div @click="downloadQr(400)">下载400</div>
<div @click="downloadQr(800)">下载800</div> --> <div @click="downloadQr(800)">下载800</div> -->
</div>
<div @click="changeCodevisible">显示二维码弹窗</div> <div @click="changeCodevisible">显示二维码弹窗</div>
<two-dimensional-code <two-dimensional-code
@@ -114,6 +112,10 @@
onChange: onSelectChange, onChange: onSelectChange,
}" }"
/> />
<div @click="randomgroup">分组</div>
<SubsetManage v-model:Svisible="Svisible" />
</div>
</template> </template>
<script> <script>
import { reactive, toRefs } from "vue"; import { reactive, toRefs } from "vue";
@@ -132,6 +134,7 @@ import QrcodeVue from "qrcode.vue";
import html2canvas from "html2canvas"; import html2canvas from "html2canvas";
import TwoDimensionalCode from "../../components/TwoDimensionalCode.vue"; import TwoDimensionalCode from "../../components/TwoDimensionalCode.vue";
import SubsetManage from "../../components/drawers/SubsetManage.vue";
export default { export default {
name: "SystemManage", name: "SystemManage",
components: { components: {
@@ -141,6 +144,7 @@ export default {
draggable, draggable,
QrcodeVue, QrcodeVue,
TwoDimensionalCode, TwoDimensionalCode,
SubsetManage,
}, },
setup() { setup() {
@@ -250,6 +254,7 @@ export default {
}, },
], ],
selectedRowKeys: [], selectedRowKeys: [],
Svisible: true,
}); });
const showDrawer = () => { const showDrawer = () => {
@@ -428,6 +433,10 @@ export default {
} }
state.selectedRowKeys = selectedRowKeys; state.selectedRowKeys = selectedRowKeys;
}; };
const randomgroup = () => {
state.Svisible = true;
};
return { return {
...toRefs(state), ...toRefs(state),
showDrawer, showDrawer,
@@ -440,6 +449,7 @@ export default {
changeCodevisible2, changeCodevisible2,
onSelectChange, onSelectChange,
randomgroup,
}; };
}, },
}; };