mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-24 10:12:54 +08:00
feat:合并
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
* @Author: lixg lixg@dongwu-inc.com
|
||||
* @Date: 2022-11-21 14:32:52
|
||||
* @LastEditors: lixg lixg@dongwu-inc.com
|
||||
* @LastEditTime: 2022-12-08 08:49:37
|
||||
* @LastEditTime: 2022-12-08 08:48:26
|
||||
* @FilePath: /fe-manage/src/api/config.js
|
||||
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||
*/
|
||||
@@ -56,7 +56,7 @@ http.interceptors.response.use(
|
||||
return response;
|
||||
} else {
|
||||
if (code === 1000) {
|
||||
// window.open("https://u-pre.boe.com/web/", '_self');
|
||||
window.open("https://u-pre.boe.com/web/", '_self');
|
||||
// window.open("http://111.231.196.214:12013/manage/login", '_self');
|
||||
}
|
||||
console.log("api %o", msg);
|
||||
|
||||
@@ -5,6 +5,8 @@ export const getTask = (obj) => http.get('/admin/project/detail', { params: obj
|
||||
//项目里的新建或编辑阶段任务
|
||||
export const addTask = (obj) => http.post('/admin/project/editTask', obj)
|
||||
|
||||
//模板库项目里的新建或编辑阶段任务
|
||||
export const addTaskTemplate = (obj) => http.post('/admin/project/template/editTask', obj)
|
||||
|
||||
//项目里的删除任务
|
||||
export const deleteTask = (obj) => http.delete('/admin/project/deleteTask', { params: obj })
|
||||
|
||||
@@ -315,7 +315,7 @@ export default {
|
||||
} else if (props.isLevel == 3) {
|
||||
for (let i = 0; i < state.apiTaskList.length; i++) {
|
||||
apiTask
|
||||
.addTask({
|
||||
.addTaskTemplate({
|
||||
courseId: Number(state.apiTaskList[i].casesId),
|
||||
name: state.apiTaskList[i].title,
|
||||
projectTaskId: props.projectTaskId,
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,29 +1,29 @@
|
||||
<!-- 确定新建面授课弹窗 -->
|
||||
<template>
|
||||
<a-modal
|
||||
v-model:visible="ft_hs"
|
||||
title="Title"
|
||||
:footer="null"
|
||||
:closable="false"
|
||||
wrapClassName="modalStyle facteachModal"
|
||||
width="80%"
|
||||
@cancel="visibleClose"
|
||||
@ok="handlePush"
|
||||
v-model:visible="ft_hs"
|
||||
title="Title"
|
||||
:footer="null"
|
||||
:closable="false"
|
||||
wrapClassName="modalStyle facteachModal"
|
||||
width="80%"
|
||||
@cancel="visibleClose"
|
||||
@ok="handlePush"
|
||||
>
|
||||
<div class="modalHeader">
|
||||
<div class="headerLeft">
|
||||
<img
|
||||
style="width: 17px; height: 18px; margin-right: 8px"
|
||||
src="@/assets/images/basicinfo/add.png"
|
||||
style="width: 17px; height: 18px; margin-right: 8px"
|
||||
src="@/assets/images/basicinfo/add.png"
|
||||
/>
|
||||
<span v-if="ft_eidt" class="headerLeftText">编辑面授课</span>
|
||||
<span v-else class="headerLeftText">新建面授课</span>
|
||||
</div>
|
||||
<div style="margin-right: 57px; cursor: pointer">
|
||||
<img
|
||||
@click="visibleClose"
|
||||
style="width: 22px; height: 22px"
|
||||
src="@/assets/images/basicinfo/close22.png"
|
||||
@click="visibleClose"
|
||||
style="width: 22px; height: 22px"
|
||||
src="@/assets/images/basicinfo/close22.png"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -31,7 +31,7 @@
|
||||
<!-- 审核理由 -->
|
||||
<div v-if="statusJuJue" class="statusJuJue">
|
||||
<span>审核意见:</span>
|
||||
<span>-</span>
|
||||
<span>{{auditDescription}}</span>
|
||||
</div>
|
||||
<div class="faceteach" :style="{ display: ft_hs ? 'block' : 'none' }">
|
||||
<div class="ft_main">
|
||||
@@ -42,8 +42,8 @@
|
||||
<div class="item_nam">
|
||||
<div class="asterisk_icon">
|
||||
<img
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt="asterisk"
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt="asterisk"
|
||||
/>
|
||||
</div>
|
||||
<span style="margin-right: 14px">课程名称</span>
|
||||
@@ -51,10 +51,10 @@
|
||||
<div class="item_inp">
|
||||
<div class="i1_input">
|
||||
<a-input
|
||||
v-model:value="qdms_inputV1"
|
||||
maxlength="90"
|
||||
style="width: 440px; height: 40px; border-radius: 8px"
|
||||
placeholder="请输入课程名称"
|
||||
v-model:value="qdms_inputV1"
|
||||
maxlength="90"
|
||||
style="width: 440px; height: 40px; border-radius: 8px"
|
||||
placeholder="请输入课程名称"
|
||||
/>
|
||||
<div class="inp_num">
|
||||
<span style="color: #c7cbd2">
|
||||
@@ -70,19 +70,19 @@
|
||||
<span style="color: #999ba3">课程命名规则</span>
|
||||
</div>
|
||||
<div
|
||||
class="i2_right"
|
||||
@click="hideShow"
|
||||
style="cursor: pointer"
|
||||
class="i2_right"
|
||||
@click="hideShow"
|
||||
style="cursor: pointer"
|
||||
>
|
||||
<div
|
||||
class="b_zk"
|
||||
:style="{ display: hideshow ? 'block' : 'none' }"
|
||||
class="b_zk"
|
||||
:style="{ display: hideshow ? 'block' : 'none' }"
|
||||
>
|
||||
<span style="color: #4ea6ff">收起</span>
|
||||
</div>
|
||||
<div
|
||||
class="b_sq"
|
||||
:style="{ display: hideshow ? 'none' : 'block' }"
|
||||
class="b_sq"
|
||||
:style="{ display: hideshow ? 'none' : 'block' }"
|
||||
>
|
||||
<span style="color: #4ea6ff">展开</span>
|
||||
</div>
|
||||
@@ -90,14 +90,14 @@
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="i2_detail"
|
||||
:style="{ display: hideshow ? 'block' : 'none' }"
|
||||
class="i2_detail"
|
||||
:style="{ display: hideshow ? 'block' : 'none' }"
|
||||
>
|
||||
<span style="color: #999ba3">
|
||||
1、课程名称统一不加书名号。<br/>
|
||||
1、课程名称统一不加书名号。<br />
|
||||
2、项目名称、属地等信息如需体现在课程名称中,请放在课程名称信息
|
||||
之后,如“时间管理(GROW180项目)”或“时间管理(B*)”确保首先
|
||||
看到的是课程内容主题。<br/>
|
||||
看到的是课程内容主题。<br />
|
||||
3、同一课程如先后有多个版本,原则上仅开放最新版本,旧版本应停用
|
||||
版本如必须以年份标明,请以“沟通技巧(2022年)”的方式呈现。
|
||||
</span>
|
||||
@@ -107,32 +107,32 @@
|
||||
<div class="item_nam">
|
||||
<div class="asterisk_icon">
|
||||
<img
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt=""
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt=""
|
||||
/>
|
||||
</div>
|
||||
<span style="margin-right: 14px">封面图</span>
|
||||
</div>
|
||||
<div class="item_inp">
|
||||
<a-select
|
||||
:getPopupContainer="
|
||||
:getPopupContainer="
|
||||
(triggerNode) => {
|
||||
return triggerNode.parentNode || document.body;
|
||||
}
|
||||
"
|
||||
v-model:value="feng_mian_1"
|
||||
dropdownClassName="dropdown-style"
|
||||
style="width: 440px"
|
||||
placeholder="请选择"
|
||||
:options="optionsUrl"
|
||||
allowClear
|
||||
showSearch
|
||||
v-model:value="feng_mian_1"
|
||||
dropdownClassName="dropdown-style"
|
||||
style="width: 440px"
|
||||
placeholder="请选择"
|
||||
:options="optionsUrl"
|
||||
allowClear
|
||||
showSearch
|
||||
/>
|
||||
<img
|
||||
class="i_upload_img"
|
||||
v-if="feng_mian_1"
|
||||
:src="feng_mian_1"
|
||||
alt="avatar"
|
||||
class="i_upload_img"
|
||||
v-if="feng_mian_1"
|
||||
:src="feng_mian_1"
|
||||
alt="avatar"
|
||||
/>
|
||||
<div class="i_bottom">
|
||||
<span style="color: #999ba3">
|
||||
@@ -145,9 +145,9 @@
|
||||
<div class="item_nam">
|
||||
<div class="asterisk_icon">
|
||||
<img
|
||||
style="width: 10px; height: 10px"
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt=""
|
||||
style="width: 10px; height: 10px"
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt=""
|
||||
/>
|
||||
</div>
|
||||
<span style="margin-right: 14px">目标人群</span>
|
||||
@@ -155,10 +155,10 @@
|
||||
<div class="item_inp">
|
||||
<div class="i1_input">
|
||||
<a-input
|
||||
v-model:value="qdms_inputV2"
|
||||
maxlength="50"
|
||||
style="width: 440px; height: 40px; border-radius: 8px"
|
||||
placeholder="请输入目标人群"
|
||||
v-model:value="qdms_inputV2"
|
||||
maxlength="50"
|
||||
style="width: 440px; height: 40px; border-radius: 8px"
|
||||
placeholder="请输入目标人群"
|
||||
/>
|
||||
<div class="inp_num">
|
||||
<span style="color: #c7cbd2">
|
||||
@@ -175,10 +175,10 @@
|
||||
<div class="item_inp">
|
||||
<div class="i1_input">
|
||||
<a-input
|
||||
v-model:value="qdms_inputV3"
|
||||
maxlength="200"
|
||||
style="width: 440px; height: 40px; border-radius: 8px"
|
||||
placeholder="请输入课程价值"
|
||||
v-model:value="qdms_inputV3"
|
||||
maxlength="200"
|
||||
style="width: 440px; height: 40px; border-radius: 8px"
|
||||
placeholder="请输入课程价值"
|
||||
/>
|
||||
<div class="inp_num">
|
||||
<span style="color: #c7cbd2">
|
||||
@@ -192,8 +192,8 @@
|
||||
<div class="item_nam">
|
||||
<div class="asterisk_icon">
|
||||
<img
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt="asterisk"
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt="asterisk"
|
||||
/>
|
||||
</div>
|
||||
<span style="margin-right: 14px">内容分类</span>
|
||||
@@ -201,18 +201,18 @@
|
||||
<div class="item_inp">
|
||||
<div class="select i6_input">
|
||||
<a-select
|
||||
:getPopupContainer="
|
||||
:getPopupContainer="
|
||||
(triggerNode) => {
|
||||
return triggerNode.parentNode || document.body;
|
||||
}
|
||||
"
|
||||
v-model:value="fen_lei"
|
||||
dropdownClassName="dropdown-style"
|
||||
style="width: 440px"
|
||||
placeholder="请选择"
|
||||
:options="options2"
|
||||
allowClear
|
||||
showSearch
|
||||
v-model:value="fen_lei"
|
||||
dropdownClassName="dropdown-style"
|
||||
style="width: 440px"
|
||||
placeholder="请选择"
|
||||
:options="options2"
|
||||
allowClear
|
||||
showSearch
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -224,18 +224,18 @@
|
||||
<div class="item_inp">
|
||||
<div class="select i7_input">
|
||||
<a-select
|
||||
:getPopupContainer="
|
||||
:getPopupContainer="
|
||||
(triggerNode) => {
|
||||
return triggerNode.parentNode || document.body;
|
||||
}
|
||||
"
|
||||
v-model:value="chang_jin"
|
||||
dropdownClassName="dropdown-style"
|
||||
style="width: 440px"
|
||||
placeholder="请选择"
|
||||
:options="options3"
|
||||
allowClear
|
||||
showSearch
|
||||
v-model:value="chang_jin"
|
||||
dropdownClassName="dropdown-style"
|
||||
style="width: 440px"
|
||||
placeholder="请选择"
|
||||
:options="options3"
|
||||
allowClear
|
||||
showSearch
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -246,17 +246,17 @@
|
||||
</div>
|
||||
<div class="item_inp">
|
||||
<a-input
|
||||
v-model:value="tags_val_single"
|
||||
style="width: 440px; height: 40px; border-radius: 8px"
|
||||
placeholder="请输入按回车键创建成功"
|
||||
@pressEnter="handleTagChange"
|
||||
v-model:value="tags_val_single"
|
||||
style="width: 440px; height: 40px; border-radius: 8px"
|
||||
placeholder="请输入按回车键创建成功"
|
||||
@pressEnter="handleTagChange"
|
||||
/>
|
||||
<div class="tag-content">
|
||||
<a-tag
|
||||
v-for="(item, index) in tags_val"
|
||||
:key="index"
|
||||
closable
|
||||
@close="handleTagClose(item)"
|
||||
v-for="(item, index) in tags_val"
|
||||
:key="index"
|
||||
closable
|
||||
@close="handleTagClose(item)"
|
||||
>
|
||||
{{ item }}
|
||||
</a-tag>
|
||||
@@ -269,8 +269,8 @@
|
||||
<div class="item_nam">
|
||||
<div class="asterisk_icon">
|
||||
<img
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt="asterisk"
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt="asterisk"
|
||||
/>
|
||||
</div>
|
||||
<!-- 授课教师1 -->
|
||||
@@ -279,8 +279,8 @@
|
||||
<div class="item_inp">
|
||||
<div class="i1_input">
|
||||
<ProjectManager
|
||||
v-model:value="member.value"
|
||||
v-model:name="member.name"
|
||||
v-model:value="member.value"
|
||||
v-model:name="member.name"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -292,10 +292,10 @@
|
||||
<div class="item_inp">
|
||||
<div class="i10_textarea">
|
||||
<a-textarea
|
||||
v-model:value="qdms_inputV6"
|
||||
maxlength="150"
|
||||
style="width: 440px; height: 100px; border-radius: 8px"
|
||||
placeholder="请输入"
|
||||
v-model:value="qdms_inputV6"
|
||||
maxlength="150"
|
||||
style="width: 440px; height: 100px; border-radius: 8px"
|
||||
placeholder="请输入"
|
||||
/>
|
||||
<div class="inp_num">
|
||||
<span style="color: #c7cbd2">
|
||||
@@ -322,17 +322,17 @@
|
||||
<div class="fotarea">
|
||||
<div style="border: 1px solid #ccc">
|
||||
<Toolbar
|
||||
style="border-bottom: 1px solid #ccc"
|
||||
:editor="editorRef"
|
||||
:defaultConfig="toolbarConfig"
|
||||
:mode="mode"
|
||||
style="border-bottom: 1px solid #ccc"
|
||||
:editor="editorRef"
|
||||
:defaultConfig="toolbarConfig"
|
||||
:mode="mode"
|
||||
/>
|
||||
<Editor
|
||||
style="height: 250px; overflow-y: hidden"
|
||||
v-model="valueHtml"
|
||||
:defaultConfig="editorConfig"
|
||||
:mode="mode"
|
||||
@onCreated="handleCreated"
|
||||
style="height: 250px; overflow-y: hidden"
|
||||
v-model="valueHtml"
|
||||
:defaultConfig="editorConfig"
|
||||
:mode="mode"
|
||||
@onCreated="handleCreated"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -363,16 +363,16 @@ import {
|
||||
onMounted,
|
||||
onBeforeUnmount,
|
||||
} from "vue";
|
||||
import {message} from "ant-design-vue";
|
||||
import {edit, detail, handle} from "@/api/indexCourse";
|
||||
import {fileUp} from "../../api/indexEval";
|
||||
import { message } from "ant-design-vue";
|
||||
import { edit, detail, handle } from "@/api/indexCourse";
|
||||
import { fileUp } from "../../api/indexEval";
|
||||
import * as api1 from "../../api/index1";
|
||||
import "@wangeditor/editor/dist/css/style.css";
|
||||
import {Editor, Toolbar} from "@wangeditor/editor-for-vue";
|
||||
import { Editor, Toolbar } from "@wangeditor/editor-for-vue";
|
||||
import ProjectManager from "@/components/project/ProjectManagerNew";
|
||||
import FJUpload from "@/components/common/FJUpload";
|
||||
import * as moment from "moment";
|
||||
|
||||
import * as api2 from "../../api/indexAudit"
|
||||
export default defineComponent({
|
||||
components: {
|
||||
Editor,
|
||||
@@ -380,15 +380,15 @@ export default defineComponent({
|
||||
FJUpload,
|
||||
ProjectManager,
|
||||
},
|
||||
setup(props, {expose, emit}) {
|
||||
setup(props, { expose, emit }) {
|
||||
const state = reactive({
|
||||
hideshow: true,
|
||||
attach: '',
|
||||
attach: "",
|
||||
ft_hs: false,
|
||||
addLoading: false,
|
||||
statusJuJue: 0,
|
||||
statusTingQi: 1,
|
||||
member: {name: "", value: ""},
|
||||
member: { name: "", value: "" },
|
||||
|
||||
offcourseId: null,
|
||||
qdms_inputV1: "",
|
||||
@@ -401,14 +401,16 @@ export default defineComponent({
|
||||
tags_val: [],
|
||||
qdms_inputV6: "",
|
||||
imgList: [],
|
||||
auditDescription:"",
|
||||
});
|
||||
|
||||
const visibleOpen = (offcourseId) => {
|
||||
const visibleOpen = (offcourseId, name) => {
|
||||
state.offcourseId = offcourseId;
|
||||
|
||||
if (state.offcourseId) {
|
||||
handleEditInfo(state.offcourseId);
|
||||
} else {
|
||||
state.qdms_inputV1 = name;
|
||||
state.ft_hs = true;
|
||||
}
|
||||
};
|
||||
@@ -429,7 +431,7 @@ export default defineComponent({
|
||||
state.addLoading = false;
|
||||
state.statusJuJue = 0;
|
||||
state.statusTingQi = 1;
|
||||
state.member = {name: "", value: ""};
|
||||
state.member = { name: "", value: "" };
|
||||
|
||||
state.offcourseId = null;
|
||||
state.qdms_inputV1 = "";
|
||||
@@ -442,7 +444,7 @@ export default defineComponent({
|
||||
state.tags_val = [];
|
||||
state.qdms_inputV6 = "";
|
||||
state.imgList = [];
|
||||
state.attach = '';
|
||||
state.attach = "";
|
||||
|
||||
valueHtml.value = "";
|
||||
};
|
||||
@@ -468,7 +470,7 @@ export default defineComponent({
|
||||
const toolbarConfig = {
|
||||
excludeKeys: ["insertVideo", "insertImage"],
|
||||
};
|
||||
const editorConfig = {placeholder: "请输入内容...", MENU_CONF: {}};
|
||||
const editorConfig = { placeholder: "请输入内容...", MENU_CONF: {} };
|
||||
editorConfig.MENU_CONF["uploadImage"] = {
|
||||
// 自定义上传
|
||||
async customUpload(file, insertFn) {
|
||||
@@ -505,48 +507,48 @@ export default defineComponent({
|
||||
setCode: param,
|
||||
};
|
||||
api1
|
||||
.getDict(obj)
|
||||
.then((res) => {
|
||||
console.log("获取字典成功", res);
|
||||
if (res.data.code === 200) {
|
||||
if (param === "faceclassPic") {
|
||||
let arr = res.data.data.rows;
|
||||
let newArr = [];
|
||||
arr.forEach((item) => {
|
||||
newArr.push({
|
||||
value: item.dictValue,
|
||||
label: item.dictName,
|
||||
});
|
||||
.getDict(obj)
|
||||
.then((res) => {
|
||||
console.log("获取字典成功", res);
|
||||
if (res.data.code === 200) {
|
||||
if (param === "faceclassPic") {
|
||||
let arr = res.data.data.rows;
|
||||
let newArr = [];
|
||||
arr.forEach((item) => {
|
||||
newArr.push({
|
||||
value: item.dictValue,
|
||||
label: item.dictName,
|
||||
});
|
||||
optionsUrl.value = newArr;
|
||||
}
|
||||
if (param === "faceclassClass") {
|
||||
let arr = res.data.data.rows;
|
||||
let newArr = [];
|
||||
arr.forEach((item) => {
|
||||
newArr.push({
|
||||
value: item.dictCode,
|
||||
label: item.dictName,
|
||||
});
|
||||
});
|
||||
options2.value = newArr;
|
||||
}
|
||||
if (param === "faceclassScene") {
|
||||
let arr = res.data.data.rows;
|
||||
let newArr = [];
|
||||
arr.forEach((item) => {
|
||||
newArr.push({
|
||||
value: item.dictCode,
|
||||
label: item.dictName,
|
||||
});
|
||||
});
|
||||
options3.value = newArr;
|
||||
}
|
||||
});
|
||||
optionsUrl.value = newArr;
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log("获取字典失败", err);
|
||||
});
|
||||
if (param === "faceclassClass") {
|
||||
let arr = res.data.data.rows;
|
||||
let newArr = [];
|
||||
arr.forEach((item) => {
|
||||
newArr.push({
|
||||
value: item.dictCode,
|
||||
label: item.dictName,
|
||||
});
|
||||
});
|
||||
options2.value = newArr;
|
||||
}
|
||||
if (param === "faceclassScene") {
|
||||
let arr = res.data.data.rows;
|
||||
let newArr = [];
|
||||
arr.forEach((item) => {
|
||||
newArr.push({
|
||||
value: item.dictCode,
|
||||
label: item.dictName,
|
||||
});
|
||||
});
|
||||
options3.value = newArr;
|
||||
}
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log("获取字典失败", err);
|
||||
});
|
||||
};
|
||||
getDictList("faceclassClass");
|
||||
getDictList("faceclassScene");
|
||||
@@ -618,7 +620,7 @@ export default defineComponent({
|
||||
if (param === "review") {
|
||||
//新建时点击审核按钮
|
||||
submitReview(res.data.data.offcourseId);
|
||||
}else visibleClose();
|
||||
} else visibleClose();
|
||||
}
|
||||
});
|
||||
};
|
||||
@@ -639,6 +641,19 @@ export default defineComponent({
|
||||
if (Number(item.auditStatus) === 2 && Number(item.status) === 0) {
|
||||
state.statusTingQi = 0;
|
||||
}
|
||||
if(Number(item.auditStatus) === -1 ){
|
||||
let obj ={
|
||||
offcourseId:offcourseId,
|
||||
type:2,
|
||||
pageNo: 1,
|
||||
pageSize: 1,
|
||||
}
|
||||
api2.auditList(obj).then((res)=>{
|
||||
state.auditDescription = res.data.data.rows[0].description;
|
||||
console.log("state.auditDescription",state.auditDescription);
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
state.qdms_inputV1 = item.name;
|
||||
state.feng_mian_1 = item.picUrl;
|
||||
@@ -648,7 +663,7 @@ export default defineComponent({
|
||||
state.chang_jin = String(item.sceneId);
|
||||
state.tags_val = item.tips ? item.tips.split(",") : [];
|
||||
state.qdms_inputV6 = item.intro;
|
||||
state.member = {value: item.teacherId, name: item.teacher};
|
||||
state.member = { value: item.teacherId, name: item.teacher };
|
||||
valueHtml.value = item.outline;
|
||||
state.attach = item.attach;
|
||||
state.ft_hs = true;
|
||||
|
||||
@@ -279,34 +279,43 @@
|
||||
<div class="ntc_body">
|
||||
<div class="ntc_switch">
|
||||
<a-switch
|
||||
size="small"
|
||||
v-model:checked="checked"
|
||||
@click="changeopclo"
|
||||
size="small"
|
||||
v-model:checked="checked"
|
||||
@click="changeopclo"
|
||||
/>
|
||||
<div
|
||||
class="opclo"
|
||||
:style="{ display: hideshow ? 'block' : 'none' }"
|
||||
>
|
||||
<div v-if="(checked==true)"
|
||||
class="opclo">
|
||||
<span>关闭</span>
|
||||
</div>
|
||||
<div
|
||||
class="opclo"
|
||||
:style="{ display: hideshow ? 'none' : 'block' }"
|
||||
>
|
||||
<div v-if="(checked==false)"
|
||||
class="opclo" >
|
||||
<span>开启</span>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="ntc_content"
|
||||
:style="{ display: hideshow ? 'block' : 'none' }"
|
||||
>
|
||||
<div class="ntcc_tit">公告内容</div>
|
||||
<div v-if="(checked==true)"
|
||||
class="ntc_content">
|
||||
<div class="ntcc_tit">当前公告内容:</div>
|
||||
<div class="textarea">
|
||||
{{noticeContent==""?"暂无公告":noticeContent}}
|
||||
<div v-if="(editFlag == false)" class="btnarea" >
|
||||
<div> </div>
|
||||
<div class="area_btn" @click="editNotice">
|
||||
|
||||
<div class="btnText">编辑</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<template v-if="(editFlag==true)">
|
||||
<div> </div>
|
||||
<div class="ntcc_tit" >编辑公告:</div>
|
||||
<div class="textarea">
|
||||
<a-textarea
|
||||
v-model:value="projectInfo.notice"
|
||||
placeholder="公告信息最多输入150个字。"
|
||||
:maxlength="textnum"
|
||||
allow-clear
|
||||
v-model:value="projectInfo.notice"
|
||||
placeholder="公告信息最多输入150个字。"
|
||||
:maxlength="textnum"
|
||||
allow-clear
|
||||
/>
|
||||
<div class="btnarea">
|
||||
<div> </div>
|
||||
@@ -315,13 +324,15 @@
|
||||
<div class="btnText">发布</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a-tab-pane>
|
||||
</a-tabs>
|
||||
</a-tab-pane>
|
||||
|
||||
<a-tab-pane key="3" tab="项目积分">
|
||||
<div class="split"></div>
|
||||
<div class="projectscore">
|
||||
@@ -852,29 +863,25 @@ export default defineComponent({
|
||||
],
|
||||
isEdit: false, // 是否处于编辑状态
|
||||
// 基本信息
|
||||
projectInfo: {
|
||||
beginTime: null,
|
||||
endTime: null,
|
||||
name: null,
|
||||
manager: null,
|
||||
notice: null,
|
||||
sourceBelongId: null,
|
||||
remark: "",
|
||||
courseSyncFlag: false,
|
||||
level: null,
|
||||
systemId: null,
|
||||
boeFlag: false,
|
||||
status: null,
|
||||
picUrl: null,
|
||||
noticeFlag: null,
|
||||
},
|
||||
projectInfo: { },
|
||||
noticeContent:"",
|
||||
editFlag:false,
|
||||
});
|
||||
const value = ref("");
|
||||
const textnum = "150";
|
||||
const routered = useRouter();
|
||||
const changeopclo = () => {
|
||||
state.hideshow = !state.hideshow;
|
||||
state.projectInfo.noticeFlag = state.checked?1:0;
|
||||
api
|
||||
.templateEdit( state.projectInfo)
|
||||
.then((res) => {
|
||||
console.log(res);
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
};
|
||||
|
||||
const changecheck2 = () => {
|
||||
state.checked2 = !state.checked2;
|
||||
};
|
||||
@@ -906,6 +913,10 @@ export default defineComponent({
|
||||
state.isEdit = false;
|
||||
getDetail();
|
||||
};
|
||||
const editNotice =()=>{
|
||||
state.editFlag = true ;
|
||||
}
|
||||
|
||||
const checkType = (type) => {
|
||||
let typeRules = [
|
||||
"",
|
||||
@@ -933,30 +944,16 @@ export default defineComponent({
|
||||
api
|
||||
.templateDetail(localStorage.getItem("projectTemplateId"))
|
||||
.then((res) => {
|
||||
console.log("get model list ----->", res, res.data.data.stageList);
|
||||
console.log("get model list ----->", res, res.data.data.stageList);
|
||||
|
||||
state.taskSyllabus = [];
|
||||
console.log(res);
|
||||
state.projectInfo.name = res.data.data.projectTemplateInfo.name;
|
||||
state.projectInfo.beginTime = res.data.data.projectTemplateInfo.beginTime;
|
||||
state.projectInfo.endTime = res.data.data.projectTemplateInfo.endTime;
|
||||
state.projectInfo.manager = res.data.data.projectTemplateInfo.manager;
|
||||
state.projectInfo.notice = res.data.data.projectTemplateInfo.notice;
|
||||
state.projectInfo.sourceBelongId = res.data.data.projectTemplateInfo.sourceBelongId;
|
||||
state.projectInfo.managerId = res.data.data.projectTemplateInfo.managerId;
|
||||
state.projectInfo.remark = res.data.data.projectTemplateInfo.remark;
|
||||
state.projectInfo.courseSyncFlag = res.data.data.projectTemplateInfo.courseSyncFlag;
|
||||
state.projectInfo.level = res.data.data.projectTemplateInfo.level;
|
||||
state.projectInfo.systemId = res.data.data.projectTemplateInfo.systemId;
|
||||
state.projectInfo.boeFlag = res.data.data.projectTemplateInfo.boeFlag;
|
||||
state.projectInfo.noticeFlag = res.data.data.projectTemplateInfo.noticeFlag;
|
||||
state.projectInfo.remark = res.data.data.projectTemplateInfo.remark;
|
||||
state.projectInfo.status = res.data.data.projectTemplateInfo.status;
|
||||
state.projectInfo.picUrl = res.data.data.projectTemplateInfo.picUrl;
|
||||
state.picUrl = res.data.data.projectTemplateInfo.picUrl;
|
||||
state.projectInfo.attach = res.data.data.projectTemplateInfo.attach;
|
||||
state.projectInfo.category = res.data.data.projectTemplateInfo.category;
|
||||
state.projectId = res.data.data.projectTemplateInfo.projectTemplateId;
|
||||
state.projectInfo = res.data.data.projectTemplateInfo;
|
||||
|
||||
state.noticeContent = state.projectInfo.notice;
|
||||
state.checked = state.projectInfo.noticeFlag==1?true:false;
|
||||
console.log("res.data.data.projectTemplateInfo",res.data.data.projectTemplateInfo);
|
||||
|
||||
try{
|
||||
state.fileList = JSON.parse(res.data.data.projectTemplateInfo.attach);
|
||||
}catch{
|
||||
@@ -987,31 +984,16 @@ export default defineComponent({
|
||||
});
|
||||
};
|
||||
|
||||
// 发布公告
|
||||
const addNotice = () => {
|
||||
console.log("ok====s");
|
||||
let obj = {
|
||||
name: state.projectInfo.name,
|
||||
category: state.projectInfo.category,
|
||||
picUrl: state.projectInfo.picUrl,
|
||||
manager: state.projectInfo.manager,
|
||||
managerId: state.projectInfo.managerId || 0,
|
||||
sourceBelongId: state.projectInfo.sourceBelongId,
|
||||
level: state.projectInfo.level,
|
||||
systemId: state.projectInfo.systemId,
|
||||
boeFlag: state.projectInfo.boeFlag ? 1 : 0,
|
||||
courseSyncFlag: state.projectInfo.courseSyncFlag ? 1 : 0,
|
||||
notice: state.projectInfo.notice,
|
||||
noticeFlag: state.projectInfo.noticeFlag,
|
||||
projectTemplateId: localStorage.getItem("projectTemplateId"),
|
||||
remark: state.projectInfo.remark,
|
||||
status: state.projectInfo.status,
|
||||
attach: state.projectInfo.attach,
|
||||
};
|
||||
console.log("obj======", obj);
|
||||
// 发布公告
|
||||
const addNotice = () => {
|
||||
// state.projectInfo.notice=
|
||||
if(!state.projectInfo.notice){
|
||||
return message.warning("请输入公告内容");
|
||||
}
|
||||
api
|
||||
.templateEdit(obj)
|
||||
.templateEdit( state.projectInfo)
|
||||
.then((res) => {
|
||||
state.noticeContent = state.projectInfo.notice;
|
||||
message.success("公告发布成功");
|
||||
console.log(res);
|
||||
})
|
||||
@@ -1019,7 +1001,9 @@ export default defineComponent({
|
||||
message.error("公告发布失败" + err);
|
||||
console.log(err);
|
||||
});
|
||||
state.editFlag =false;
|
||||
};
|
||||
|
||||
// 删除阶段
|
||||
const stateDel = (id) => {
|
||||
api
|
||||
@@ -1051,12 +1035,12 @@ export default defineComponent({
|
||||
routered.push({
|
||||
path: "/templateAdd",
|
||||
query: {
|
||||
projectId: state.projectId,
|
||||
name: state.name,
|
||||
projectTemplateId: state.projectInfo.projectTemplateId,
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
// 新建或编辑阶段
|
||||
const stateEdit = () => {
|
||||
let obj = {
|
||||
@@ -1289,7 +1273,8 @@ export default defineComponent({
|
||||
editRule,
|
||||
handleChange2,
|
||||
scoresum,
|
||||
checkedClose
|
||||
checkedClose,
|
||||
editNotice
|
||||
};
|
||||
},
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user