feat:合并

This commit is contained in:
lixg
2022-12-06 16:01:56 +08:00
4 changed files with 107 additions and 354 deletions

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {
&nbsp;
<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,

View File

@@ -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,
};
},
};