mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-11 20:06:47 +08:00
feat:合并
This commit is contained in:
@@ -388,7 +388,11 @@
|
||||
<img
|
||||
class="i_upload_img"
|
||||
v-if="feng_mian_1"
|
||||
:src="feng_mian_1"
|
||||
:src="
|
||||
feng_mian_1.indexOf(',') > -1
|
||||
? feng_mian_1.split(',')[0]
|
||||
: feng_mian_1
|
||||
"
|
||||
alt="avatar"
|
||||
/>
|
||||
<!-- <a-upload
|
||||
@@ -672,7 +676,7 @@
|
||||
:mode="mode"
|
||||
/>
|
||||
<Editor
|
||||
style="height: 300px; overflow-y: hidden"
|
||||
style="height: 250px; overflow-y: hidden"
|
||||
v-model="valueHtml"
|
||||
:defaultConfig="editorConfig"
|
||||
:mode="mode"
|
||||
@@ -826,7 +830,11 @@
|
||||
<img
|
||||
class="i_upload_img"
|
||||
v-if="feng_mian_2"
|
||||
:src="feng_mian_2"
|
||||
:src="
|
||||
feng_mian_2.indexOf(',') > -1
|
||||
? feng_mian_2.split(',')[0]
|
||||
: feng_mian_2
|
||||
"
|
||||
alt="avatar"
|
||||
/>
|
||||
<!-- <a-upload
|
||||
@@ -1109,7 +1117,7 @@
|
||||
:mode="mode"
|
||||
/>
|
||||
<Editor
|
||||
style="height: 500px; overflow-y: hidden"
|
||||
style="height: 250px; overflow-y: hidden"
|
||||
v-model="valueHtml"
|
||||
:defaultConfig="editorConfig"
|
||||
:mode="mode"
|
||||
@@ -4270,7 +4278,7 @@ export default defineComponent({
|
||||
let newArr = [];
|
||||
arr.forEach((item) => {
|
||||
newArr.push({
|
||||
value: item.dictValue,
|
||||
value: item.dictValue + "," + item.dictCode,
|
||||
label: item.dictName,
|
||||
});
|
||||
});
|
||||
@@ -5190,8 +5198,6 @@ export default defineComponent({
|
||||
};
|
||||
const handleLook = async (itm, type) => {
|
||||
// state.isEdit = 0;
|
||||
// console.log(45555);
|
||||
// console.log(itm);
|
||||
if (type === "1") {
|
||||
return;
|
||||
}
|
||||
@@ -5205,42 +5211,6 @@ export default defineComponent({
|
||||
state.lookCourseModal = true;
|
||||
item.attach = item.attach == "" ? [] : item.attach.split(",");
|
||||
state.faceDetailObj = item;
|
||||
// // heroImg.value.src = item.picUrl;
|
||||
// // valueHtmlRef.value = item.outline;
|
||||
// // attachMap.value = item.attach == "" ? [] : item.attach.split(",");
|
||||
// console.log("res222222222");
|
||||
// console.log(item);
|
||||
// console.log(state.lookCourseModal);
|
||||
|
||||
// state.qdms_inputV1 = item.name;
|
||||
// state.imageUrl = item.picUrl;
|
||||
// state.qdms_inputV2 = item.targetUser;
|
||||
// state.qdms_inputV3 = item.meaning;
|
||||
// state.fen_lei = String(item.categoryId);
|
||||
// state.chang_jin = String(item.sceneId);
|
||||
// state.tags_val = item.tips ? item.tips.split(",") : [];
|
||||
// //state.qdms_inputV5 = item.teacherId;
|
||||
// state.teacher = item.teacher;
|
||||
// state.teacherId = item.teacherId;
|
||||
// state.qdms_inputV6 = item.intro;
|
||||
// state.member = { value: item.teacherId, name: item.teacher };
|
||||
|
||||
// if (item.attach == "") {
|
||||
// state.imgList = [];
|
||||
// } else {
|
||||
// if (item.attach.indexOf(",")) {
|
||||
// const arr = item.attach.split(",");
|
||||
// arr.forEach((item) => {
|
||||
// state.imgList.push({ img: item });
|
||||
// });
|
||||
// } else {
|
||||
// state.imgList = [{ img: item.attach }];
|
||||
// }
|
||||
// }
|
||||
|
||||
// valueHtml.value = item.outline;
|
||||
|
||||
// state.lookMs = true;
|
||||
};
|
||||
// const handleTea = async () => {
|
||||
// console.log("item22224444");
|
||||
@@ -7193,6 +7163,7 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
.fotarea {
|
||||
width: calc(100% - 150px);
|
||||
position: relative;
|
||||
|
||||
.fuwenben {
|
||||
|
||||
@@ -59,7 +59,11 @@
|
||||
<span style="margin-right: 14px">封面图:</span>
|
||||
</div>
|
||||
<img
|
||||
:src="detail.picUrl"
|
||||
:src="
|
||||
detail.picUrl.indexOf(',') > -1
|
||||
? detail.picUrl.split(',')[0]
|
||||
: detail.picUrl
|
||||
"
|
||||
alt="img"
|
||||
style="width: 100px; height: 100px"
|
||||
/>
|
||||
@@ -648,7 +652,7 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
.fotarea {
|
||||
width: calc(100% - 100px);
|
||||
width: calc(100% - 150px);
|
||||
position: relative;
|
||||
|
||||
.fuwenben {
|
||||
|
||||
@@ -141,304 +141,11 @@
|
||||
</div>
|
||||
</a-modal>
|
||||
<!-- 预览弹窗 -->
|
||||
<a-modal
|
||||
v-model:visible="lookCourseModal"
|
||||
title="Title"
|
||||
@ok="handlePush"
|
||||
:footer="null"
|
||||
:closable="false"
|
||||
wrapClassName="modalStyle lookCourseModal"
|
||||
width="80%"
|
||||
<SeeModal
|
||||
:visible="lookCourseModal"
|
||||
:detail="faceDetailObj"
|
||||
@cancel="ft_exit"
|
||||
>
|
||||
<div class="modalHeader">
|
||||
<div class="headerLeft">
|
||||
<img
|
||||
style="width: 17px; height: 18px; margin-right: 8px"
|
||||
src="../../assets/images/basicinfo/add.png"
|
||||
/>
|
||||
<span class="headerLeftText">预览</span>
|
||||
</div>
|
||||
<div style="margin-right: 57px; cursor: pointer">
|
||||
<img
|
||||
@click="ft_exit"
|
||||
style="width: 22px; height: 22px"
|
||||
src="../../assets/images/basicinfo/close22.png"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modalMain">
|
||||
<div class="faceteach">
|
||||
<div class="ft_main">
|
||||
<div class="m_body">
|
||||
<div class="mb_left">
|
||||
<div class="mbl_items">
|
||||
<div class="item_nam">
|
||||
<div class="asterisk_icon">
|
||||
<img
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt=""
|
||||
/>
|
||||
</div>
|
||||
<span style="margin-right: 14px">课程名称:</span>
|
||||
</div>
|
||||
<div class="item_inp">
|
||||
<div class="i1_input">
|
||||
{{ faceDetailObj !== null ? faceDetailObj.name : "" }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="i2_cz">
|
||||
<div class="i2_top">
|
||||
<div
|
||||
class="i2_right"
|
||||
@click="hideShow"
|
||||
style="cursor: pointer"
|
||||
>
|
||||
<div class="b_icon"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mbl_items2">
|
||||
<div class="item_nam">
|
||||
<div class="asterisk_icon">
|
||||
<img
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt=""
|
||||
/>
|
||||
</div>
|
||||
<span style="margin-right: 14px">封面图:</span>
|
||||
</div>
|
||||
<img
|
||||
ref="heroImg"
|
||||
alt=""
|
||||
style="width: 100px; height: 100px"
|
||||
/>
|
||||
<!-- <div class="item_inp"></div> -->
|
||||
</div>
|
||||
<div class="mbl_items">
|
||||
<div class="item_nam">
|
||||
<div class="asterisk_icon">
|
||||
<img
|
||||
style="width: 10px; height: 10px"
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt=""
|
||||
/>
|
||||
</div>
|
||||
<span style="margin-right: 14px">目标人群:</span>
|
||||
</div>
|
||||
<div class="item_inp">
|
||||
<div class="i1_input">
|
||||
{{
|
||||
faceDetailObj !== null ? faceDetailObj.targetUser : ""
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mbl_items">
|
||||
<div class="item_nam">
|
||||
<span style="margin-right: 14px">课程价值:</span>
|
||||
</div>
|
||||
<div class="item_inp">
|
||||
<div class="i1_input">
|
||||
{{ faceDetailObj !== null ? faceDetailObj.meaning : "" }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="mbl_items">
|
||||
<div class="item_nam">
|
||||
<div class="asterisk_icon">
|
||||
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||
</div>
|
||||
<span style="margin-right: 14px">资源归属:</span>
|
||||
</div>
|
||||
<div class="item_inp">
|
||||
<div class="select i6_input">{{ faceDetailObj !== null ? faceDetailObj.projectId : "" }}</div>
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="mbl_items">
|
||||
<div class="item_nam">
|
||||
<div class="asterisk_icon">
|
||||
<img
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt=""
|
||||
/>
|
||||
</div>
|
||||
<span style="margin-right: 14px">内容分类:</span>
|
||||
</div>
|
||||
<div class="item_inp">
|
||||
<!-- <div class="select i6_input">{{ faceDetailObj !== null ? faceDetailObj.categoryId : "" }}</div> -->
|
||||
<div class="select i6_input">
|
||||
{{
|
||||
faceDetailObj !== null
|
||||
? contentList11.find(
|
||||
(e) => e.dictCode == faceDetailObj.categoryId
|
||||
)?.dictValue
|
||||
: ""
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mbl_items">
|
||||
<div class="item_nam">
|
||||
<span style="margin-right: 14px">场景:</span>
|
||||
</div>
|
||||
<div class="item_inp">
|
||||
<!-- <div class="select i7_input">{{ faceDetailObj !== null ? faceDetailObj.sceneId : "" }}</div> -->
|
||||
<div class="select i7_input">
|
||||
{{
|
||||
faceDetailObj !== null
|
||||
? sceneist11.find(
|
||||
(e) => e.dictCode == faceDetailObj.sceneId
|
||||
)?.dictValue
|
||||
: ""
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mbl_items">
|
||||
<div class="item_nam">
|
||||
<span style="margin-right: 14px">内容标签:</span>
|
||||
</div>
|
||||
<div class="item_inp">
|
||||
{{ faceDetailObj !== null ? faceDetailObj.tips : "" }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb_right">
|
||||
<div class="mbl_items">
|
||||
<div class="item_nam">
|
||||
<div class="asterisk_icon">
|
||||
<img
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt="asterisk"
|
||||
/>
|
||||
</div>
|
||||
<span style="margin-right: 14px">授课教师:</span>
|
||||
</div>
|
||||
<div class="item_inp">
|
||||
<div class="i1_input">
|
||||
{{ faceDetailObj !== null ? faceDetailObj.teacher : "" }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mbl_items2">
|
||||
<div class="item_nam">
|
||||
<span style="margin-right: 14px">课程简介:</span>
|
||||
</div>
|
||||
<div class="item_inp">
|
||||
<div class="i10_textarea">
|
||||
{{ faceDetailObj !== null ? faceDetailObj.intro : "" }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mbl_items">
|
||||
<div v-if="attachMap.length > 0" class="item_nam">
|
||||
<span style="margin-right: 10px">附件</span>
|
||||
</div>
|
||||
<div
|
||||
class="item_inp"
|
||||
v-for="(value, index) in attachMap"
|
||||
:key="index"
|
||||
>
|
||||
<a>
|
||||
{{
|
||||
[
|
||||
"附件一",
|
||||
"附件二",
|
||||
"附件三",
|
||||
"附件四",
|
||||
"附件五",
|
||||
"附件六",
|
||||
][index]
|
||||
}}
|
||||
</a>
|
||||
<a style="margin-left: 120px" :src="value" :href="value"
|
||||
>查看</a
|
||||
>
|
||||
<!-- <a-upload multiple :show-upload-list="false" :before-upload="beforeUpload2">
|
||||
<div class="accessory" style="cursor: pointer">
|
||||
<div class="accessory_icon">
|
||||
<img src="@/assets/images/coursewareManage/enclosure.png" alt="enclosure" />
|
||||
</div>
|
||||
<span style="color: #4ea6ff">添加附件</span>
|
||||
</div>
|
||||
</a-upload>
|
||||
<span>
|
||||
支持.pdf,.ppt,.pptx,.doc,.docx,.xls,.xlsx,.jpg,.jpeg,.png,.gif,.zip
|
||||
</span> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="mbl_items12">
|
||||
<div
|
||||
class="i12_box1"
|
||||
v-for="(item, index) in imgList"
|
||||
:key="index"
|
||||
>
|
||||
<div class="file_img">
|
||||
<img :src="item.img" />
|
||||
</div>
|
||||
<div class="file_detail">
|
||||
<div class="file_name">
|
||||
<span style="color: #6f6f6f">{{ item.name }}</span>
|
||||
</div>
|
||||
|
||||
<div class="file_updata">
|
||||
<div class="updatabox">
|
||||
<div class="updatacolor"></div>
|
||||
<div class="updataxq">上传完成</div>
|
||||
</div>
|
||||
<div class="upjd">
|
||||
<span style="margin: auto 5px">100%</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="file_operation">
|
||||
<div class="fobox">
|
||||
<span style="color: #4ea6ff" @click="handleDel(index)">
|
||||
删除
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="m_footer">
|
||||
<div class="fotnam">
|
||||
<span>课程大纲</span>
|
||||
</div>
|
||||
<div class="fotarea">
|
||||
<div style="border: 1px solid #ccc">
|
||||
<!-- <Toolbar style="border-bottom: 1px solid #ccc;width:900px;height: 300px;" :defaultConfig="toolbarConfig"
|
||||
:mode="mode" /> -->
|
||||
<Editor
|
||||
@focus="onEditorFocus"
|
||||
style="
|
||||
border-bottom: 1px solid #ccc;
|
||||
width: 900px;
|
||||
height: 300px;
|
||||
"
|
||||
v-model="valueHtml"
|
||||
:defaultConfig="editorConfig"
|
||||
:mode="mode"
|
||||
@onCreated="handleCreated"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="m_btn">
|
||||
<div class="btn btn5" @click="ft_exit">
|
||||
<div class="btnText">取消</div>
|
||||
</div>
|
||||
<div class="btn btn6" @click="handlePush">
|
||||
<div class="btnText">确定</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a-modal>
|
||||
/>
|
||||
|
||||
<!-- 审核在线课 -->
|
||||
<a-modal
|
||||
@@ -462,15 +169,14 @@
|
||||
import { reactive, toRefs, onMounted, ref } from "vue";
|
||||
import { list, courseAuditView, courseDetail } from "../../api/indexAudit";
|
||||
import { message } from "ant-design-vue";
|
||||
import { Editor } from "@wangeditor/editor-for-vue";
|
||||
import SeeModal from "../courselibrary/components/seeModal.vue";
|
||||
import { iframeUrl } from "../../api/method";
|
||||
import * as api1 from "@/api/index1";
|
||||
|
||||
export default {
|
||||
name: "CoursereViewedN",
|
||||
components: {
|
||||
Editor,
|
||||
// Toolbar,
|
||||
SeeModal,
|
||||
},
|
||||
setup() {
|
||||
const state = reactive({
|
||||
@@ -576,7 +282,6 @@ export default {
|
||||
|
||||
<span
|
||||
onClick={() => {
|
||||
state.lookCourseModal = true;
|
||||
getFaceDetail(value.record.offId);
|
||||
console.log(value.record);
|
||||
}}
|
||||
@@ -652,7 +357,10 @@ export default {
|
||||
.then((res) => {
|
||||
console.log("获取面授详情信息成功", res);
|
||||
let result = res.data.data;
|
||||
state.lookCourseModal = true;
|
||||
result.attach = result.attach == "" ? [] : result.attach.split(",");
|
||||
state.faceDetailObj = result;
|
||||
|
||||
heroImg.value.src = result.picUrl;
|
||||
valueHtml.value = result.outline;
|
||||
attachMap.value = result.attach == "" ? [] : result.attach.split(",");
|
||||
@@ -705,15 +413,10 @@ export default {
|
||||
};
|
||||
|
||||
// 预览弹框 开启和关闭
|
||||
|
||||
const ft_exit = () => {
|
||||
state.lookCourseModal = false;
|
||||
};
|
||||
|
||||
const handlePush = () => {
|
||||
state.lookCourseModal = false;
|
||||
};
|
||||
|
||||
const setFaceData = (tableData) => {
|
||||
if (!tableData || !tableData.length) {
|
||||
state.tableData1 = [];
|
||||
@@ -832,7 +535,6 @@ export default {
|
||||
closeCourAuditModal,
|
||||
sureCourAuditModal,
|
||||
ft_exit,
|
||||
handlePush,
|
||||
getFaceDetail,
|
||||
heroImg,
|
||||
valueHtml,
|
||||
|
||||
@@ -32,11 +32,51 @@
|
||||
<div
|
||||
class="pub"
|
||||
style="width: 28px"
|
||||
v-if="action == 0"
|
||||
v-if="action == 2"
|
||||
@click="showProjectPub"
|
||||
>
|
||||
{{ act }}
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="pub"
|
||||
style="width: 56px"
|
||||
v-if="action == 0"
|
||||
@click="submitExamine"
|
||||
>
|
||||
{{ act }}
|
||||
</div>
|
||||
<!-- 项目提交审核弹窗 -->
|
||||
<a-modal
|
||||
v-model:visible="reviewModal"
|
||||
:footer="null"
|
||||
:closable="false"
|
||||
wrapClassName="CopyModal"
|
||||
centered="true"
|
||||
>
|
||||
<div class="delete">
|
||||
<div class="del_header"></div>
|
||||
<div class="del_main">
|
||||
<div class="header">
|
||||
<div class="icon"></div>
|
||||
<span>提示</span>
|
||||
<div class="close_exit" @click="closeReviewModal"></div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<span>您确定要提交审核吗</span>
|
||||
<div class="back"></div>
|
||||
</div>
|
||||
<div class="del_btnbox">
|
||||
<div class="del_btn btn1" @click="closeReviewModal">
|
||||
<div class="btnText">取消</div>
|
||||
</div>
|
||||
<div class="del_btn btn2" @click="recallReviewProject">
|
||||
<div class="btnText">确定</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a-modal>
|
||||
<!-- 已结束的显示 -->
|
||||
<!-- <div class="pub" style="width: 28px" v-if="action == -1">
|
||||
{{ act }}
|
||||
@@ -1771,6 +1811,7 @@ import NoticeHis from "../../components/drawers/NoticeHis";
|
||||
import TaskImpStu from "../../components/drawers/TaskFaceIn";
|
||||
import { storage } from "../../api/storage";
|
||||
import * as api from "../../api/index1";
|
||||
import * as apis from "../../api/index";
|
||||
import * as apiproj from "../../api/index";
|
||||
import {
|
||||
getProjStu,
|
||||
@@ -2440,6 +2481,7 @@ export default {
|
||||
switchopen: true,
|
||||
isPass: false, // 是否审核未通过
|
||||
passInfo: null, // 审核未通过原因说明
|
||||
reviewModal: false,
|
||||
});
|
||||
|
||||
const levelList = reactive({
|
||||
@@ -2811,6 +2853,35 @@ export default {
|
||||
};
|
||||
};
|
||||
|
||||
// 提交审核
|
||||
const submitExamine = () => {
|
||||
state.reviewModal = true;
|
||||
};
|
||||
|
||||
const recallReviewProject = () => {
|
||||
let obj = {
|
||||
projectId: state.projectId,
|
||||
type: 3,
|
||||
};
|
||||
console.log("提交审核obj", obj);
|
||||
apis
|
||||
.handleProject(obj)
|
||||
.then((res) => {
|
||||
console.log("提交成功", res);
|
||||
message.destroy();
|
||||
message.success("提交成功");
|
||||
state.reviewModal = false;
|
||||
getTaskInfo();
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log("提交失败", err);
|
||||
});
|
||||
};
|
||||
|
||||
//关闭提交审核弹窗
|
||||
const closeReviewModal = () => {
|
||||
state.reviewModal = false;
|
||||
};
|
||||
//学员管理列表操作
|
||||
// const studentData = () => {
|
||||
// let arr = state.tabledata;
|
||||
@@ -3718,8 +3789,10 @@ export default {
|
||||
}).then((res) => {
|
||||
state.action = res.data.data.projectInfo.status;
|
||||
state.act =
|
||||
state.action == 0
|
||||
state.action == 2
|
||||
? "发布"
|
||||
: state.action == 0
|
||||
? "提交审核"
|
||||
: state.action == 1
|
||||
? "撤回"
|
||||
: state.action == -1
|
||||
@@ -4032,6 +4105,9 @@ export default {
|
||||
toDate,
|
||||
routered,
|
||||
checkedClose,
|
||||
submitExamine,
|
||||
closeReviewModal,
|
||||
recallReviewProject,
|
||||
};
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user