mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-20 00:06:47 +08:00
Merge branch 'develop' of http://gitlab.dongwu-inc.com:10080/BOE/fe-manage into develop
This commit is contained in:
@@ -271,7 +271,10 @@ const commonData = {
|
|||||||
//组织树
|
//组织树
|
||||||
const organizationalTree = []
|
const organizationalTree = []
|
||||||
|
|
||||||
|
//嵌套页面
|
||||||
const iframeUrl = "https://u-pre.boe.com/pc/iframe"
|
const iframeUrl = "https://u-pre.boe.com/pc/iframe"
|
||||||
|
//二维码
|
||||||
|
const codeUrl = "https://u-pre.boe.com"
|
||||||
export {
|
export {
|
||||||
throttle,
|
throttle,
|
||||||
toDate,
|
toDate,
|
||||||
@@ -285,4 +288,5 @@ export {
|
|||||||
commonData,
|
commonData,
|
||||||
organizationalTree,
|
organizationalTree,
|
||||||
iframeUrl,
|
iframeUrl,
|
||||||
|
codeUrl,
|
||||||
}
|
}
|
||||||
@@ -242,6 +242,8 @@ export default {
|
|||||||
color: #333333;
|
color: #333333;
|
||||||
line-height: 25px;
|
line-height: 25px;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
|
margin-left: 20px;
|
||||||
|
margin-right: 20px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.codeUrl {
|
.codeUrl {
|
||||||
|
|||||||
@@ -1052,6 +1052,9 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.ant-upload.ant-upload-select-picture-card {
|
||||||
|
border: 0px !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,62 +1,62 @@
|
|||||||
<template>
|
<template>
|
||||||
<a-modal
|
<a-modal
|
||||||
:visible="signQRvisible"
|
:visible="signQRvisible"
|
||||||
:footer="null"
|
:footer="null"
|
||||||
:closable="closeCopy"
|
:closable="closeCopy"
|
||||||
wrapClassName="signQRModal"
|
wrapClassName="signQRModal"
|
||||||
centered="true"
|
centered="true"
|
||||||
@cancel="closeModal"
|
@cancel="closeModal"
|
||||||
>
|
>
|
||||||
<div class="delete">
|
<div class="delete">
|
||||||
<div class="del_header"></div>
|
<div class="del_header"></div>
|
||||||
<div class="del_main">
|
<div class="del_main">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="icon"></div>
|
<div class="icon"></div>
|
||||||
<span>签到二维码</span>
|
<span>签到二维码</span>
|
||||||
<div class="close_exit" @click="closeModal"></div>
|
<div class="close_exit" @click="closeModal"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="body">
|
<div class="body">
|
||||||
<div class="tit">{{"时间管理面授课程"}}</div>
|
<div class="tit">{{ "时间管理面授课程" }}</div>
|
||||||
<div><img src="../../assets/images/taskpage/erweima.png" /></div>
|
<div><img src="../../assets/images/taskpage/erweima.png" /></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footerr">
|
<div class="footerr">
|
||||||
<div class="onload">下载二维码</div>
|
<div class="onload">下载二维码</div>
|
||||||
<div class="onloadpx">200*200</div>
|
<div class="onloadpx">200*200</div>
|
||||||
<div class="onloadpx">400*400</div>
|
<!-- <div class="onloadpx">400*400</div>
|
||||||
<div class="onloadpx">800*800</div>
|
<div class="onloadpx">800*800</div> -->
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-modal>
|
</div>
|
||||||
|
</a-modal>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { reactive,toRefs } from '@vue/reactivity';
|
import { reactive, toRefs } from "@vue/reactivity";
|
||||||
export default {
|
export default {
|
||||||
name:"SignQR",
|
name: "SignQR",
|
||||||
props:{
|
props: {
|
||||||
signQRvisible:{
|
signQRvisible: {
|
||||||
type:Boolean,
|
type: Boolean,
|
||||||
default:false,
|
default: false,
|
||||||
},
|
|
||||||
},
|
},
|
||||||
setup(props,ctx){
|
},
|
||||||
const state = reactive({
|
setup(props, ctx) {
|
||||||
signQRvisible:false,
|
const state = reactive({
|
||||||
closeCopy: false, //二维码关闭图标
|
signQRvisible: false,
|
||||||
})
|
closeCopy: false, //二维码关闭图标
|
||||||
const closeModal = ()=> {
|
});
|
||||||
ctx.emit("update:signQRvisible",false)
|
const closeModal = () => {
|
||||||
}
|
ctx.emit("update:signQRvisible", false);
|
||||||
const afterVisibleChange = (bool) => {
|
};
|
||||||
console.log(bool);
|
const afterVisibleChange = (bool) => {
|
||||||
}
|
console.log(bool);
|
||||||
return{
|
};
|
||||||
...toRefs(state),
|
return {
|
||||||
closeModal,
|
...toRefs(state),
|
||||||
afterVisibleChange,
|
closeModal,
|
||||||
}
|
afterVisibleChange,
|
||||||
}
|
};
|
||||||
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
@@ -132,11 +132,11 @@ export default {
|
|||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
.tit{
|
.tit {
|
||||||
margin-bottom: 15px;
|
margin-bottom: 15px;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.footerr {
|
.footerr {
|
||||||
|
|||||||
@@ -2760,12 +2760,12 @@
|
|||||||
<div class="qrmbtn">
|
<div class="qrmbtn">
|
||||||
<div class="btntext">200*200</div>
|
<div class="btntext">200*200</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="qrmbtn">
|
<!-- <div class="qrmbtn">
|
||||||
<div class="btntext">400*400</div>
|
<div class="btntext">400*400</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="qrmbtn">
|
<div class="qrmbtn">
|
||||||
<div class="btntext">800*800</div>
|
<div class="btntext">800*800</div>
|
||||||
</div>
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -263,7 +263,7 @@ export default {
|
|||||||
let array = [];
|
let array = [];
|
||||||
data.map((item, n) => {
|
data.map((item, n) => {
|
||||||
let obj = {
|
let obj = {
|
||||||
number: n+1,
|
number: n+1 + (state.currentPage-1) *10,
|
||||||
name: item.name || "- ",
|
name: item.name || "- ",
|
||||||
type: item.type == 1 ? "线上" : "线下",
|
type: item.type == 1 ? "线上" : "线下",
|
||||||
content: item.categoryId,
|
content: item.categoryId,
|
||||||
|
|||||||
@@ -426,7 +426,7 @@ export default {
|
|||||||
let array = [];
|
let array = [];
|
||||||
data.map((item, i) => {
|
data.map((item, i) => {
|
||||||
let obj = {
|
let obj = {
|
||||||
number: i+1,
|
number: i+1 + (state.currentPage-1) *10,
|
||||||
name: item.name,
|
name: item.name,
|
||||||
type: item.type == 1 ? "线上" : "线下",
|
type: item.type == 1 ? "线上" : "线下",
|
||||||
content: item.categoryId,
|
content: item.categoryId,
|
||||||
|
|||||||
@@ -302,7 +302,7 @@ export default {
|
|||||||
let numdata = []
|
let numdata = []
|
||||||
result.rows.map((value, index) => {
|
result.rows.map((value, index) => {
|
||||||
let obj = value
|
let obj = value
|
||||||
obj.number = index+1
|
obj.number = index+1 + (state.currentPage-1) *10
|
||||||
numdata.push(obj);
|
numdata.push(obj);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -205,7 +205,7 @@ export default {
|
|||||||
let numdata = []
|
let numdata = []
|
||||||
result.rows.map((value, index) => {
|
result.rows.map((value, index) => {
|
||||||
let obj = value
|
let obj = value
|
||||||
obj.number = index+1
|
obj.number = index+1 + (state.currentPage-1) *10
|
||||||
numdata.push(obj);
|
numdata.push(obj);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,11 @@
|
|||||||
<div class="fort">创建时间:{{ cretime }}</div>
|
<div class="fort">创建时间:{{ cretime }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<img class="img1" src="../../assets/images/leveladd/ma.png" />
|
<img
|
||||||
|
class="img1"
|
||||||
|
src="../../assets/images/leveladd/ma.png"
|
||||||
|
@click="showCodeModel2()"
|
||||||
|
/>
|
||||||
<div v-if="action == 1 || action == 0" class="line"></div>
|
<div v-if="action == 1 || action == 0" class="line"></div>
|
||||||
<img
|
<img
|
||||||
v-if="action == 1 || action == 0"
|
v-if="action == 1 || action == 0"
|
||||||
@@ -510,15 +514,7 @@
|
|||||||
<div
|
<div
|
||||||
class="operation"
|
class="operation"
|
||||||
style="cursor: pointer"
|
style="cursor: pointer"
|
||||||
@click="
|
@click="showCodeModel(item)"
|
||||||
item.type === 2
|
|
||||||
? showCopyModal(item.type)
|
|
||||||
: item.type === 6
|
|
||||||
? showzhibModal(item.type)
|
|
||||||
: item.type === 9
|
|
||||||
? showhuodModal(item.type)
|
|
||||||
: null
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
二维码
|
二维码
|
||||||
</div>
|
</div>
|
||||||
@@ -958,8 +954,8 @@
|
|||||||
<div class="footerr">
|
<div class="footerr">
|
||||||
<div class="onload">下载二维码</div>
|
<div class="onload">下载二维码</div>
|
||||||
<div class="onloadpx">200*200</div>
|
<div class="onloadpx">200*200</div>
|
||||||
<div class="onloadpx">400*400</div>
|
<!-- <div class="onloadpx">400*400</div>
|
||||||
<div class="onloadpx">800*800</div>
|
<div class="onloadpx">800*800</div> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -986,8 +982,8 @@
|
|||||||
<div class="footerr">
|
<div class="footerr">
|
||||||
<div class="onload">下载二维码</div>
|
<div class="onload">下载二维码</div>
|
||||||
<div class="onloadpx">200*200</div>
|
<div class="onloadpx">200*200</div>
|
||||||
<div class="onloadpx">400*400</div>
|
<!-- <div class="onloadpx">400*400</div>
|
||||||
<div class="onloadpx">800*800</div>
|
<div class="onloadpx">800*800</div> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -1014,8 +1010,8 @@
|
|||||||
<div class="footerr">
|
<div class="footerr">
|
||||||
<div class="onload">下载二维码</div>
|
<div class="onload">下载二维码</div>
|
||||||
<div class="onloadpx">200*200</div>
|
<div class="onloadpx">200*200</div>
|
||||||
<div class="onloadpx">400*400</div>
|
<!-- <div class="onloadpx">400*400</div>
|
||||||
<div class="onloadpx">800*800</div>
|
<div class="onloadpx">800*800</div> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -1260,6 +1256,7 @@ import { handleLearnPath } from "../../api/index1";
|
|||||||
import { GetRouterDetail } from "@/api/indexTask";
|
import { GetRouterDetail } from "@/api/indexTask";
|
||||||
import * as api from "../../api/index1";
|
import * as api from "../../api/index1";
|
||||||
import { editRoutered } from "../../api/indexLearningPath";
|
import { editRoutered } from "../../api/indexLearningPath";
|
||||||
|
import { codeUrl } from "../../api/method";
|
||||||
import TwoDimensionalCode from "../../components/TwoDimensionalCode.vue";
|
import TwoDimensionalCode from "../../components/TwoDimensionalCode.vue";
|
||||||
export default {
|
export default {
|
||||||
name: "LevelAdd",
|
name: "LevelAdd",
|
||||||
@@ -1427,6 +1424,9 @@ export default {
|
|||||||
|
|
||||||
authClassify: 3,
|
authClassify: 3,
|
||||||
addAuthList: [],
|
addAuthList: [],
|
||||||
|
|
||||||
|
codevisible: false, //二维码是否显示
|
||||||
|
codeInfo: null, //二维码标题
|
||||||
});
|
});
|
||||||
|
|
||||||
const levelList = reactive({
|
const levelList = reactive({
|
||||||
@@ -2182,6 +2182,27 @@ export default {
|
|||||||
getStudent();
|
getStudent();
|
||||||
// state.activeKey1 = "8";
|
// state.activeKey1 = "8";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//显示二维码弹窗
|
||||||
|
const showCodeModel = (item) => {
|
||||||
|
state.codevisible = true;
|
||||||
|
let obj = {
|
||||||
|
title: "[" + checkType(item.type) + "]二维码",
|
||||||
|
name: item.name,
|
||||||
|
url: codeUrl,
|
||||||
|
};
|
||||||
|
state.codeInfo = obj;
|
||||||
|
};
|
||||||
|
//显示二维码弹窗
|
||||||
|
const showCodeModel2 = () => {
|
||||||
|
state.codevisible = true;
|
||||||
|
let obj = {
|
||||||
|
title: "[学习路径]二维码",
|
||||||
|
name: state.styTitle,
|
||||||
|
url: codeUrl,
|
||||||
|
};
|
||||||
|
state.codeInfo = obj;
|
||||||
|
};
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
...toRefs(levelList),
|
...toRefs(levelList),
|
||||||
@@ -2236,6 +2257,8 @@ export default {
|
|||||||
totask,
|
totask,
|
||||||
tostudent,
|
tostudent,
|
||||||
checkedClose,
|
checkedClose,
|
||||||
|
showCodeModel,
|
||||||
|
showCodeModel2,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -11,7 +11,11 @@
|
|||||||
<div class="fort">起止时间:{{ startTime }}至{{ endTime }}</div>
|
<div class="fort">起止时间:{{ startTime }}至{{ endTime }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<img class="img1" src="../../assets/images/leveladd/ma.png" />
|
<img
|
||||||
|
class="img1"
|
||||||
|
src="../../assets/images/leveladd/ma.png"
|
||||||
|
@click="showCodeModel2()"
|
||||||
|
/>
|
||||||
<div class="line" v-if="action == 1 || action == 0"></div>
|
<div class="line" v-if="action == 1 || action == 0"></div>
|
||||||
<img
|
<img
|
||||||
v-if="action == 1 || action == 0"
|
v-if="action == 1 || action == 0"
|
||||||
@@ -473,7 +477,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div class="iconame">「{{ item.name }}」</div>
|
<div class="iconame">
|
||||||
|
「{{ checkType(item.type) }}」
|
||||||
|
</div>
|
||||||
<div class="icontext">{{ item.name }}</div>
|
<div class="icontext">{{ item.name }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -550,7 +556,7 @@
|
|||||||
<div
|
<div
|
||||||
class="operation"
|
class="operation"
|
||||||
style="cursor: pointer"
|
style="cursor: pointer"
|
||||||
@click="showCodeModal"
|
@click="showCodeModel(item)"
|
||||||
>
|
>
|
||||||
二维码
|
二维码
|
||||||
</div>
|
</div>
|
||||||
@@ -1613,15 +1619,6 @@
|
|||||||
<!-- 编辑项目弹窗 -->
|
<!-- 编辑项目弹窗 -->
|
||||||
<proj-set v-model:editHs="editHs" v-model:projectId="projectId" />
|
<proj-set v-model:editHs="editHs" v-model:projectId="projectId" />
|
||||||
|
|
||||||
<!-- 二维码弹窗 -->
|
|
||||||
<two-dimensional-code
|
|
||||||
v-model:codevisible="codevisible"
|
|
||||||
:codeInfo="codeInfo"
|
|
||||||
index="0"
|
|
||||||
type="课程二维码"
|
|
||||||
/>
|
|
||||||
<!-- 二维码弹窗 -->
|
|
||||||
|
|
||||||
<!-- 发布弹窗 -->
|
<!-- 发布弹窗 -->
|
||||||
<a-modal
|
<a-modal
|
||||||
v-model:visible="projectPub"
|
v-model:visible="projectPub"
|
||||||
@@ -1793,6 +1790,15 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-modal>
|
</a-modal>
|
||||||
|
|
||||||
|
<!-- 二维码弹窗 -->
|
||||||
|
<two-dimensional-code
|
||||||
|
v-model:codevisible="codevisible"
|
||||||
|
:codeInfo="codeInfo"
|
||||||
|
index="0"
|
||||||
|
type="课程二维码"
|
||||||
|
/>
|
||||||
|
<!-- 二维码弹窗 -->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
@@ -1833,7 +1839,7 @@ import { message } from "ant-design-vue";
|
|||||||
import * as apitl from "../../api/index";
|
import * as apitl from "../../api/index";
|
||||||
import { getTask } from "../../api/indexTaskadd";
|
import { getTask } from "../../api/indexTaskadd";
|
||||||
import { editProj } from "../../api/indexTaskadd";
|
import { editProj } from "../../api/indexTaskadd";
|
||||||
import { toDate } from "../../api/method";
|
import { toDate, codeUrl } from "../../api/method";
|
||||||
import projSet from "../../components/Modals/projSet";
|
import projSet from "../../components/Modals/projSet";
|
||||||
import { overview } from "../../api/indexProjStu";
|
import { overview } from "../../api/indexProjStu";
|
||||||
import TwoDimensionalCode from "../../components/TwoDimensionalCode.vue";
|
import TwoDimensionalCode from "../../components/TwoDimensionalCode.vue";
|
||||||
@@ -1975,8 +1981,6 @@ export default {
|
|||||||
huodModal: false, //活动二维码弹窗
|
huodModal: false, //活动二维码弹窗
|
||||||
allDelete: false, //批量删除弹窗
|
allDelete: false, //批量删除弹窗
|
||||||
|
|
||||||
codevisible: false, //二维码弹窗
|
|
||||||
codeInfo: null, //二维码信息
|
|
||||||
pubproject: false,
|
pubproject: false,
|
||||||
stugroup: false,
|
stugroup: false,
|
||||||
canclestu: false,
|
canclestu: false,
|
||||||
@@ -2490,6 +2494,9 @@ export default {
|
|||||||
isPass: false, // 是否审核未通过
|
isPass: false, // 是否审核未通过
|
||||||
passInfo: null, // 审核未通过原因说明
|
passInfo: null, // 审核未通过原因说明
|
||||||
reviewModal: false,
|
reviewModal: false,
|
||||||
|
|
||||||
|
codevisible: false, //二维码是否显示
|
||||||
|
codeInfo: null, //二维码标题
|
||||||
});
|
});
|
||||||
|
|
||||||
const levelList = reactive({
|
const levelList = reactive({
|
||||||
@@ -4020,6 +4027,46 @@ export default {
|
|||||||
// let a = state.attach.split(",")
|
// let a = state.attach.split(",")
|
||||||
// state.fileList = a
|
// state.fileList = a
|
||||||
});
|
});
|
||||||
|
const checkType = (type) => {
|
||||||
|
let typeRules = [
|
||||||
|
"",
|
||||||
|
"在线",
|
||||||
|
"面授",
|
||||||
|
"案例",
|
||||||
|
"作业",
|
||||||
|
"考试",
|
||||||
|
"直播",
|
||||||
|
"外链",
|
||||||
|
"讨论",
|
||||||
|
"活动",
|
||||||
|
"测评",
|
||||||
|
"评估",
|
||||||
|
"投票",
|
||||||
|
"项目",
|
||||||
|
];
|
||||||
|
return typeRules[type];
|
||||||
|
};
|
||||||
|
|
||||||
|
//显示二维码弹窗
|
||||||
|
const showCodeModel = (item) => {
|
||||||
|
state.codevisible = true;
|
||||||
|
let obj = {
|
||||||
|
title: "[" + checkType(item.type) + "]二维码",
|
||||||
|
name: item.name,
|
||||||
|
url: codeUrl,
|
||||||
|
};
|
||||||
|
state.codeInfo = obj;
|
||||||
|
};
|
||||||
|
//显示二维码弹窗
|
||||||
|
const showCodeModel2 = () => {
|
||||||
|
state.codevisible = true;
|
||||||
|
let obj = {
|
||||||
|
title: "[项目]二维码",
|
||||||
|
name: state.name,
|
||||||
|
url: codeUrl,
|
||||||
|
};
|
||||||
|
state.codeInfo = obj;
|
||||||
|
};
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
...toRefs(levelList),
|
...toRefs(levelList),
|
||||||
@@ -4116,6 +4163,9 @@ export default {
|
|||||||
submitExamine,
|
submitExamine,
|
||||||
closeReviewModal,
|
closeReviewModal,
|
||||||
recallReviewProject,
|
recallReviewProject,
|
||||||
|
showCodeModel,
|
||||||
|
showCodeModel2,
|
||||||
|
checkType,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -86,8 +86,8 @@
|
|||||||
></qrcode-vue>
|
></qrcode-vue>
|
||||||
</div>
|
</div>
|
||||||
<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>
|
||||||
|
|
||||||
<div @click="changeCodevisible">显示二维码弹窗</div>
|
<div @click="changeCodevisible">显示二维码弹窗</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user