mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-14 05:16:45 +08:00
feat:增加课程二维码
This commit is contained in:
21
package-lock.json
generated
21
package-lock.json
generated
@@ -3579,6 +3579,8 @@
|
||||
"resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.11.0.tgz",
|
||||
"integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"json-schema-traverse": "^1.0.0",
|
||||
@@ -3590,7 +3592,9 @@
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
|
||||
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/ajv-keywords": {
|
||||
"version": "3.5.2",
|
||||
@@ -13723,7 +13727,6 @@
|
||||
"integrity": "sha512-yl+5qhpjd8e1G4cMXfORkkBlvtPCIgmRf3IYCWYDKIQ7m+PPa5iTm4feiNmCMD6yGqQWMhhK/7M3oWGL9boKwg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/core": "^7.12.16",
|
||||
"@babel/helper-compilation-targets": "^7.12.16",
|
||||
"@babel/helper-module-imports": "^7.12.13",
|
||||
"@babel/plugin-proposal-class-properties": "^7.12.13",
|
||||
@@ -13736,7 +13739,6 @@
|
||||
"@vue/babel-plugin-jsx": "^1.0.3",
|
||||
"@vue/babel-preset-jsx": "^1.1.2",
|
||||
"babel-plugin-dynamic-import-node": "^2.3.3",
|
||||
"core-js": "^3.8.3",
|
||||
"core-js-compat": "^3.8.3",
|
||||
"semver": "^7.3.4"
|
||||
},
|
||||
@@ -14575,15 +14577,14 @@
|
||||
"resolved": "https://registry.npmmirror.com/ajv-formats/-/ajv-formats-2.1.1.tgz",
|
||||
"integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ajv": "^8.0.0"
|
||||
},
|
||||
"requires": {},
|
||||
"dependencies": {
|
||||
"ajv": {
|
||||
"version": "8.11.0",
|
||||
"resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.11.0.tgz",
|
||||
"version": "https://registry.npmmirror.com/ajv/-/ajv-8.11.0.tgz",
|
||||
"integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"json-schema-traverse": "^1.0.0",
|
||||
@@ -14595,7 +14596,9 @@
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
|
||||
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"peer": true
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
<p>公告内容</p>
|
||||
<!-- 预览 -->
|
||||
<template v-if="!editOn">
|
||||
<div style="height: 120px; border: 1px solid rgb(217, 217, 217">
|
||||
{{ noticeContent }}
|
||||
<div class="txt-content">
|
||||
{{ noticeContent ? noticeContent : "暂无公告" }}
|
||||
</div>
|
||||
<div class="btn-content">
|
||||
<a-button type="primary" @click="handleEdit">编辑</a-button>
|
||||
@@ -23,9 +23,13 @@
|
||||
</template>
|
||||
<!-- 编辑 -->
|
||||
<template v-if="editOn">
|
||||
<div style="height: 120px; border: 1px solid rgb(217, 217, 217">
|
||||
{{ noticeContent }}
|
||||
<div class="txt-contain">
|
||||
<span>预览:</span>
|
||||
<div class="txt-content">
|
||||
{{ noticeContent }}
|
||||
</div>
|
||||
</div>
|
||||
<p>编辑:</p>
|
||||
<a-textarea
|
||||
v-model:value="noticeContent"
|
||||
:maxlength="150"
|
||||
@@ -69,6 +73,7 @@ export default {
|
||||
getTask({ projectId: props.projectId }).then((res) => {
|
||||
console.log("公告获取项目", res.data.data.projectInfo);
|
||||
state.projectInfo = res.data.data.projectInfo;
|
||||
state.noticeContent = state.projectInfo.notice;
|
||||
});
|
||||
};
|
||||
|
||||
@@ -183,5 +188,35 @@ export default {
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
.txt-content {
|
||||
margin: 24px 0 32px;
|
||||
text-indent: 2em;
|
||||
font-size: 14px;
|
||||
font-family: PingFangSC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #000000;
|
||||
line-height: 22px;
|
||||
}
|
||||
.txt-contain {
|
||||
margin-bottom: 18px;
|
||||
display: flex;
|
||||
span {
|
||||
display: inline-block;
|
||||
width: 50px;
|
||||
}
|
||||
.txt-content-tip {
|
||||
width: calc(100% - 50px);
|
||||
font-size: 14px;
|
||||
font-family: PingFangSC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #000000;
|
||||
line-height: 22px;
|
||||
display: -webkit-box;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
-webkit-box-orient: vertical;
|
||||
word-break: break-all;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -25,7 +25,7 @@
|
||||
<a-input
|
||||
v-model:value="name"
|
||||
style="width: 240px; height: 40px; border-radius: 8px"
|
||||
placeholder="请输入项目名称"
|
||||
placeholder="请输入课程名称"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -136,7 +136,7 @@
|
||||
</template>
|
||||
<script>
|
||||
//import { ApiFilled } from "@ant-design/icons-vue";
|
||||
import {reactive, toRefs, computed} from "vue";
|
||||
import {reactive, toRefs, computed} from "vue";
|
||||
// import { planList } from "../../api/indexTaskadd";
|
||||
//import {detail} from "../../api/indexCourse";
|
||||
import {list} from "../../api/indexTaskadd";
|
||||
@@ -231,7 +231,7 @@ export default {
|
||||
offcourse: null,
|
||||
auditStatus: null,
|
||||
name: null,
|
||||
courseInfo:[]
|
||||
courseInfo: []
|
||||
|
||||
});
|
||||
|
||||
@@ -281,7 +281,8 @@ export default {
|
||||
//获取面授课列表
|
||||
const getClassList = (obj) => {
|
||||
let objn = obj || {
|
||||
auditStatus:2,
|
||||
auditStatus: 2,
|
||||
status: 1,
|
||||
name: state.name,
|
||||
pageNo: state.currentPage,
|
||||
pageSize: state.pageSize
|
||||
@@ -316,22 +317,22 @@ export default {
|
||||
});
|
||||
state.classTableData = array;
|
||||
};
|
||||
/**
|
||||
const options1 = ref([
|
||||
{
|
||||
/**
|
||||
const options1 = ref([
|
||||
{
|
||||
value: 0,
|
||||
label: "未提交",
|
||||
},
|
||||
{
|
||||
{
|
||||
value: 1,
|
||||
label: "待审核",
|
||||
},
|
||||
{
|
||||
{
|
||||
value: 2,
|
||||
label: "已审核",
|
||||
},
|
||||
|
||||
]);*/
|
||||
|
||||
]);*/
|
||||
const handleChange = (value, option) => {
|
||||
console.log("改变了", value, option);
|
||||
console.log(state.valueContent);
|
||||
@@ -358,7 +359,7 @@ export default {
|
||||
// showDrawerSelFacet,
|
||||
afterVisibleChange,
|
||||
closeDrawer,
|
||||
|
||||
|
||||
columns1,
|
||||
getClassData,
|
||||
handleChange,
|
||||
|
||||
@@ -53,8 +53,11 @@
|
||||
<a-range-picker
|
||||
v-model:value="projectTime"
|
||||
:show-time="{
|
||||
defaultValue: [moment('00:00:00', 'HH:mm:ss'), moment('23:59:59', 'HH:mm:ss')],
|
||||
}"
|
||||
defaultValue: [
|
||||
moment('00:00:00', 'HH:mm:ss'),
|
||||
moment('23:59:59', 'HH:mm:ss'),
|
||||
],
|
||||
}"
|
||||
valueFormat="X"
|
||||
separator="至"
|
||||
:placeholder="[' 开始时间', ' 结束时间']"
|
||||
@@ -397,11 +400,7 @@
|
||||
<img
|
||||
class="i_upload_img"
|
||||
v-if="feng_mian_1"
|
||||
:src="
|
||||
feng_mian_1.indexOf(',') > -1
|
||||
? feng_mian_1.split(',')[0]
|
||||
: feng_mian_1
|
||||
"
|
||||
:src="feng_mian_1"
|
||||
alt="avatar"
|
||||
/>
|
||||
<!-- <a-upload
|
||||
@@ -843,11 +842,7 @@
|
||||
<img
|
||||
class="i_upload_img"
|
||||
v-if="feng_mian_2"
|
||||
:src="
|
||||
feng_mian_2.indexOf(',') > -1
|
||||
? feng_mian_2.split(',')[0]
|
||||
: feng_mian_2
|
||||
"
|
||||
:src="feng_mian_2"
|
||||
alt="avatar"
|
||||
/>
|
||||
<!-- <a-upload
|
||||
@@ -3109,7 +3104,7 @@ import { Editor, Toolbar } from "@wangeditor/editor-for-vue";
|
||||
import ProjectManager from "@/components/project/ProjectManagerNew";
|
||||
|
||||
import SeeModal from "./components/seeModal.vue";
|
||||
import * as moment from 'moment'
|
||||
import * as moment from "moment";
|
||||
|
||||
//列表表格
|
||||
const columns1 = [
|
||||
@@ -3367,16 +3362,39 @@ const columns6 = [
|
||||
key: "num",
|
||||
width: "6%",
|
||||
align: "center",
|
||||
ellipsis: true,
|
||||
customRender: ({ index }) => {
|
||||
//{ text, record, index, column }
|
||||
return index + 1;
|
||||
},
|
||||
},
|
||||
{
|
||||
title: "创建人",
|
||||
dataIndex: "name",
|
||||
key: "name",
|
||||
width: "10%",
|
||||
align: "center",
|
||||
ellipsis: true,
|
||||
customRender: ({ text }) => {
|
||||
return text ? text : "-";
|
||||
},
|
||||
},
|
||||
{
|
||||
title: "教师名称",
|
||||
dataIndex: "teacher",
|
||||
key: "teacher",
|
||||
width: "10%",
|
||||
align: "center",
|
||||
ellipsis: true,
|
||||
customRender: ({ text }) => {
|
||||
return text ? text : "-";
|
||||
},
|
||||
},
|
||||
{
|
||||
title: "课程名称",
|
||||
dataIndex: "organization",
|
||||
key: "organization",
|
||||
width: "25%",
|
||||
width: "15%",
|
||||
align: "center",
|
||||
ellipsis: true,
|
||||
customRender: ({ text }) => {
|
||||
@@ -3387,7 +3405,7 @@ const columns6 = [
|
||||
title: "场地",
|
||||
dataIndex: "address",
|
||||
key: "saddress",
|
||||
width: "25%",
|
||||
width: "15%",
|
||||
align: "center",
|
||||
ellipsis: true,
|
||||
customRender: ({ text }) => {
|
||||
@@ -3399,6 +3417,7 @@ const columns6 = [
|
||||
dataIndex: "starttime",
|
||||
key: "starttime",
|
||||
width: "12%",
|
||||
ellipsis: true,
|
||||
align: "center",
|
||||
customRender: ({ text }) => {
|
||||
return text ? getdateToTime(text * 1000) : "-";
|
||||
@@ -3409,6 +3428,7 @@ const columns6 = [
|
||||
dataIndex: "createtime",
|
||||
key: "createtime",
|
||||
width: "12%",
|
||||
ellipsis: true,
|
||||
align: "center",
|
||||
customRender: ({ text }) => {
|
||||
return text ? getdateToTime(text * 1000) : "-";
|
||||
@@ -3523,7 +3543,7 @@ const columns7 = [
|
||||
key: "7",
|
||||
align: "center",
|
||||
customRender: ({ record }) => {
|
||||
switch (String(record.source)) {
|
||||
switch (String(record.signStatus)) {
|
||||
case "0":
|
||||
return "未签到";
|
||||
case "1":
|
||||
@@ -3540,7 +3560,7 @@ const columns7 = [
|
||||
key: "8",
|
||||
align: "center",
|
||||
customRender: ({ record }) => {
|
||||
switch (String(record.source)) {
|
||||
switch (String(record.evalStatus)) {
|
||||
case "0":
|
||||
return "未评估";
|
||||
case "1":
|
||||
@@ -4032,8 +4052,8 @@ export default defineComponent({
|
||||
let startTime = "";
|
||||
let endTime = "";
|
||||
if (state.projectTime) {
|
||||
startTime = state.projectTime[0]
|
||||
endTime = state.projectTime[1]
|
||||
startTime = state.projectTime[0];
|
||||
endTime = state.projectTime[1];
|
||||
}
|
||||
let res = await list({
|
||||
pageNo: state.currentPage1,
|
||||
@@ -4283,7 +4303,7 @@ export default defineComponent({
|
||||
let newArr = [];
|
||||
arr.forEach((item) => {
|
||||
newArr.push({
|
||||
value: item.dictValue + "," + item.dictCode,
|
||||
value: item.dictValue,
|
||||
label: item.dictName,
|
||||
});
|
||||
});
|
||||
|
||||
@@ -59,11 +59,7 @@
|
||||
<span style="margin-right: 14px">封面图:</span>
|
||||
</div>
|
||||
<img
|
||||
:src="
|
||||
detail.picUrl.indexOf(',') > -1
|
||||
? detail.picUrl.split(',')[0]
|
||||
: detail.picUrl
|
||||
"
|
||||
:src="detail.picUrl"
|
||||
alt="img"
|
||||
style="width: 100px; height: 100px"
|
||||
/>
|
||||
|
||||
@@ -117,6 +117,38 @@ export default {
|
||||
currentPage: 1,
|
||||
total: null,
|
||||
pageSize: 10,
|
||||
//审核记录的表
|
||||
columnsAudit: [
|
||||
{
|
||||
title: "审核人",
|
||||
dataIndex: "createName",
|
||||
key: "createName",
|
||||
align: "center",
|
||||
},
|
||||
|
||||
{
|
||||
title: "审核状态",
|
||||
dataIndex: "status",
|
||||
key: "status",
|
||||
align: "center",
|
||||
customRender: ({record: {status}}) => <div>{{'2': '审核通过', '-2': '审核拒绝'}[(status + '')]}</div>,
|
||||
},
|
||||
|
||||
{
|
||||
title: "审核时间",
|
||||
dataIndex: "createTime",
|
||||
key: "createTime",
|
||||
align: "center",
|
||||
width: 220
|
||||
},
|
||||
|
||||
{
|
||||
title: "备注",
|
||||
dataIndex: "description",
|
||||
key: "description",
|
||||
align: "center",
|
||||
},
|
||||
],
|
||||
columns1: [
|
||||
{
|
||||
title: "序号",
|
||||
@@ -180,7 +212,8 @@ export default {
|
||||
return <div
|
||||
style="color:#387DF7;cursor:pointer;"
|
||||
onClick={() => {
|
||||
showProjAuditModal(value.record.auditList);
|
||||
console.log(value)
|
||||
showProjAuditModal(value.record.auditLogDtoList);
|
||||
}}>审核日志</div>;
|
||||
},
|
||||
},
|
||||
@@ -228,9 +261,9 @@ export default {
|
||||
}
|
||||
let data = table;
|
||||
let array = [];
|
||||
data.map((item) => {
|
||||
data.map((item, n) => {
|
||||
let obj = {
|
||||
number: item.offcourseId,
|
||||
number: n+1,
|
||||
name: item.name || "- ",
|
||||
type: item.type == 1 ? "线上" : "线下",
|
||||
content: item.categoryId,
|
||||
@@ -247,10 +280,12 @@ export default {
|
||||
creater: item.createName,
|
||||
time: item.createTime,
|
||||
msg: item.description || "-",
|
||||
auditLogDtoList: item.auditLogDtoList
|
||||
};
|
||||
array.push(obj);
|
||||
});
|
||||
state.tableData1 = array;
|
||||
console.log(data)
|
||||
};
|
||||
const reset = () => {
|
||||
(state.valueproj = ''),
|
||||
|
||||
@@ -424,9 +424,9 @@ export default {
|
||||
}
|
||||
let data = tableData;
|
||||
let array = [];
|
||||
data.map((item) => {
|
||||
data.map((item, i) => {
|
||||
let obj = {
|
||||
number: item.offcourseId,
|
||||
number: i+1,
|
||||
name: item.name,
|
||||
type: item.type == 1 ? "线上" : "线下",
|
||||
content: item.categoryId,
|
||||
|
||||
@@ -175,8 +175,8 @@ export default {
|
||||
columns1: [
|
||||
{
|
||||
title: "序号",
|
||||
dataIndex: "projectId",
|
||||
key: "projectId",
|
||||
dataIndex: "number",
|
||||
key: "number",
|
||||
align: "center",
|
||||
},
|
||||
{
|
||||
@@ -299,7 +299,14 @@ export default {
|
||||
console.log('获取已审核项目列表数据',res)
|
||||
let result = res.data.data;
|
||||
state.total = res.data.data.total;
|
||||
state.tableData1 = result.rows
|
||||
let numdata = []
|
||||
result.rows.map((value, index) => {
|
||||
let obj = value
|
||||
obj.number = index+1
|
||||
numdata.push(obj);
|
||||
});
|
||||
|
||||
state.tableData1 = numdata
|
||||
})
|
||||
};
|
||||
const changePagination = (pagina) => {
|
||||
|
||||
@@ -106,8 +106,8 @@ export default {
|
||||
columns1: [
|
||||
{
|
||||
title: "序号",
|
||||
dataIndex: "projectId",
|
||||
key: "projectId",
|
||||
dataIndex: "number",
|
||||
key: "number",
|
||||
align: "center",
|
||||
},
|
||||
{
|
||||
@@ -200,7 +200,17 @@ export default {
|
||||
console.log("获取待审核项目成功", res);
|
||||
let result = res.data.data;
|
||||
state.total = result.total;
|
||||
state.tableData1 = result.rows
|
||||
// state.tableData1 = result.rows
|
||||
|
||||
let numdata = []
|
||||
result.rows.map((value, index) => {
|
||||
let obj = value
|
||||
obj.number = index+1
|
||||
numdata.push(obj);
|
||||
});
|
||||
|
||||
state.tableData1 = numdata
|
||||
|
||||
// setProjList(result.rows);
|
||||
})
|
||||
.catch((err) => {
|
||||
|
||||
@@ -1255,8 +1255,8 @@ import { getRouterOverview } from "@/api/indexLearningPath";
|
||||
import { handleLearnPath } from "../../api/index1";
|
||||
import { GetRouterDetail } from "@/api/indexTask";
|
||||
import * as api from "../../api/index1";
|
||||
import { toDate, codeUrl } from "../../api/method";
|
||||
import { editRoutered } from "../../api/indexLearningPath";
|
||||
import { codeUrl } from "../../api/method";
|
||||
import TwoDimensionalCode from "../../components/TwoDimensionalCode.vue";
|
||||
export default {
|
||||
name: "LevelAdd",
|
||||
@@ -1892,10 +1892,7 @@ export default {
|
||||
GetRouterDetail(state.routerId).then((res) => {
|
||||
// console.log("获取路径图详情", res);
|
||||
state.styTitle = res.data.data.routerInfo.name;
|
||||
state.cretime = toDate(
|
||||
res.data.data.routerInfo.createTime / 1000,
|
||||
"Y-M-D h:m"
|
||||
);
|
||||
state.cretime = res.data.data.routerInfo.createTime;
|
||||
state.picUrl = res.data.data.routerInfo.picUrl;
|
||||
state.action = res.data.data.routerInfo.status;
|
||||
state.remark = res.data.data.routerInfo.remark;
|
||||
|
||||
@@ -1059,7 +1059,6 @@ import { editTask } from "../../api/indexTaskadd";
|
||||
|
||||
// import { RouterEditTask } from "@/api/indexTask";
|
||||
import { useRouter } from "vue-router";
|
||||
import { toDate } from "../../api/method";
|
||||
// import UnlockMode from "../../components/drawers/UnlockMode.vue";
|
||||
export default {
|
||||
name: "LevelAddDetail",
|
||||
@@ -1422,10 +1421,7 @@ export default {
|
||||
//给level赋初始值
|
||||
state.level = res.data.data.chapterList;
|
||||
state.styTitle = res.data.data.routerInfo.name;
|
||||
state.creTime = toDate(
|
||||
res.data.data.routerInfo.createTime / 1000,
|
||||
"Y-M-D h:m"
|
||||
);
|
||||
state.creTime = res.data.data.routerInfo.createTime ;
|
||||
state.picUrl = res.data.data.routerInfo.picUrl;
|
||||
//增加两个字段
|
||||
state.level.forEach((item) => {
|
||||
|
||||
@@ -60,8 +60,8 @@
|
||||
<ProjectClass v-model:value="projectInfo.category"></ProjectClass>
|
||||
</div>
|
||||
</div>
|
||||
<div class="name">
|
||||
<div class="namebox">
|
||||
<div class="name flex-top">
|
||||
<div class="namebox" style="margin-top:10px">
|
||||
<img
|
||||
class="nameimg"
|
||||
src="../../assets/images/basicinfo/asterisk.png"
|
||||
@@ -94,35 +94,6 @@
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div-->
|
||||
<!-- :class="`box ${projectInfo.picUrl == src ? 'active' : ''}`"-->
|
||||
<!-- style="-->
|
||||
<!-- width: 100px;-->
|
||||
<!-- height: 100px;-->
|
||||
<!-- border-radius: 5px;-->
|
||||
<!-- cursor: pointer;-->
|
||||
<!-- position: relative;-->
|
||||
<!-- overflow: hidden;-->
|
||||
<!-- "-->
|
||||
<!-- v-for="(src, index) in projectPic"-->
|
||||
<!-- :key="index"-->
|
||||
<!-- @click="-->
|
||||
<!-- () => {-->
|
||||
<!-- projectInfo.picUrl = src;-->
|
||||
<!-- }-->
|
||||
<!-- "-->
|
||||
<!-- >-->
|
||||
<!-- <img-->
|
||||
<!-- style="-->
|
||||
<!-- width: 100px;-->
|
||||
<!-- height: 100px;-->
|
||||
<!-- margin-bottom: 4px;-->
|
||||
<!-- margin-right: 4px;-->
|
||||
<!-- "-->
|
||||
<!-- :src="src"-->
|
||||
<!-- alt="avatar"-->
|
||||
<!-- />-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
<div class="name">
|
||||
<div class="namebox">
|
||||
@@ -326,7 +297,7 @@ import TrainClass from "@/components/project/TrainClass";
|
||||
import OrgClass from "@/components/project/OrgClass";
|
||||
import ProjectManager from "@/components/project/ProjectManagerNew";
|
||||
import ProjectLevel from "@/components/project/ProjectLevel";
|
||||
import { scrollLoad } from "@/api/method";
|
||||
import {changeOwnership, scrollLoad} from "@/api/method";
|
||||
|
||||
export default {
|
||||
name: "projectAdd",
|
||||
@@ -475,7 +446,12 @@ export default {
|
||||
}
|
||||
state.projectInfo.type = 3;
|
||||
state.projectInfo.courseSyncFlag = state.courseSyncFlag ? 1 : 0;
|
||||
api.createProject(state.projectInfo).then(() => {
|
||||
api.createProject(state.projectInfo).then((res) => {
|
||||
state.projectInfo.projectId || changeOwnership(
|
||||
"project",
|
||||
res.data.data.projectId,
|
||||
[{id: res.data.data.createId, name: res.data.data.createName}]
|
||||
);
|
||||
message.destroy();
|
||||
message.success("编辑成功");
|
||||
router.back();
|
||||
@@ -495,6 +471,9 @@ export default {
|
||||
};
|
||||
</script>
|
||||
<style lang="scss">
|
||||
.flex-top{
|
||||
align-items: flex-start !important;
|
||||
}
|
||||
.projectAdd {
|
||||
width: 100%;
|
||||
// height: inherit;
|
||||
|
||||
@@ -816,6 +816,7 @@ import ProjectClass from "@/components/project/ProjectClass";
|
||||
import OrgClass from "@/components/project/OrgClass";
|
||||
import dayjs from "dayjs";
|
||||
import * as moment from 'moment'
|
||||
import {changeOwnership} from "@/api/method";
|
||||
|
||||
export default {
|
||||
name: "projectManage",
|
||||
@@ -951,11 +952,16 @@ export default {
|
||||
if (!validate(state.projectInfo, errorMsgs)) {
|
||||
return;
|
||||
}
|
||||
api.createProject(state.projectInfo).then(() => {
|
||||
api.createProject(state.projectInfo).then((res) => {
|
||||
state.doublepro = false;
|
||||
message.destroy();
|
||||
message.success("创建成功");
|
||||
state.currentPage = 1;
|
||||
state.projectInfo.projectId || changeOwnership(
|
||||
"project",
|
||||
res.data.data.projectId,
|
||||
[{id: res.data.data.createId, name: res.data.data.createName}]
|
||||
);
|
||||
getTableDate();
|
||||
});
|
||||
};
|
||||
|
||||
@@ -11,7 +11,11 @@
|
||||
<div class="fort">起止时间:{{ startTime }}至{{ endTime }}</div>
|
||||
</div>
|
||||
<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>
|
||||
<img
|
||||
v-if="action == 1 || action == 0"
|
||||
@@ -473,7 +477,9 @@
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="iconame">「{{ item.name }}」</div>
|
||||
<div class="iconame">
|
||||
「{{ checkType(item.type) }}」
|
||||
</div>
|
||||
<div class="icontext">{{ item.name }}</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -550,7 +556,7 @@
|
||||
<div
|
||||
class="operation"
|
||||
style="cursor: pointer"
|
||||
@click="showCodeModal"
|
||||
@click="showCodeModel(item)"
|
||||
>
|
||||
二维码
|
||||
</div>
|
||||
@@ -1613,15 +1619,6 @@
|
||||
<!-- 编辑项目弹窗 -->
|
||||
<proj-set v-model:editHs="editHs" v-model:projectId="projectId" />
|
||||
|
||||
<!-- 二维码弹窗 -->
|
||||
<two-dimensional-code
|
||||
v-model:codevisible="codevisible"
|
||||
:codeInfo="codeInfo"
|
||||
index="0"
|
||||
type="课程二维码"
|
||||
/>
|
||||
<!-- 二维码弹窗 -->
|
||||
|
||||
<!-- 发布弹窗 -->
|
||||
<a-modal
|
||||
v-model:visible="projectPub"
|
||||
@@ -1793,6 +1790,15 @@
|
||||
</div>
|
||||
</div>
|
||||
</a-modal>
|
||||
|
||||
<!-- 二维码弹窗 -->
|
||||
<two-dimensional-code
|
||||
v-model:codevisible="codevisible"
|
||||
:codeInfo="codeInfo"
|
||||
index="0"
|
||||
type="课程二维码"
|
||||
/>
|
||||
<!-- 二维码弹窗 -->
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
@@ -1833,7 +1839,7 @@ import { message } from "ant-design-vue";
|
||||
import * as apitl from "../../api/index";
|
||||
import { getTask } 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 { overview } from "../../api/indexProjStu";
|
||||
import TwoDimensionalCode from "../../components/TwoDimensionalCode.vue";
|
||||
@@ -1975,8 +1981,6 @@ export default {
|
||||
huodModal: false, //活动二维码弹窗
|
||||
allDelete: false, //批量删除弹窗
|
||||
|
||||
codevisible: false, //二维码弹窗
|
||||
codeInfo: null, //二维码信息
|
||||
pubproject: false,
|
||||
stugroup: false,
|
||||
canclestu: false,
|
||||
@@ -2490,6 +2494,9 @@ export default {
|
||||
isPass: false, // 是否审核未通过
|
||||
passInfo: null, // 审核未通过原因说明
|
||||
reviewModal: false,
|
||||
|
||||
codevisible: false, //二维码是否显示
|
||||
codeInfo: null, //二维码标题
|
||||
});
|
||||
|
||||
const levelList = reactive({
|
||||
@@ -4020,6 +4027,46 @@ export default {
|
||||
// let a = state.attach.split(",")
|
||||
// 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 {
|
||||
...toRefs(state),
|
||||
...toRefs(levelList),
|
||||
@@ -4116,6 +4163,9 @@ export default {
|
||||
submitExamine,
|
||||
closeReviewModal,
|
||||
recallReviewProject,
|
||||
showCodeModel,
|
||||
showCodeModel2,
|
||||
checkType,
|
||||
};
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user