Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
yuping
2022-12-06 16:57:24 +08:00
13 changed files with 617 additions and 776 deletions

View File

@@ -51,12 +51,12 @@
<div class="qrmbtn" @click="downloadQr(200)"> <div class="qrmbtn" @click="downloadQr(200)">
<div class="btntext">200*200</div> <div class="btntext">200*200</div>
</div> </div>
<div class="qrmbtn" @click="downloadQr(200)"> <!-- <div class="qrmbtn" @click="downloadQr(200)">
<div class="btntext">400*400</div> <div class="btntext">400*400</div>
</div> </div>
<div class="qrmbtn" @click="downloadQr(200)"> <div class="qrmbtn" @click="downloadQr(200)">
<div class="btntext">800*800</div> <div class="btntext">800*800</div>
</div> </div> -->
</div> </div>
</div> </div>
</div> </div>

View File

@@ -53,7 +53,7 @@
(_record, index) => (index % 2 === 1 ? 'table-striped' : null) (_record, index) => (index % 2 === 1 ? 'table-striped' : null)
" "
:row-selection="{ :row-selection="{
type:'radio', type: 'radio',
selectedRowKeys: selectedRowKeys, selectedRowKeys: selectedRowKeys,
onChange: onSelectChange, onChange: onSelectChange,
}" }"
@@ -79,7 +79,7 @@
/> />
<div class="pa"> <div class="pa">
<a-pagination <a-pagination
v-if="tableDataTotal>10" v-if="tableDataTotal > 10"
showSizeChanger="true" showSizeChanger="true"
showQuickJumper="true" showQuickJumper="true"
hideOnSinglePage="true" hideOnSinglePage="true"
@@ -216,7 +216,7 @@ export default {
state.apiTaskList = selectedRows; state.apiTaskList = selectedRows;
}; };
const handelChangePage = (page, pageSize) => { const handelChangePage = (page, pageSize) => {
state.selectedRowKeys = [] state.selectedRowKeys = [];
state.currentPage = page; state.currentPage = page;
state.pageSize = pageSize; state.pageSize = pageSize;
getAllCaseText(); getAllCaseText();
@@ -251,15 +251,20 @@ export default {
isTop: "", isTop: "",
}) })
.then((res) => { .then((res) => {
console.log('案例列表',res) console.log("案例列表", res);
if (res.status === 200) { if (res.data.code === 200) {
state.selectedRowKeys=[0] // state.selectedRowKeys = [0];
for(let i=0;i<res.data.data.length;i++){ for (let i = 0; i < res.data.data.list.length; i++) {
if(Number(res.data.data[i].casesId) == props.EditCaseId){ console.log(
state.selectedRowKeys = [i] "res.data.data.list[i].casesId",
res.data.data.list[i].casesId,
props.EditCaseId
);
if (Number(res.data.data.list[i].casesId) == props.EditCaseId) {
state.selectedRowKeys = [i];
} }
} }
getTableDate(res.data.data); getTableDate(res.data.data.list);
} }
}) })
.catch(() => {}); .catch(() => {});
@@ -334,25 +339,25 @@ export default {
} }
}; };
//搜索案例列表 //搜索案例列表
const searchList = ()=> { const searchList = () => {
if(state.inputV1 !== ''){ if (state.inputV1 !== "") {
getAllCaseText() getAllCaseText();
}else { } else {
resetCase() resetCase();
}
} }
};
//重置案例信息 //重置案例信息
const resetCase = () => { const resetCase = () => {
state.inputV1 = "" state.inputV1 = "";
state.selectedRowKeys=[] state.selectedRowKeys = [];
state.currentPage = 1 state.currentPage = 1;
getAllCaseText(); getAllCaseText();
}; };
onMounted(()=>{ onMounted(() => {
// let cookie = // let cookie =
// "eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC91LmJvZS5jb20iLCJpYXQiOjE2Njk0MjgwNTAsImV4cCI6MTY2OTQzNTI1MCwiR2l2ZW5OYW1lIjoiYm9ldSIsInVzZXJJZCI6IjZCMDQ5RkFGLUMzMTQtN0NDRi0wRDI4LTBEMjNGNEM0MjUzMSIsInVJZCI6Ijk2NTM0MjAyNzQ5NzYwNzE2OCIsInBlcm1pc3Npb24iOiIifQ==.9ea5ce6d4cd43c2c17f21a293e4dc0d362c2a404b9d50fae5c49fed5a238fb1a"; // "eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC91LmJvZS5jb20iLCJpYXQiOjE2Njk0MjgwNTAsImV4cCI6MTY2OTQzNTI1MCwiR2l2ZW5OYW1lIjoiYm9ldSIsInVzZXJJZCI6IjZCMDQ5RkFGLUMzMTQtN0NDRi0wRDI4LTBEMjNGNEM0MjUzMSIsInVJZCI6Ijk2NTM0MjAyNzQ5NzYwNzE2OCIsInBlcm1pc3Npb24iOiIifQ==.9ea5ce6d4cd43c2c17f21a293e4dc0d362c2a404b9d50fae5c49fed5a238fb1a";
// setCookie("token", cookie, 10); // setCookie("token", cookie, 10);
}) });
return { return {
...toRefs(state), ...toRefs(state),
afterVisibleChange, afterVisibleChange,

View File

@@ -48,7 +48,7 @@
<div class="main_left"> <div class="main_left">
<div class="main_item"> <div class="main_item">
<div class="btnbox"> <div class="btnbox">
<div class="sign" style="margin-bottom:24px"> <div class="sign" style="margin-bottom: 24px">
<img <img
src="@/assets/images/coursewareManage/asterisk.png" src="@/assets/images/coursewareManage/asterisk.png"
alt="" alt=""
@@ -65,13 +65,13 @@
style="width: 424px; height: 32px; margin-left: 35px" style="width: 424px; height: 32px; margin-left: 35px"
autocomplete="off" autocomplete="off"
placeholder="请输入考试名称" placeholder="请输入考试名称"
show-count :maxlength="20" show-count
:maxlength="20"
/> />
</a-form-item> </a-form-item>
</div> </div>
</div> </div>
<div class="main_item2"> <div class="main_item2">
<a-form-item <a-form-item
has-feedback has-feedback
label="考试说明" label="考试说明"
@@ -84,14 +84,15 @@
allow-clear allow-clear
:rows="6" :rows="6"
style="margin-left: 35px" style="margin-left: 35px"
show-count :maxlength="200" show-count
:maxlength="200"
/> />
</div> </div>
</a-form-item> </a-form-item>
</div> </div>
<div class="main_item"> <div class="main_item">
<div class="btnbox"> <div class="btnbox">
<div class="sign" style="margin-bottom:24px"> <div class="sign" style="margin-bottom: 24px">
<img <img
src="@/assets/images/coursewareManage/asterisk.png" src="@/assets/images/coursewareManage/asterisk.png"
alt="" alt=""
@@ -108,21 +109,23 @@
选择考试 选择考试
</a-button> </a-button>
<a-tag
v-if="paperName != ''"
<a-tag v-if="paperName != ''" closable color="processing" @close="delTag"> closable
<span style="font-size:14px;line-height: 33px;">{{paperName}}</span> color="processing"
@close="delTag"
>
<span style="font-size: 14px; line-height: 33px">{{
paperName
}}</span>
</a-tag> </a-tag>
</a-form-item> </a-form-item>
</div> </div>
</div> </div>
<div class="main_item"> <div class="main_item">
<div class="btnbox"> <div class="btnbox">
<div class="sign" style="margin-bottom:24px"> <div class="sign" style="margin-bottom: 24px">
<img <img
src="@/assets/images/coursewareManage/asterisk.png" src="@/assets/images/coursewareManage/asterisk.png"
alt="" alt=""
@@ -140,7 +143,7 @@
</div> </div>
<div class="main_item"> <div class="main_item">
<div class="btnbox"> <div class="btnbox">
<div class="sign" style="margin-bottom:24px"> <div class="sign" style="margin-bottom: 24px">
<img <img
src="@/assets/images/coursewareManage/asterisk.png" src="@/assets/images/coursewareManage/asterisk.png"
alt="" alt=""
@@ -199,15 +202,13 @@
:value="1" :value="1"
@click="cloradio1" @click="cloradio1"
>允许查看 >允许查看
</a-radio </a-radio>
>
<a-radio <a-radio
v-model:checked="checked" v-model:checked="checked"
:value="2" :value="2"
@click="cloradio1" @click="cloradio1"
>不允许查看 >不允许查看
</a-radio </a-radio>
>
</a-radio-group> </a-radio-group>
</a-form-item> </a-form-item>
</div> </div>
@@ -224,15 +225,13 @@
:value="1" :value="1"
@click="cloradio2" @click="cloradio2"
>允许查看 >允许查看
</a-radio </a-radio>
>
<a-radio <a-radio
v-model:checked="checked" v-model:checked="checked"
:value="2" :value="2"
@click="cloradio2" @click="cloradio2"
>不允许查看 >不允许查看
</a-radio </a-radio>
>
</a-radio-group> </a-radio-group>
</a-form-item> </a-form-item>
</div> </div>
@@ -249,15 +248,13 @@
:value="1" :value="1"
@click="cloradio3" @click="cloradio3"
>最高一次 >最高一次
</a-radio </a-radio>
>
<a-radio <a-radio
v-model:checked="checked" v-model:checked="checked"
:value="2" :value="2"
@click="cloradio3" @click="cloradio3"
>最后一次 >最后一次
</a-radio </a-radio>
>
</a-radio-group> </a-radio-group>
</a-form-item> </a-form-item>
</div> </div>
@@ -290,22 +287,25 @@
:value="1" :value="1"
@click="cloradio4" @click="cloradio4"
>试题乱序 >试题乱序
</a-radio </a-radio>
>
<a-radio <a-radio
v-model:checked="checked" v-model:checked="checked"
:value="2" :value="2"
@click="cloradio4" @click="cloradio4"
>试题排 >选项乱
</a-radio </a-radio>
>
<a-radio <a-radio
v-model:checked="checked" v-model:checked="checked"
:value="3" :value="3"
@click="cloradio4" @click="cloradio4"
>全部乱序 >全部乱序
</a-radio </a-radio>
> <a-radio
v-model:checked="checked"
:value="4"
@click="cloradio4"
>不乱序
</a-radio>
</a-radio-group> </a-radio-group>
</a-form-item> </a-form-item>
</div> </div>
@@ -342,7 +342,8 @@
style="width: 424px; height: 32px; margin-left: 35px" style="width: 424px; height: 32px; margin-left: 35px"
autocomplete="off" autocomplete="off"
placeholder="请输入考试名称" placeholder="请输入考试名称"
show-count :maxlength="20" show-count
:maxlength="20"
/> />
</a-form-item> </a-form-item>
</div> </div>
@@ -359,7 +360,8 @@
style="width: 424px; height: 32px; margin-left: 35px" style="width: 424px; height: 32px; margin-left: 35px"
autocomplete="off" autocomplete="off"
placeholder="数据来源" placeholder="数据来源"
show-count :maxlength="20" show-count
:maxlength="20"
/> />
</a-form-item> </a-form-item>
</div> </div>
@@ -378,7 +380,8 @@
allow-clear allow-clear
:rows="6" :rows="6"
style="margin-left: 35px" style="margin-left: 35px"
show-count :maxlength="200" show-count
:maxlength="200"
/> />
</div> </div>
</a-form-item> </a-form-item>
@@ -393,23 +396,23 @@
</div> </div>
<!-- 加载动画 --> <!-- 加载动画 -->
<div class="aeLoading" :style="{ display: addLoading ? 'flex' : 'none' }"> <div class="aeLoading" :style="{ display: addLoading ? 'flex' : 'none' }">
<a-spin :spinning="addLoading" tip="添加中..."/> <a-spin :spinning="addLoading" tip="添加中..." />
</div> </div>
<!-- 选择考试抽屉 --> <!-- 选择考试抽屉 -->
<s-test v-model:STvisible="STvisible" @getSTData="getData"/> <s-test v-model:STvisible="STvisible" @getSTData="getData" />
</a-drawer> </a-drawer>
</template> </template>
<script> <script>
import {reactive, ref, toRefs} from "vue"; import { reactive, ref, toRefs } from "vue";
import {message} from "ant-design-vue"; import { message } from "ant-design-vue";
import { import {
createExamination, createExamination,
queryExaminationDetailById, queryExaminationDetailById,
updateExamination, updateExamination,
} from "@/api/indexExam"; } from "@/api/indexExam";
import STest from "./SelectTest.vue"; import STest from "./SelectTest.vue";
import {ProjectEditTask, RouterEditTask} from "@/api/indexTask"; import { ProjectEditTask, RouterEditTask } from "@/api/indexTask";
import {addTempTask} from "../../api/indexTaskadd"; import { addTempTask } from "../../api/indexTaskadd";
import dayjs from "dayjs"; import dayjs from "dayjs";
export default { export default {
@@ -470,7 +473,7 @@ export default {
type: Number, type: Number,
default: null, default: null,
}, },
testName:{ testName: {
type: String, type: String,
default: null, default: null,
}, },
@@ -499,12 +502,12 @@ export default {
paperName: "", //试卷名称 子组件传过来给考试抽屉选择试卷后框框用 paperName: "", //试卷名称 子组件传过来给考试抽屉选择试卷后框框用
id: "", id: "",
testName: "", testName: "",
TestName:"", TestName: "",
testObj:{ testObj: {
name:"", name: "",
paperId:"", paperId: "",
choosedTime:"", choosedTime: "",
duration:"" duration: "",
}, },
choosedTestList: [ choosedTestList: [
{ {
@@ -542,7 +545,7 @@ export default {
console.log(args); console.log(args);
}; };
const closeDrawer = () => { const closeDrawer = () => {
console.log('closeDrawer') console.log("closeDrawer");
formState.choosedTime = ""; formState.choosedTime = "";
ctx.emit("update:addtestVisible", false); ctx.emit("update:addtestVisible", false);
ctx.emit("update:edit", false); ctx.emit("update:edit", false);
@@ -560,7 +563,7 @@ export default {
resetForm(); resetForm();
}; };
const afterVisibleChange = () => { const afterVisibleChange = () => {
console.log('props', props) console.log("props", props);
if (props.addtestVisible && props.edit) { if (props.addtestVisible && props.edit) {
// 该页面显示同时 edit为true 时,发送查询请求, // 该页面显示同时 edit为true 时,发送查询请求,
queryTest(); queryTest();
@@ -575,7 +578,7 @@ export default {
}; };
const queryTest = () => { const queryTest = () => {
// state.addLoading = true; // state.addLoading = true;
queryExaminationDetailById({examinationId: props.EditTestId}) queryExaminationDetailById({ examinationId: props.EditTestId })
.then((res) => { .then((res) => {
formState.examinationName = res.data.data.examinationName; formState.examinationName = res.data.data.examinationName;
formState.workRequirement = res.data.data.workRequirement; formState.workRequirement = res.data.data.workRequirement;
@@ -761,9 +764,7 @@ export default {
const changeOuter = (value) => { const changeOuter = (value) => {
state.isOuter = value; state.isOuter = value;
}; };
const chooseTest = () => { const chooseTest = () => {};
};
const closeTag = (removedTag) => { const closeTag = (removedTag) => {
const tags = state.choosedTestList.filter( const tags = state.choosedTestList.filter(
(item) => item.key != removedTag (item) => item.key != removedTag

View File

@@ -12,29 +12,34 @@
</div> </div>
<template v-if="noticeChecked"> <template v-if="noticeChecked">
<p>公告内容</p> <p>公告内容</p>
<!-- 文本 --> <!-- 预览 -->
<div <template v-if="!editOn">
v-if="!editOn" <div style="height: 120px; border: 1px solid rgb(217, 217, 217">
style="height: 120px; border: 1px solid rgb(217, 217, 217" {{ noticeContent }}
> </div>
<div class="btn-content">
<a-button type="primary" @click="handleEdit">编辑</a-button>
</div>
</template>
<!-- 编辑 -->
<template v-if="editOn">
<div style="height: 120px; border: 1px solid rgb(217, 217, 217">
{{ noticeContent }} {{ noticeContent }}
</div> </div>
<a-textarea <a-textarea
v-if="editOn"
v-model:value="noticeContent" v-model:value="noticeContent"
:maxlength="150" :maxlength="150"
placeholder="公告信息最多输入150个字" placeholder="公告信息最多输入150个字"
style="margin-top: -10px; height: 120px" style="margin-top: -10px; height: 120px"
/> />
<!-- 按钮 --> <div class="btn-content">
<div v-if="!editOn" class="btn-content">
<a-button type="primary" @click="handleEdit">编辑</a-button>
</div>
<div v-if="editOn" class="btn-content">
<a-button class="cancel" @click="handleCancel">取消</a-button> <a-button class="cancel" @click="handleCancel">取消</a-button>
<a-button type="primary" @click="pubNotice" class="sure">发布</a-button> <a-button type="primary" @click="pubNotice" class="sure">
发布
</a-button>
</div> </div>
</template> </template>
</template>
</div> </div>
</template>s </template>s
<script> <script>

View File

@@ -388,7 +388,11 @@
<img <img
class="i_upload_img" class="i_upload_img"
v-if="feng_mian_1" 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" alt="avatar"
/> />
<!-- <a-upload <!-- <a-upload
@@ -672,7 +676,7 @@
:mode="mode" :mode="mode"
/> />
<Editor <Editor
style="height: 300px; overflow-y: hidden" style="height: 250px; overflow-y: hidden"
v-model="valueHtml" v-model="valueHtml"
:defaultConfig="editorConfig" :defaultConfig="editorConfig"
:mode="mode" :mode="mode"
@@ -826,7 +830,11 @@
<img <img
class="i_upload_img" class="i_upload_img"
v-if="feng_mian_2" 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" alt="avatar"
/> />
<!-- <a-upload <!-- <a-upload
@@ -1109,7 +1117,7 @@
:mode="mode" :mode="mode"
/> />
<Editor <Editor
style="height: 500px; overflow-y: hidden" style="height: 250px; overflow-y: hidden"
v-model="valueHtml" v-model="valueHtml"
:defaultConfig="editorConfig" :defaultConfig="editorConfig"
:mode="mode" :mode="mode"
@@ -2170,6 +2178,7 @@
</div> </div>
<div class="b_input"> <div class="b_input">
<a-input <a-input
maxlength="30"
v-model:value="xjkkinputV1" v-model:value="xjkkinputV1"
style="width: 440px; height: 40px; border-radius: 8px" style="width: 440px; height: 40px; border-radius: 8px"
placeholder="请输入开课名称" placeholder="请输入开课名称"
@@ -2942,9 +2951,12 @@
<div class="close_exit" @click="delete_exit1"></div> <div class="close_exit" @click="delete_exit1"></div>
</div> </div>
<div class="body"> <div class="body">
<div :style="{ display: del_hs ? 'block' : 'none' }"> <div :style="{ display: del_hs && !del_hs_stu ? 'block' : 'none' }">
<span>您确定要删除此课程吗</span> <span>您确定要删除此课程吗</span>
</div> </div>
<div :style="{ display: del_hs && del_hs_stu ? 'block' : 'none' }">
<span>您确定要删除此学员吗</span>
</div>
<div :style="{ display: copy_hs ? 'block' : 'none' }"> <div :style="{ display: copy_hs ? 'block' : 'none' }">
<span>您确定要复制此课程吗</span> <span>您确定要复制此课程吗</span>
</div> </div>
@@ -3339,7 +3351,7 @@ const columns6 = [
title: "序号", title: "序号",
dataIndex: "num", dataIndex: "num",
key: "num", key: "num",
width: "8%", width: "6%",
align: "center", align: "center",
customRender: ({ index }) => { customRender: ({ index }) => {
//{ text, record, index, column } //{ text, record, index, column }
@@ -3350,8 +3362,9 @@ const columns6 = [
title: "课程名称", title: "课程名称",
dataIndex: "organization", dataIndex: "organization",
key: "organization", key: "organization",
width: "10%", width: "25%",
align: "center", align: "center",
ellipsis: true,
customRender: ({ text }) => { customRender: ({ text }) => {
return text ? text : "-"; return text ? text : "-";
}, },
@@ -3360,8 +3373,9 @@ const columns6 = [
title: "场地", title: "场地",
dataIndex: "address", dataIndex: "address",
key: "saddress", key: "saddress",
width: "10%", width: "25%",
align: "center", align: "center",
ellipsis: true,
customRender: ({ text }) => { customRender: ({ text }) => {
return text ? text : "-"; return text ? text : "-";
}, },
@@ -3370,7 +3384,7 @@ const columns6 = [
title: "开始时间", title: "开始时间",
dataIndex: "starttime", dataIndex: "starttime",
key: "starttime", key: "starttime",
width: "18%", width: "12%",
align: "center", align: "center",
customRender: ({ text }) => { customRender: ({ text }) => {
return text ? getdateToTime(text * 1000) : "-"; return text ? getdateToTime(text * 1000) : "-";
@@ -3380,7 +3394,7 @@ const columns6 = [
title: "创建时间", title: "创建时间",
dataIndex: "createtime", dataIndex: "createtime",
key: "createtime", key: "createtime",
width: "18%", width: "12%",
align: "center", align: "center",
customRender: ({ text }) => { customRender: ({ text }) => {
return text ? getdateToTime(text * 1000) : "-"; return text ? getdateToTime(text * 1000) : "-";
@@ -3388,7 +3402,7 @@ const columns6 = [
}, },
{ {
title: "操作", title: "操作",
width: "30%", width: "20%",
dataIndex: "operation", dataIndex: "operation",
key: "operation", key: "operation",
align: "center", align: "center",
@@ -3712,6 +3726,7 @@ export default defineComponent({
rejectstudy_hs: false, rejectstudy_hs: false,
delete_hs: false, delete_hs: false,
del_hs: false, del_hs: false,
del_hs_stu: false,
copy_hs: false, copy_hs: false,
nouse_hs: false, nouse_hs: false,
// 二维码标题状态 // 二维码标题状态
@@ -4009,7 +4024,7 @@ export default defineComponent({
state.imgList.splice(index, 1); state.imgList.splice(index, 1);
}; };
const handleDel2 = (index) => { const handleDel2 = (index) => {
state.fileList.splice(index, 1); state.filesList.splice(index, 1);
}; };
// 渲染列表1操作 // 渲染列表1操作
@@ -4110,6 +4125,7 @@ export default defineComponent({
state.delete_hs = true; state.delete_hs = true;
state.del_hs = true; state.del_hs = true;
state.del_hs_stu = true;
}; };
const handlJoinStu = (itm) => { const handlJoinStu = (itm) => {
console.log(itm); console.log(itm);
@@ -4270,7 +4286,7 @@ export default defineComponent({
let newArr = []; let newArr = [];
arr.forEach((item) => { arr.forEach((item) => {
newArr.push({ newArr.push({
value: item.dictValue, value: item.dictValue + "," + item.dictCode,
label: item.dictName, label: item.dictName,
}); });
}); });
@@ -4650,6 +4666,8 @@ export default defineComponent({
}; };
const handleCancelStu = () => { const handleCancelStu = () => {
state.cstm_hs = false; state.cstm_hs = false;
state.filesList = [];
state.kk_eidt = false; state.kk_eidt = false;
state.xjkkradioV1 = ""; state.xjkkradioV1 = "";
state.completeType = ""; state.completeType = "";
@@ -4829,6 +4847,7 @@ export default defineComponent({
const delete_exit1 = () => { const delete_exit1 = () => {
state.delete_hs = false; state.delete_hs = false;
state.del_hs = false; state.del_hs = false;
state.del_hs_stu = false;
state.copy_hs = false; state.copy_hs = false;
state.nouse_hs = false; state.nouse_hs = false;
state.rg_hs = false; state.rg_hs = false;
@@ -5190,8 +5209,6 @@ export default defineComponent({
}; };
const handleLook = async (itm, type) => { const handleLook = async (itm, type) => {
// state.isEdit = 0; // state.isEdit = 0;
// console.log(45555);
// console.log(itm);
if (type === "1") { if (type === "1") {
return; return;
} }
@@ -5205,42 +5222,6 @@ export default defineComponent({
state.lookCourseModal = true; state.lookCourseModal = true;
item.attach = item.attach == "" ? [] : item.attach.split(","); item.attach = item.attach == "" ? [] : item.attach.split(",");
state.faceDetailObj = item; 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 () => { // const handleTea = async () => {
// console.log("item22224444"); // console.log("item22224444");
@@ -5387,12 +5368,13 @@ export default defineComponent({
console.log(file); console.log(file);
fileUp(formData).then((res) => { fileUp(formData).then((res) => {
if (res.data.code === 200) { if (res.data.code === 200) {
state.filesList.push({ // state.filesList.push({
img: res.data.data, // img: res.data.data,
name: file.name, // name: file.name,
size: file.size, // size: file.size,
}); // });
console.log(state.filesList); // console.log(state.filesList);
state.filesList = [res.data.data];
// state.hasImgName = res.data.data; // state.hasImgName = res.data.data;
} }
}); });
@@ -7193,6 +7175,7 @@ export default defineComponent({
} }
.fotarea { .fotarea {
width: calc(100% - 150px);
position: relative; position: relative;
.fuwenben { .fuwenben {

View File

@@ -59,7 +59,11 @@
<span style="margin-right: 14px">封面图</span> <span style="margin-right: 14px">封面图</span>
</div> </div>
<img <img
:src="detail.picUrl" :src="
detail.picUrl.indexOf(',') > -1
? detail.picUrl.split(',')[0]
: detail.picUrl
"
alt="img" alt="img"
style="width: 100px; height: 100px" style="width: 100px; height: 100px"
/> />
@@ -648,7 +652,7 @@ export default defineComponent({
} }
.fotarea { .fotarea {
width: calc(100% - 100px); width: calc(100% - 150px);
position: relative; position: relative;
.fuwenben { .fuwenben {

View File

@@ -59,6 +59,45 @@
</div> </div>
</div> </div>
</div> </div>
<!-- 审核日志弹窗 -->
<a-modal
v-model:visible="projAuditModal"
:footer="null"
:closable="closeBack"
wrapClassName="projAuditModal"
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="closeProjAuditModal"></div> -->
</div>
<div class="body">
<a-table
style="width: 90%"
:columns="columnsAudit"
:data-source="tableDataAudit"
:loading="tableDataTotalAudit === -1 ? true : false"
expandRowByClick="true"
:scroll="{ y: 150 }"
@expand="expandTable"
:pagination="false"
/>
</div>
<div class="del_btnbox">
<div class="del_btn btn1" @click="closeProjAuditModal">
<div class="btnText">取消</div>
</div>
<div class="del_btn btn2" @click="closeProjAuditModal">
<div class="btnText">确定</div>
</div>
</div>
</div>
</div>
</a-modal>
</div> </div>
</template> </template>
<script> <script>
@@ -132,15 +171,19 @@ export default {
key: "msg", key: "msg",
align: "center", align: "center",
}, },
// { {
// title: "操作", title: "操作",
// dataIndex: "opt", dataIndex: "opt",
// key: "opt", key: "opt",
// align: "center", align: "center",
// customRender: () => { customRender: (value) => {
// return <div style="color:#387DF7">审核日志</div>; return <div
// }, style="color:#387DF7;cursor:pointer;"
// }, onClick={() => {
showProjAuditModal(value.record.auditList);
}}>审核日志</div>;
},
},
], ],
tableData1: [ tableData1: [
// { // {
@@ -154,6 +197,9 @@ export default {
// msg: "-", // msg: "-",
// }, // },
], ],
//审核记录的数据
tableDataAudit: [],
projAuditModal: false,
}); });
const getList = () => { const getList = () => {
let objn = { let objn = {
@@ -227,12 +273,25 @@ export default {
//获取分类列表 //获取分类列表
state.calssifyList = (await getDictList("faceclassClass")).map(e => ({ label: e.dictName, value: e.dictCode })) state.calssifyList = (await getDictList("faceclassClass")).map(e => ({ label: e.dictName, value: e.dictCode }))
}); });
// 显示审核
const showProjAuditModal = (data) => {
state.tableDataAudit = data
state.projAuditModal = true;
};
const closeProjAuditModal = () => {
state.projAuditModal = false;
};
return { return {
...toRefs(state), ...toRefs(state),
getList, getList,
setTableData, setTableData,
reset, reset,
changePagination, changePagination,
showProjAuditModal,
closeProjAuditModal
}; };
}, },
}; };

View File

@@ -141,304 +141,11 @@
</div> </div>
</a-modal> </a-modal>
<!-- 预览弹窗 --> <!-- 预览弹窗 -->
<a-modal <SeeModal
v-model:visible="lookCourseModal" :visible="lookCourseModal"
title="Title" :detail="faceDetailObj"
@ok="handlePush"
:footer="null"
:closable="false"
wrapClassName="modalStyle lookCourseModal"
width="80%"
@cancel="ft_exit" @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 <a-modal
@@ -462,15 +169,14 @@
import { reactive, toRefs, onMounted, ref } from "vue"; import { reactive, toRefs, onMounted, ref } from "vue";
import { list, courseAuditView, courseDetail } from "../../api/indexAudit"; import { list, courseAuditView, courseDetail } from "../../api/indexAudit";
import { message } from "ant-design-vue"; 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 { iframeUrl } from "../../api/method";
import * as api1 from "@/api/index1"; import * as api1 from "@/api/index1";
export default { export default {
name: "CoursereViewedN", name: "CoursereViewedN",
components: { components: {
Editor, SeeModal,
// Toolbar,
}, },
setup() { setup() {
const state = reactive({ const state = reactive({
@@ -576,7 +282,6 @@ export default {
&nbsp; &nbsp;
<span <span
onClick={() => { onClick={() => {
state.lookCourseModal = true;
getFaceDetail(value.record.offId); getFaceDetail(value.record.offId);
console.log(value.record); console.log(value.record);
}} }}
@@ -652,7 +357,10 @@ export default {
.then((res) => { .then((res) => {
console.log("获取面授详情信息成功", res); console.log("获取面授详情信息成功", res);
let result = res.data.data; let result = res.data.data;
state.lookCourseModal = true;
result.attach = result.attach == "" ? [] : result.attach.split(",");
state.faceDetailObj = result; state.faceDetailObj = result;
heroImg.value.src = result.picUrl; heroImg.value.src = result.picUrl;
valueHtml.value = result.outline; valueHtml.value = result.outline;
attachMap.value = result.attach == "" ? [] : result.attach.split(","); attachMap.value = result.attach == "" ? [] : result.attach.split(",");
@@ -705,15 +413,10 @@ export default {
}; };
// 预览弹框 开启和关闭 // 预览弹框 开启和关闭
const ft_exit = () => { const ft_exit = () => {
state.lookCourseModal = false; state.lookCourseModal = false;
}; };
const handlePush = () => {
state.lookCourseModal = false;
};
const setFaceData = (tableData) => { const setFaceData = (tableData) => {
if (!tableData || !tableData.length) { if (!tableData || !tableData.length) {
state.tableData1 = []; state.tableData1 = [];
@@ -832,7 +535,6 @@ export default {
closeCourAuditModal, closeCourAuditModal,
sureCourAuditModal, sureCourAuditModal,
ft_exit, ft_exit,
handlePush,
getFaceDetail, getFaceDetail,
heroImg, heroImg,
valueHtml, valueHtml,

View File

@@ -201,7 +201,7 @@ export default {
dataIndex: "status", dataIndex: "status",
key: "status", key: "status",
align: "center", align: "center",
customRender: ({record: {status}}) => <div>{{2: '审核通过', 3: '审核拒绝'}[status]}</div>, customRender: ({record: {status}}) => <div>{status==-2?'未通过':'已通过'}</div>,
}, },
{ {
title: "创建人", title: "创建人",
@@ -531,7 +531,7 @@ export default {
.tmplh_btn { .tmplh_btn {
display: flex; display: flex;
// margin-left: 38px; // margin-left: 38px;
margin-top: 32px; margin-top: 52px;
.btn { .btn {
padding: 0px 26px 0px 26px; padding: 0px 26px 0px 26px;

View File

@@ -200,6 +200,7 @@
'background-image': 'url(' + item.dictValue + ')', 'background-image': 'url(' + item.dictValue + ')',
display: index >= 5 ? 'none' : 'flex', display: index >= 5 ? 'none' : 'flex',
}" }"
style="background-size: 100% 100%"
></div> ></div>
<div <div
@click="showLearnBgMore" @click="showLearnBgMore"
@@ -1056,6 +1057,7 @@ export default {
array.push(obj); array.push(obj);
}); });
state.tableData = array; state.tableData = array;
console.log(array,tableData)
}; };
const tableDataFunc = () => { const tableDataFunc = () => {
@@ -1720,7 +1722,7 @@ export default {
getLearnPath(); getLearnPath();
if (store.state.pathmapPic.length > 0) { if (store.state.pathmapPic.length > 0) {
console.log("store.state.pathmapPic", store.state.pathmapPic); console.log("store.state.pathmapPic", store.state.pathmapPic);
state.imgData = [store.state.pathmapPic[0]]; state.imgData = store.state.pathmapPic;
} }
}); });
//添加权限 //添加权限

View File

@@ -905,9 +905,7 @@
<div class="close_exit" @click="closedeleteAll"></div> <div class="close_exit" @click="closedeleteAll"></div>
</div> </div>
<div class="body"> <div class="body">
<span <span>请确认是否批量删除任务</span>
>请确认是否批量删除{{ deleteType === 1 ? "任务" : "学员" }}</span
>
</div> </div>
<div class="del_btnbox"> <div class="del_btnbox">
<div class="del_btn btn1" @click="closedeleteAll"> <div class="del_btn btn1" @click="closedeleteAll">
@@ -1630,7 +1628,7 @@ export default {
state.gqxy_hs = !state.gqxy_hs; state.gqxy_hs = !state.gqxy_hs;
}; };
const showDeleteALLModal = (type) => { const showDeleteALLModal = (type) => {
if (state.selectRow.length === 0){ if (state.selectRow.length === 0) {
message.destroy(); message.destroy();
return message.warning("请选择要删除的任务"); return message.warning("请选择要删除的任务");
} }
@@ -1744,6 +1742,7 @@ export default {
.then((res) => { .then((res) => {
console.log(res); console.log(res);
state.deleteAll = false; state.deleteAll = false;
// state.deleteType = null;
message.destroy(); message.destroy();
state.selectRow = []; //选择行 state.selectRow = []; //选择行
state.selectAll = 0; //0未选择1全选2部分选择 state.selectAll = 0; //0未选择1全选2部分选择

View File

@@ -5,11 +5,11 @@
<div class="leftmain"> <div class="leftmain">
<div class="tit"> <div class="tit">
阶段 阶段
<!-- <img--> <!-- <img-->
<!-- src="../../assets/images/projectadd/right.png"--> <!-- src="../../assets/images/projectadd/right.png"-->
<!-- style="margin-left: 10px; cursor: pointer"--> <!-- style="margin-left: 10px; cursor: pointer"-->
<!-- @click="showCancel"--> <!-- @click="showCancel"-->
<!-- />--> <!-- />-->
</div> </div>
<div class="btn btn3" @click="showModal()" style="margin-left: 19px"> <div class="btn btn3" @click="showModal()" style="margin-left: 19px">
<div class="search"></div> <div class="search"></div>
@@ -140,7 +140,9 @@
<!-- <img class="img2" src="../../assets/images/projectadd/keep.png" /> <!-- <img class="img2" src="../../assets/images/projectadd/keep.png" />
<div class="pub">保存</div> <div class="pub">保存</div>
<div class="line"></div> --> <div class="line"></div> -->
<router-link to="/taskpage"> <router-link
:to="{ path: `/taskpage`, query: { projectId: projectId } }"
>
<div style="display: flex"> <div style="display: flex">
<img <img
class="img2" class="img2"
@@ -874,10 +876,10 @@
</div> </div>
<div class="del_btnbox"> <div class="del_btnbox">
<div class="del_btn btn1" @click="closeCancel"> <div class="del_btn btn1" @click="closeCancel">
<div class="btnText" >取消</div> <div class="btnText">取消</div>
</div> </div>
<div class="del_btn btn2" @click="showModal"> <div class="del_btn btn2" @click="showModal">
<div class="btnText" >确定</div> <div class="btnText">确定</div>
</div> </div>
</div> </div>
</div> </div>
@@ -907,7 +909,7 @@
<div class="btnText">取消</div> <div class="btnText">取消</div>
</div> </div>
<div class="del_btn btn2" @click="showModal1"> <div class="del_btn btn2" @click="showModal1">
<div class="btnText" >确定</div> <div class="btnText">确定</div>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -32,11 +32,51 @@
<div <div
class="pub" class="pub"
style="width: 28px" style="width: 28px"
v-if="action == 0" v-if="action == 2"
@click="showProjectPub" @click="showProjectPub"
> >
{{ act }} {{ act }}
</div> </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"> <!-- <div class="pub" style="width: 28px" v-if="action == -1">
{{ act }} {{ act }}
@@ -1091,7 +1131,7 @@
<div class="set_content" v-if="isPass"> <div class="set_content" v-if="isPass">
<div class="setc_name"><span>审核意见:</span></div> <div class="setc_name"><span>审核意见:</span></div>
<div class="setc_main"> <div class="setc_main">
<span style="color: #333333">{{passInfo}}</span> <span style="color: #333333">{{ passInfo }}</span>
</div> </div>
</div> </div>
</div> </div>
@@ -1106,7 +1146,10 @@
<div class="box"></div> <div class="box"></div>
<div class="onetitle">上传共享文档</div> <div class="onetitle">上传共享文档</div>
<div class="oneedi"> <div class="oneedi">
<a-switch v-model:checked="docChecked" @change="checkedClose"></a-switch> <a-switch
v-model:checked="docChecked"
@change="checkedClose"
></a-switch>
</div> </div>
</div> </div>
<div class="btnbox" style="margin: 20px"> <div class="btnbox" style="margin: 20px">
@@ -1768,6 +1811,7 @@ import NoticeHis from "../../components/drawers/NoticeHis";
import TaskImpStu from "../../components/drawers/TaskFaceIn"; import TaskImpStu from "../../components/drawers/TaskFaceIn";
import { storage } from "../../api/storage"; import { storage } from "../../api/storage";
import * as api from "../../api/index1"; import * as api from "../../api/index1";
import * as apis from "../../api/index";
import * as apiproj from "../../api/index"; import * as apiproj from "../../api/index";
import { import {
getProjStu, getProjStu,
@@ -2435,9 +2479,9 @@ export default {
authClassify: 3, authClassify: 3,
addAuthList: [], addAuthList: [],
switchopen: true, switchopen: true,
isPass:false, // 是否审核未通过 isPass: false, // 是否审核未通过
passInfo:null, // 审核未通过原因说明 passInfo: null, // 审核未通过原因说明
reviewModal: false,
}); });
const levelList = reactive({ const levelList = reactive({
@@ -2511,10 +2555,10 @@ export default {
let leng = res.data.data.stageList.length; let leng = res.data.data.stageList.length;
if (leng > 0) { if (leng > 0) {
let taskarr = res.data.data.stageList; let taskarr = res.data.data.stageList;
console.log('11-22-33',taskarr) console.log("11-22-33", taskarr);
if(taskarr.length==1){ if (taskarr.length == 1) {
if(taskarr[0].stageId == '0'){ if (taskarr[0].stageId == "0") {
taskarr[0].name = '无阶段任务' taskarr[0].name = "无阶段任务";
} }
} }
state.taskSyllabus = taskarr; state.taskSyllabus = taskarr;
@@ -2809,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 = () => { // const studentData = () => {
// let arr = state.tabledata; // let arr = state.tabledata;
@@ -3370,13 +3443,13 @@ export default {
console.log("get task", res.data.data); console.log("get task", res.data.data);
if (res.data.code === 200) { if (res.data.code === 200) {
// 判断当前审核是否通过 // 判断当前审核是否通过
if(res.data.data.projectAuditLogDtoList!==null){ if (res.data.data.projectAuditLogDtoList !== null) {
console.log('审核信息是什么',res.data.data.projectAuditLogDtoList) console.log("审核信息是什么", res.data.data.projectAuditLogDtoList);
let dataset = res.data.data.projectAuditLogDtoList let dataset = res.data.data.projectAuditLogDtoList;
for(let i=0;i<dataset.length;i++){ for (let i = 0; i < dataset.length; i++) {
if(dataset[i].status==-5){ if (dataset[i].status == -5) {
state.isPass = true state.isPass = true;
state.passInfo = dataset[i].description state.passInfo = dataset[i].description;
} }
// isPass passInfo // isPass passInfo
} }
@@ -3411,8 +3484,8 @@ export default {
state.type = info.type; state.type = info.type;
state.category = info.category; state.category = info.category;
state.noticeFlag = info.noticeFlag; state.noticeFlag = info.noticeFlag;
state.switchopen = info.attachSwitch==1?true:false state.switchopen = info.attachSwitch == 1 ? true : false;
state.docChecked = info.attachSwitch==1?true:false; state.docChecked = info.attachSwitch == 1 ? true : false;
// state.attach = info.attach; // state.attach = info.attach;
// state.templateId = info.templateId; // state.templateId = info.templateId;
@@ -3483,11 +3556,13 @@ export default {
// projectGroupId: 0, // projectGroupId: 0,
projectId: state.projectId, projectId: state.projectId,
}; };
console.log("小组创建obj", obj);
editGroup(obj) editGroup(obj)
.then((res) => { .then((res) => {
console.log("小组创建成功", res); console.log("小组创建成功", res);
message.success("小组创建成功"); message.success("小组创建成功");
getGroup(); getGroup();
getStu();
}) })
.catch((err) => { .catch((err) => {
console.log("小组创建失败", err); console.log("小组创建失败", err);
@@ -3569,15 +3644,14 @@ export default {
}; };
//end---------项目概览 //end---------项目概览
// 设置上传图片开关 // 设置上传图片开关
const checkedClose = (data, a) => { const checkedClose = (data, a) => {
console.log(data, a); console.log(data, a);
state.docChecked = data; state.docChecked = data;
state.switchopen = data state.switchopen = data;
// 更新开关状态 // 更新开关状态
editProj({ editProj({
attachSwitch:state.switchopen?1:-1, attachSwitch: state.switchopen ? 1 : -1,
boeFlag: state.boeFlag, boeFlag: state.boeFlag,
category: state.category, category: state.category,
courseSyncFlag: state.courseSyncFlag, courseSyncFlag: state.courseSyncFlag,
@@ -3615,7 +3689,7 @@ export default {
let str = JSON.stringify(list); let str = JSON.stringify(list);
console.log("str", str); console.log("str", str);
//要编辑项目 //要编辑项目
console.log('编辑的项目信息',{ console.log("编辑的项目信息", {
attach: str, attach: str,
// beginTime: state.tstartTime.slice(0, 10), // beginTime: state.tstartTime.slice(0, 10),
boeFlag: state.boeFlag, boeFlag: state.boeFlag,
@@ -3637,9 +3711,9 @@ export default {
systemId: state.tsystemId, systemId: state.tsystemId,
templateId: state.templateId || 0, templateId: state.templateId || 0,
type: state.type, type: state.type,
}) });
editProj({ editProj({
attachSwitch:state.switchopen?1:-1, attachSwitch: state.switchopen ? 1 : -1,
attach: str, attach: str,
boeFlag: state.boeFlag, boeFlag: state.boeFlag,
category: state.category, category: state.category,
@@ -3715,8 +3789,10 @@ export default {
}).then((res) => { }).then((res) => {
state.action = res.data.data.projectInfo.status; state.action = res.data.data.projectInfo.status;
state.act = state.act =
state.action == 0 state.action == 2
? "发布" ? "发布"
: state.action == 0
? "提交审核"
: state.action == 1 : state.action == 1
? "撤回" ? "撤回"
: state.action == -1 : state.action == -1
@@ -4028,7 +4104,10 @@ export default {
deFile, deFile,
toDate, toDate,
routered, routered,
checkedClose checkedClose,
submitExamine,
closeReviewModal,
recallReviewProject,
}; };
}, },
}; };