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",
|
"resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.11.0.tgz",
|
||||||
"integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
|
"integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"fast-deep-equal": "^3.1.1",
|
"fast-deep-equal": "^3.1.1",
|
||||||
"json-schema-traverse": "^1.0.0",
|
"json-schema-traverse": "^1.0.0",
|
||||||
@@ -3590,7 +3592,9 @@
|
|||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
|
"resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
|
||||||
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
|
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"peer": true
|
||||||
},
|
},
|
||||||
"node_modules/ajv-keywords": {
|
"node_modules/ajv-keywords": {
|
||||||
"version": "3.5.2",
|
"version": "3.5.2",
|
||||||
@@ -13723,7 +13727,6 @@
|
|||||||
"integrity": "sha512-yl+5qhpjd8e1G4cMXfORkkBlvtPCIgmRf3IYCWYDKIQ7m+PPa5iTm4feiNmCMD6yGqQWMhhK/7M3oWGL9boKwg==",
|
"integrity": "sha512-yl+5qhpjd8e1G4cMXfORkkBlvtPCIgmRf3IYCWYDKIQ7m+PPa5iTm4feiNmCMD6yGqQWMhhK/7M3oWGL9boKwg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/core": "^7.12.16",
|
|
||||||
"@babel/helper-compilation-targets": "^7.12.16",
|
"@babel/helper-compilation-targets": "^7.12.16",
|
||||||
"@babel/helper-module-imports": "^7.12.13",
|
"@babel/helper-module-imports": "^7.12.13",
|
||||||
"@babel/plugin-proposal-class-properties": "^7.12.13",
|
"@babel/plugin-proposal-class-properties": "^7.12.13",
|
||||||
@@ -13736,7 +13739,6 @@
|
|||||||
"@vue/babel-plugin-jsx": "^1.0.3",
|
"@vue/babel-plugin-jsx": "^1.0.3",
|
||||||
"@vue/babel-preset-jsx": "^1.1.2",
|
"@vue/babel-preset-jsx": "^1.1.2",
|
||||||
"babel-plugin-dynamic-import-node": "^2.3.3",
|
"babel-plugin-dynamic-import-node": "^2.3.3",
|
||||||
"core-js": "^3.8.3",
|
|
||||||
"core-js-compat": "^3.8.3",
|
"core-js-compat": "^3.8.3",
|
||||||
"semver": "^7.3.4"
|
"semver": "^7.3.4"
|
||||||
},
|
},
|
||||||
@@ -14575,15 +14577,14 @@
|
|||||||
"resolved": "https://registry.npmmirror.com/ajv-formats/-/ajv-formats-2.1.1.tgz",
|
"resolved": "https://registry.npmmirror.com/ajv-formats/-/ajv-formats-2.1.1.tgz",
|
||||||
"integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
|
"integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {},
|
||||||
"ajv": "^8.0.0"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ajv": {
|
"ajv": {
|
||||||
"version": "8.11.0",
|
"version": "https://registry.npmmirror.com/ajv/-/ajv-8.11.0.tgz",
|
||||||
"resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.11.0.tgz",
|
|
||||||
"integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
|
"integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"peer": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"fast-deep-equal": "^3.1.1",
|
"fast-deep-equal": "^3.1.1",
|
||||||
"json-schema-traverse": "^1.0.0",
|
"json-schema-traverse": "^1.0.0",
|
||||||
@@ -14595,7 +14596,9 @@
|
|||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
|
"resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
|
||||||
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
|
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"peer": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -14,8 +14,8 @@
|
|||||||
<p>公告内容</p>
|
<p>公告内容</p>
|
||||||
<!-- 预览 -->
|
<!-- 预览 -->
|
||||||
<template v-if="!editOn">
|
<template v-if="!editOn">
|
||||||
<div style="height: 120px; border: 1px solid rgb(217, 217, 217">
|
<div class="txt-content">
|
||||||
{{ noticeContent }}
|
{{ noticeContent ? noticeContent : "暂无公告" }}
|
||||||
</div>
|
</div>
|
||||||
<div class="btn-content">
|
<div class="btn-content">
|
||||||
<a-button type="primary" @click="handleEdit">编辑</a-button>
|
<a-button type="primary" @click="handleEdit">编辑</a-button>
|
||||||
@@ -23,9 +23,13 @@
|
|||||||
</template>
|
</template>
|
||||||
<!-- 编辑 -->
|
<!-- 编辑 -->
|
||||||
<template v-if="editOn">
|
<template v-if="editOn">
|
||||||
<div style="height: 120px; border: 1px solid rgb(217, 217, 217">
|
<div class="txt-contain">
|
||||||
{{ noticeContent }}
|
<span>预览:</span>
|
||||||
|
<div class="txt-content">
|
||||||
|
{{ noticeContent }}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<p>编辑:</p>
|
||||||
<a-textarea
|
<a-textarea
|
||||||
v-model:value="noticeContent"
|
v-model:value="noticeContent"
|
||||||
:maxlength="150"
|
:maxlength="150"
|
||||||
@@ -69,6 +73,7 @@ export default {
|
|||||||
getTask({ projectId: props.projectId }).then((res) => {
|
getTask({ projectId: props.projectId }).then((res) => {
|
||||||
console.log("公告获取项目", res.data.data.projectInfo);
|
console.log("公告获取项目", res.data.data.projectInfo);
|
||||||
state.projectInfo = res.data.data.projectInfo;
|
state.projectInfo = res.data.data.projectInfo;
|
||||||
|
state.noticeContent = state.projectInfo.notice;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -183,5 +188,35 @@ export default {
|
|||||||
margin-right: 10px;
|
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>
|
</style>
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
<a-input
|
<a-input
|
||||||
v-model:value="name"
|
v-model:value="name"
|
||||||
style="width: 240px; height: 40px; border-radius: 8px"
|
style="width: 240px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入项目名称"
|
placeholder="请输入课程名称"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -136,7 +136,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
//import { ApiFilled } from "@ant-design/icons-vue";
|
//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 { planList } from "../../api/indexTaskadd";
|
||||||
//import {detail} from "../../api/indexCourse";
|
//import {detail} from "../../api/indexCourse";
|
||||||
import {list} from "../../api/indexTaskadd";
|
import {list} from "../../api/indexTaskadd";
|
||||||
@@ -231,7 +231,7 @@ export default {
|
|||||||
offcourse: null,
|
offcourse: null,
|
||||||
auditStatus: null,
|
auditStatus: null,
|
||||||
name: null,
|
name: null,
|
||||||
courseInfo:[]
|
courseInfo: []
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -281,7 +281,8 @@ export default {
|
|||||||
//获取面授课列表
|
//获取面授课列表
|
||||||
const getClassList = (obj) => {
|
const getClassList = (obj) => {
|
||||||
let objn = obj || {
|
let objn = obj || {
|
||||||
auditStatus:2,
|
auditStatus: 2,
|
||||||
|
status: 1,
|
||||||
name: state.name,
|
name: state.name,
|
||||||
pageNo: state.currentPage,
|
pageNo: state.currentPage,
|
||||||
pageSize: state.pageSize
|
pageSize: state.pageSize
|
||||||
@@ -316,22 +317,22 @@ export default {
|
|||||||
});
|
});
|
||||||
state.classTableData = array;
|
state.classTableData = array;
|
||||||
};
|
};
|
||||||
/**
|
/**
|
||||||
const options1 = ref([
|
const options1 = ref([
|
||||||
{
|
{
|
||||||
value: 0,
|
value: 0,
|
||||||
label: "未提交",
|
label: "未提交",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 1,
|
value: 1,
|
||||||
label: "待审核",
|
label: "待审核",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 2,
|
value: 2,
|
||||||
label: "已审核",
|
label: "已审核",
|
||||||
},
|
},
|
||||||
|
|
||||||
]);*/
|
]);*/
|
||||||
const handleChange = (value, option) => {
|
const handleChange = (value, option) => {
|
||||||
console.log("改变了", value, option);
|
console.log("改变了", value, option);
|
||||||
console.log(state.valueContent);
|
console.log(state.valueContent);
|
||||||
@@ -358,7 +359,7 @@ export default {
|
|||||||
// showDrawerSelFacet,
|
// showDrawerSelFacet,
|
||||||
afterVisibleChange,
|
afterVisibleChange,
|
||||||
closeDrawer,
|
closeDrawer,
|
||||||
|
|
||||||
columns1,
|
columns1,
|
||||||
getClassData,
|
getClassData,
|
||||||
handleChange,
|
handleChange,
|
||||||
|
|||||||
@@ -53,8 +53,11 @@
|
|||||||
<a-range-picker
|
<a-range-picker
|
||||||
v-model:value="projectTime"
|
v-model:value="projectTime"
|
||||||
:show-time="{
|
: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"
|
valueFormat="X"
|
||||||
separator="至"
|
separator="至"
|
||||||
:placeholder="[' 开始时间', ' 结束时间']"
|
:placeholder="[' 开始时间', ' 结束时间']"
|
||||||
@@ -397,11 +400,7 @@
|
|||||||
<img
|
<img
|
||||||
class="i_upload_img"
|
class="i_upload_img"
|
||||||
v-if="feng_mian_1"
|
v-if="feng_mian_1"
|
||||||
:src="
|
:src="feng_mian_1"
|
||||||
feng_mian_1.indexOf(',') > -1
|
|
||||||
? feng_mian_1.split(',')[0]
|
|
||||||
: feng_mian_1
|
|
||||||
"
|
|
||||||
alt="avatar"
|
alt="avatar"
|
||||||
/>
|
/>
|
||||||
<!-- <a-upload
|
<!-- <a-upload
|
||||||
@@ -843,11 +842,7 @@
|
|||||||
<img
|
<img
|
||||||
class="i_upload_img"
|
class="i_upload_img"
|
||||||
v-if="feng_mian_2"
|
v-if="feng_mian_2"
|
||||||
:src="
|
:src="feng_mian_2"
|
||||||
feng_mian_2.indexOf(',') > -1
|
|
||||||
? feng_mian_2.split(',')[0]
|
|
||||||
: feng_mian_2
|
|
||||||
"
|
|
||||||
alt="avatar"
|
alt="avatar"
|
||||||
/>
|
/>
|
||||||
<!-- <a-upload
|
<!-- <a-upload
|
||||||
@@ -3109,7 +3104,7 @@ import { Editor, Toolbar } from "@wangeditor/editor-for-vue";
|
|||||||
import ProjectManager from "@/components/project/ProjectManagerNew";
|
import ProjectManager from "@/components/project/ProjectManagerNew";
|
||||||
|
|
||||||
import SeeModal from "./components/seeModal.vue";
|
import SeeModal from "./components/seeModal.vue";
|
||||||
import * as moment from 'moment'
|
import * as moment from "moment";
|
||||||
|
|
||||||
//列表表格
|
//列表表格
|
||||||
const columns1 = [
|
const columns1 = [
|
||||||
@@ -3367,16 +3362,39 @@ const columns6 = [
|
|||||||
key: "num",
|
key: "num",
|
||||||
width: "6%",
|
width: "6%",
|
||||||
align: "center",
|
align: "center",
|
||||||
|
ellipsis: true,
|
||||||
customRender: ({ index }) => {
|
customRender: ({ index }) => {
|
||||||
//{ text, record, index, column }
|
//{ text, record, index, column }
|
||||||
return index + 1;
|
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: "课程名称",
|
title: "课程名称",
|
||||||
dataIndex: "organization",
|
dataIndex: "organization",
|
||||||
key: "organization",
|
key: "organization",
|
||||||
width: "25%",
|
width: "15%",
|
||||||
align: "center",
|
align: "center",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
customRender: ({ text }) => {
|
customRender: ({ text }) => {
|
||||||
@@ -3387,7 +3405,7 @@ const columns6 = [
|
|||||||
title: "场地",
|
title: "场地",
|
||||||
dataIndex: "address",
|
dataIndex: "address",
|
||||||
key: "saddress",
|
key: "saddress",
|
||||||
width: "25%",
|
width: "15%",
|
||||||
align: "center",
|
align: "center",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
customRender: ({ text }) => {
|
customRender: ({ text }) => {
|
||||||
@@ -3399,6 +3417,7 @@ const columns6 = [
|
|||||||
dataIndex: "starttime",
|
dataIndex: "starttime",
|
||||||
key: "starttime",
|
key: "starttime",
|
||||||
width: "12%",
|
width: "12%",
|
||||||
|
ellipsis: true,
|
||||||
align: "center",
|
align: "center",
|
||||||
customRender: ({ text }) => {
|
customRender: ({ text }) => {
|
||||||
return text ? getdateToTime(text * 1000) : "-";
|
return text ? getdateToTime(text * 1000) : "-";
|
||||||
@@ -3409,6 +3428,7 @@ const columns6 = [
|
|||||||
dataIndex: "createtime",
|
dataIndex: "createtime",
|
||||||
key: "createtime",
|
key: "createtime",
|
||||||
width: "12%",
|
width: "12%",
|
||||||
|
ellipsis: true,
|
||||||
align: "center",
|
align: "center",
|
||||||
customRender: ({ text }) => {
|
customRender: ({ text }) => {
|
||||||
return text ? getdateToTime(text * 1000) : "-";
|
return text ? getdateToTime(text * 1000) : "-";
|
||||||
@@ -3523,7 +3543,7 @@ const columns7 = [
|
|||||||
key: "7",
|
key: "7",
|
||||||
align: "center",
|
align: "center",
|
||||||
customRender: ({ record }) => {
|
customRender: ({ record }) => {
|
||||||
switch (String(record.source)) {
|
switch (String(record.signStatus)) {
|
||||||
case "0":
|
case "0":
|
||||||
return "未签到";
|
return "未签到";
|
||||||
case "1":
|
case "1":
|
||||||
@@ -3540,7 +3560,7 @@ const columns7 = [
|
|||||||
key: "8",
|
key: "8",
|
||||||
align: "center",
|
align: "center",
|
||||||
customRender: ({ record }) => {
|
customRender: ({ record }) => {
|
||||||
switch (String(record.source)) {
|
switch (String(record.evalStatus)) {
|
||||||
case "0":
|
case "0":
|
||||||
return "未评估";
|
return "未评估";
|
||||||
case "1":
|
case "1":
|
||||||
@@ -4032,8 +4052,8 @@ export default defineComponent({
|
|||||||
let startTime = "";
|
let startTime = "";
|
||||||
let endTime = "";
|
let endTime = "";
|
||||||
if (state.projectTime) {
|
if (state.projectTime) {
|
||||||
startTime = state.projectTime[0]
|
startTime = state.projectTime[0];
|
||||||
endTime = state.projectTime[1]
|
endTime = state.projectTime[1];
|
||||||
}
|
}
|
||||||
let res = await list({
|
let res = await list({
|
||||||
pageNo: state.currentPage1,
|
pageNo: state.currentPage1,
|
||||||
@@ -4283,7 +4303,7 @@ export default defineComponent({
|
|||||||
let newArr = [];
|
let newArr = [];
|
||||||
arr.forEach((item) => {
|
arr.forEach((item) => {
|
||||||
newArr.push({
|
newArr.push({
|
||||||
value: item.dictValue + "," + item.dictCode,
|
value: item.dictValue,
|
||||||
label: item.dictName,
|
label: item.dictName,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -59,11 +59,7 @@
|
|||||||
<span style="margin-right: 14px">封面图:</span>
|
<span style="margin-right: 14px">封面图:</span>
|
||||||
</div>
|
</div>
|
||||||
<img
|
<img
|
||||||
:src="
|
:src="detail.picUrl"
|
||||||
detail.picUrl.indexOf(',') > -1
|
|
||||||
? detail.picUrl.split(',')[0]
|
|
||||||
: detail.picUrl
|
|
||||||
"
|
|
||||||
alt="img"
|
alt="img"
|
||||||
style="width: 100px; height: 100px"
|
style="width: 100px; height: 100px"
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -117,6 +117,38 @@ export default {
|
|||||||
currentPage: 1,
|
currentPage: 1,
|
||||||
total: null,
|
total: null,
|
||||||
pageSize: 10,
|
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: [
|
columns1: [
|
||||||
{
|
{
|
||||||
title: "序号",
|
title: "序号",
|
||||||
@@ -180,7 +212,8 @@ export default {
|
|||||||
return <div
|
return <div
|
||||||
style="color:#387DF7;cursor:pointer;"
|
style="color:#387DF7;cursor:pointer;"
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
showProjAuditModal(value.record.auditList);
|
console.log(value)
|
||||||
|
showProjAuditModal(value.record.auditLogDtoList);
|
||||||
}}>审核日志</div>;
|
}}>审核日志</div>;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -228,9 +261,9 @@ export default {
|
|||||||
}
|
}
|
||||||
let data = table;
|
let data = table;
|
||||||
let array = [];
|
let array = [];
|
||||||
data.map((item) => {
|
data.map((item, n) => {
|
||||||
let obj = {
|
let obj = {
|
||||||
number: item.offcourseId,
|
number: n+1,
|
||||||
name: item.name || "- ",
|
name: item.name || "- ",
|
||||||
type: item.type == 1 ? "线上" : "线下",
|
type: item.type == 1 ? "线上" : "线下",
|
||||||
content: item.categoryId,
|
content: item.categoryId,
|
||||||
@@ -247,10 +280,12 @@ export default {
|
|||||||
creater: item.createName,
|
creater: item.createName,
|
||||||
time: item.createTime,
|
time: item.createTime,
|
||||||
msg: item.description || "-",
|
msg: item.description || "-",
|
||||||
|
auditLogDtoList: item.auditLogDtoList
|
||||||
};
|
};
|
||||||
array.push(obj);
|
array.push(obj);
|
||||||
});
|
});
|
||||||
state.tableData1 = array;
|
state.tableData1 = array;
|
||||||
|
console.log(data)
|
||||||
};
|
};
|
||||||
const reset = () => {
|
const reset = () => {
|
||||||
(state.valueproj = ''),
|
(state.valueproj = ''),
|
||||||
|
|||||||
@@ -424,9 +424,9 @@ export default {
|
|||||||
}
|
}
|
||||||
let data = tableData;
|
let data = tableData;
|
||||||
let array = [];
|
let array = [];
|
||||||
data.map((item) => {
|
data.map((item, i) => {
|
||||||
let obj = {
|
let obj = {
|
||||||
number: item.offcourseId,
|
number: i+1,
|
||||||
name: item.name,
|
name: item.name,
|
||||||
type: item.type == 1 ? "线上" : "线下",
|
type: item.type == 1 ? "线上" : "线下",
|
||||||
content: item.categoryId,
|
content: item.categoryId,
|
||||||
|
|||||||
@@ -175,8 +175,8 @@ export default {
|
|||||||
columns1: [
|
columns1: [
|
||||||
{
|
{
|
||||||
title: "序号",
|
title: "序号",
|
||||||
dataIndex: "projectId",
|
dataIndex: "number",
|
||||||
key: "projectId",
|
key: "number",
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -299,7 +299,14 @@ export default {
|
|||||||
console.log('获取已审核项目列表数据',res)
|
console.log('获取已审核项目列表数据',res)
|
||||||
let result = res.data.data;
|
let result = res.data.data;
|
||||||
state.total = res.data.data.total;
|
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) => {
|
const changePagination = (pagina) => {
|
||||||
|
|||||||
@@ -106,8 +106,8 @@ export default {
|
|||||||
columns1: [
|
columns1: [
|
||||||
{
|
{
|
||||||
title: "序号",
|
title: "序号",
|
||||||
dataIndex: "projectId",
|
dataIndex: "number",
|
||||||
key: "projectId",
|
key: "number",
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -200,7 +200,17 @@ export default {
|
|||||||
console.log("获取待审核项目成功", res);
|
console.log("获取待审核项目成功", res);
|
||||||
let result = res.data.data;
|
let result = res.data.data;
|
||||||
state.total = result.total;
|
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);
|
// setProjList(result.rows);
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
|
|||||||
@@ -1255,8 +1255,8 @@ import { getRouterOverview } from "@/api/indexLearningPath";
|
|||||||
import { handleLearnPath } from "../../api/index1";
|
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 { toDate, codeUrl } from "../../api/method";
|
|
||||||
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",
|
||||||
@@ -1892,10 +1892,7 @@ export default {
|
|||||||
GetRouterDetail(state.routerId).then((res) => {
|
GetRouterDetail(state.routerId).then((res) => {
|
||||||
// console.log("获取路径图详情", res);
|
// console.log("获取路径图详情", res);
|
||||||
state.styTitle = res.data.data.routerInfo.name;
|
state.styTitle = res.data.data.routerInfo.name;
|
||||||
state.cretime = toDate(
|
state.cretime = res.data.data.routerInfo.createTime;
|
||||||
res.data.data.routerInfo.createTime / 1000,
|
|
||||||
"Y-M-D h:m"
|
|
||||||
);
|
|
||||||
state.picUrl = res.data.data.routerInfo.picUrl;
|
state.picUrl = res.data.data.routerInfo.picUrl;
|
||||||
state.action = res.data.data.routerInfo.status;
|
state.action = res.data.data.routerInfo.status;
|
||||||
state.remark = res.data.data.routerInfo.remark;
|
state.remark = res.data.data.routerInfo.remark;
|
||||||
|
|||||||
@@ -1059,7 +1059,6 @@ import { editTask } from "../../api/indexTaskadd";
|
|||||||
|
|
||||||
// import { RouterEditTask } from "@/api/indexTask";
|
// import { RouterEditTask } from "@/api/indexTask";
|
||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
import { toDate } from "../../api/method";
|
|
||||||
// import UnlockMode from "../../components/drawers/UnlockMode.vue";
|
// import UnlockMode from "../../components/drawers/UnlockMode.vue";
|
||||||
export default {
|
export default {
|
||||||
name: "LevelAddDetail",
|
name: "LevelAddDetail",
|
||||||
@@ -1422,10 +1421,7 @@ export default {
|
|||||||
//给level赋初始值
|
//给level赋初始值
|
||||||
state.level = res.data.data.chapterList;
|
state.level = res.data.data.chapterList;
|
||||||
state.styTitle = res.data.data.routerInfo.name;
|
state.styTitle = res.data.data.routerInfo.name;
|
||||||
state.creTime = toDate(
|
state.creTime = res.data.data.routerInfo.createTime ;
|
||||||
res.data.data.routerInfo.createTime / 1000,
|
|
||||||
"Y-M-D h:m"
|
|
||||||
);
|
|
||||||
state.picUrl = res.data.data.routerInfo.picUrl;
|
state.picUrl = res.data.data.routerInfo.picUrl;
|
||||||
//增加两个字段
|
//增加两个字段
|
||||||
state.level.forEach((item) => {
|
state.level.forEach((item) => {
|
||||||
|
|||||||
@@ -60,8 +60,8 @@
|
|||||||
<ProjectClass v-model:value="projectInfo.category"></ProjectClass>
|
<ProjectClass v-model:value="projectInfo.category"></ProjectClass>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="name">
|
<div class="name flex-top">
|
||||||
<div class="namebox">
|
<div class="namebox" style="margin-top:10px">
|
||||||
<img
|
<img
|
||||||
class="nameimg"
|
class="nameimg"
|
||||||
src="../../assets/images/basicinfo/asterisk.png"
|
src="../../assets/images/basicinfo/asterisk.png"
|
||||||
@@ -94,35 +94,6 @@
|
|||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</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>
|
||||||
<div class="name">
|
<div class="name">
|
||||||
<div class="namebox">
|
<div class="namebox">
|
||||||
@@ -326,7 +297,7 @@ import TrainClass from "@/components/project/TrainClass";
|
|||||||
import OrgClass from "@/components/project/OrgClass";
|
import OrgClass from "@/components/project/OrgClass";
|
||||||
import ProjectManager from "@/components/project/ProjectManagerNew";
|
import ProjectManager from "@/components/project/ProjectManagerNew";
|
||||||
import ProjectLevel from "@/components/project/ProjectLevel";
|
import ProjectLevel from "@/components/project/ProjectLevel";
|
||||||
import { scrollLoad } from "@/api/method";
|
import {changeOwnership, scrollLoad} from "@/api/method";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "projectAdd",
|
name: "projectAdd",
|
||||||
@@ -475,7 +446,12 @@ export default {
|
|||||||
}
|
}
|
||||||
state.projectInfo.type = 3;
|
state.projectInfo.type = 3;
|
||||||
state.projectInfo.courseSyncFlag = state.courseSyncFlag ? 1 : 0;
|
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.destroy();
|
||||||
message.success("编辑成功");
|
message.success("编辑成功");
|
||||||
router.back();
|
router.back();
|
||||||
@@ -495,6 +471,9 @@ export default {
|
|||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
.flex-top{
|
||||||
|
align-items: flex-start !important;
|
||||||
|
}
|
||||||
.projectAdd {
|
.projectAdd {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
// height: inherit;
|
// height: inherit;
|
||||||
|
|||||||
@@ -816,6 +816,7 @@ import ProjectClass from "@/components/project/ProjectClass";
|
|||||||
import OrgClass from "@/components/project/OrgClass";
|
import OrgClass from "@/components/project/OrgClass";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
import * as moment from 'moment'
|
import * as moment from 'moment'
|
||||||
|
import {changeOwnership} from "@/api/method";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "projectManage",
|
name: "projectManage",
|
||||||
@@ -951,11 +952,16 @@ export default {
|
|||||||
if (!validate(state.projectInfo, errorMsgs)) {
|
if (!validate(state.projectInfo, errorMsgs)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
api.createProject(state.projectInfo).then(() => {
|
api.createProject(state.projectInfo).then((res) => {
|
||||||
state.doublepro = false;
|
state.doublepro = false;
|
||||||
message.destroy();
|
message.destroy();
|
||||||
message.success("创建成功");
|
message.success("创建成功");
|
||||||
state.currentPage = 1;
|
state.currentPage = 1;
|
||||||
|
state.projectInfo.projectId || changeOwnership(
|
||||||
|
"project",
|
||||||
|
res.data.data.projectId,
|
||||||
|
[{id: res.data.data.createId, name: res.data.data.createName}]
|
||||||
|
);
|
||||||
getTableDate();
|
getTableDate();
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user