mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-15 13:56:45 +08:00
Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
@@ -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:
|
||||||
|
|||||||
@@ -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
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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, // 是否为外部考试
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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() {
|
||||||
|
|||||||
@@ -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() {
|
||||||
|
|||||||
@@ -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,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user