Merge branch 'develop' of ssh://gitlab.dongwu-inc.com:10022/BOE/fe-manage into develop

This commit is contained in:
zhangyc
2022-12-08 17:14:19 +08:00
15 changed files with 229 additions and 150 deletions

View File

@@ -2,7 +2,7 @@
* @Author: lixg lixg@dongwu-inc.com * @Author: lixg lixg@dongwu-inc.com
* @Date: 2022-11-21 14:32:52 * @Date: 2022-11-21 14:32:52
* @LastEditors: lixg lixg@dongwu-inc.com * @LastEditors: lixg lixg@dongwu-inc.com
* @LastEditTime: 2022-12-08 08:48:26 * @LastEditTime: 2022-12-08 15:47:05
* @FilePath: /fe-manage/src/api/config.js * @FilePath: /fe-manage/src/api/config.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @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; return response;
} else { } else {
if (code === 1000) { 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'); // window.open("http://111.231.196.214:12013/manage/login", '_self');
} }
console.log("api %o", msg); console.log("api %o", msg);

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -7,7 +7,7 @@
:closable="closableQR" :closable="closableQR"
wrapClassName="codeModal" wrapClassName="codeModal"
style="margin-top: 400px" style="margin-top: 400px"
:zIndex="999" :zIndex="9999"
@cancel="qr_exit" @cancel="qr_exit"
> >
<div id="qrcode" class="QR"> <div id="qrcode" class="QR">

View File

@@ -214,7 +214,7 @@ export default {
await addTempTask({ await addTempTask({
courseId: Number(value.evaluationId), courseId: Number(value.evaluationId),
name: value.evaluationName, name: value.evaluationName,
projectTemplateId: props.projectTemplateId, projectTemplateId: Number(localStorage.getItem("projectTemplateId")),
projectTaskId: props.projectTaskId || 0, projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId || 0, stageId: props.chooseStageId || 0,
type: 10, type: 10,

View File

@@ -221,7 +221,7 @@
</div> </div>
</a-radio-group> </a-radio-group>
</div> </div>
<!-- <!--
<div class="b_sup" :style="{ display: bs_hs ? 'block' : 'none' }"> <div class="b_sup" :style="{ display: bs_hs ? 'block' : 'none' }">
<div class="ofmb_items"> <div class="ofmb_items">
<div class="signbox"> <div class="signbox">
@@ -1626,8 +1626,16 @@
<a <a
@click=" @click="
() => { () => {
QR_hs = true; //QR_hs = true;
ftsQR_hs = true; //ftsQR_hs = true;
codevisible = true;
codeIndex = 0;
codeType = 0;
codeInfo = {
title: '面授课签到',
name: record.name,
url: codeUrl,
};
} }
" "
> >
@@ -1675,8 +1683,16 @@
<a-menu-item <a-menu-item
@click=" @click="
() => { () => {
QR_hs = true; //QR_hs = true;
vipftQR_hs = true; //vipftQR_hs = true;
codevisible = true;
codeIndex = 1;
codeType = 1;
codeInfo = {
title: '面授课二维码',
name: record.name,
url: codeUrl,
};
} }
" "
> >
@@ -2626,6 +2642,15 @@
<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>
<!-- 二维码弹窗 -->
<two-dimensional-code
v-model:codevisible="codevisible"
:codeInfo="codeInfo"
:index="codeIndex"
:type="codeType === 1 ? '课程二维码' : '签到二维码'"
/>
<!-- 二维码弹窗 -->
</template> </template>
<script> <script>
import { import {
@@ -2687,7 +2712,8 @@ import ProjectManager from "@/components/project/ProjectManagerNew";
import SeeModal from "./components/seeModal.vue"; import SeeModal from "./components/seeModal.vue";
import CourseModal from "./courseModal.vue"; import CourseModal from "./courseModal.vue";
import * as moment from "moment"; import * as moment from "moment";
import TwoDimensionalCode from "../../components/TwoDimensionalCode.vue";
import { codeUrl } from "../../api/method";
//列表表格 //列表表格
const columns1 = [ const columns1 = [
{ {
@@ -3203,6 +3229,7 @@ export default defineComponent({
// return attrs.vnodes; // return attrs.vnodes;
// }, // },
addOnlineCourse, addOnlineCourse,
TwoDimensionalCode,
}, },
setup() { setup() {
const CourseModalRef = ref(null); const CourseModalRef = ref(null);
@@ -3471,6 +3498,9 @@ export default defineComponent({
assessmentId: null, assessmentId: null,
assessmentName: "", assessmentName: "",
assessmentVisible: false, assessmentVisible: false,
codevisible: false, //二维码弹窗
codeInfo: null, //二维码内容
codeUrl: codeUrl,
}); });
const showStuAdd = (record) => { const showStuAdd = (record) => {
@@ -3977,7 +4007,7 @@ export default defineComponent({
}; };
// console.log("获取学员信息", obj); // console.log("获取学员信息", obj);
let res = await studentList(obj); let res = await studentList(obj);
// console.log("获取学员列表", res); console.log("获取学员列表", res);
const { rows, total, pageNo } = res.data.data; const { rows, total, pageNo } = res.data.data;
state.tableDataTotal3 = total; state.tableDataTotal3 = total;
@@ -4102,6 +4132,7 @@ export default defineComponent({
address: "address", address: "address",
starttime: "beginTime", starttime: "beginTime",
createtime: "createTime", createtime: "createTime",
createName: "createName",
}, },
true true
); );
@@ -4109,6 +4140,7 @@ export default defineComponent({
itm.pageNo = pageNo; itm.pageNo = pageNo;
}); });
state.tableData6 = datas; state.tableData6 = datas;
console.log("state.tableData6", state.tableData6);
}; };
const options1 = ref([ const options1 = ref([
@@ -4190,11 +4222,17 @@ export default defineComponent({
} }
}; };
const createft = () => { const createft = () => {
if(!state.valueE1 || !state.xzinputV1){ if (!state.valueE1 || !state.xzinputV1) {
message.destroy(); message.destroy();
return message.warning("请输入必填项"); return message.warning("请输入必填项");
} }
console.log(" state.valueE1", state.valueE1,!state.bs_hs && state.valueE1 == 2,state.bs_hs,state.valueE1 == 2); console.log(
" state.valueE1",
state.valueE1,
!state.bs_hs && state.valueE1 == 2,
state.bs_hs,
state.valueE1 == 2
);
if (state.bs_hs && state.valueE1 == 2) { if (state.bs_hs && state.valueE1 == 2) {
state.of_hs = false; state.of_hs = false;
// state.ft_hs = true; // state.ft_hs = true;
@@ -4206,7 +4244,7 @@ export default defineComponent({
state.qdms_inputV1 = state.xzinputV1; state.qdms_inputV1 = state.xzinputV1;
state.xzinputV1 = ""; state.xzinputV1 = "";
console.log("qdms_inputV1", state.qdms_inputV1 ); console.log("qdms_inputV1", state.qdms_inputV1);
getDictList("faceclassPic"); getDictList("faceclassPic");
getTea(); getTea();
} }
@@ -4841,8 +4879,6 @@ export default defineComponent({
}; };
//编辑面授课 //编辑面授课
const handleEdit = async (itm, type) => { const handleEdit = async (itm, type) => {
console.log(45555); console.log(45555);
console.log(itm); console.log(itm);
if (type === "1") { if (type === "1") {

View File

@@ -160,7 +160,23 @@
:key="index" :key="index"
> >
<div class="file_img"> <div class="file_img">
<img :src="item.img" /> <img v-if="(item.indexOf('jpg')!==-1 ||item.indexOf('jpeg')!==-1 ||item.indexOf('png')!==-1 )" src="@/assets/images/coursewareManage/pngpic.png" />
<div v-else>
<img v-if="(item.indexOf('doc')!==-1)" src="@/assets/images/coursewareManage/docpic.png" />
<div v-else>
<img v-if="(item.indexOf('xls')!==-1)" src="@/assets/images/coursewareManage/xlspic.png" />
<div v-else>
<img v-if="(item.indexOf('ppt')!==-1)" src="@/assets/images/coursewareManage/pptpic.png" />
<div v-else>
<img v-if="(item.indexOf('pdf')!==-1)" src="@/assets/images/coursewareManage/pdfpic.png" />
<div v-else>
<img v-if="(item.indexOf('zip')!==-1)" src="@/assets/images/coursewareManage/zippic.png" />
<img v-else src="@/assets/images/coursewareManage/docpic.png" />
</div>
</div>
</div>
</div>
</div>
</div> </div>
<div class="file_detail"> <div class="file_detail">
<div class="file_name"> <div class="file_name">

View File

@@ -1448,7 +1448,7 @@ export default {
addAuthList: [], addAuthList: [],
codevisible: false, //二维码是否显示 codevisible: false, //二维码是否显示
codeInfo: null, //二维码标题 codeInfo: null, //二维码内容
}); });
const levelList = reactive({ const levelList = reactive({

View File

@@ -964,7 +964,10 @@ export default defineComponent({
console.log("data=====", data); console.log("data=====", data);
for (let i in data) { for (let i in data) {
console.log("what ------ > ", i, data); console.log("what ------ > ", i, data);
state.taskSyllabus.push({ text: data[i].name?data[i].name:'无阶段任务', children: [] }); if(data[i].taskList.length!==0){
state.taskSyllabus.push({ text: data[i].name?data[i].name:'无阶段任务', children: [] });
}
for (let j in data[i].taskList) { for (let j in data[i].taskList) {
state.taskSyllabus[i].children.push({ state.taskSyllabus[i].children.push({
course: checkType(data[i].taskList[j].type), course: checkType(data[i].taskList[j].type),

View File

@@ -3,13 +3,13 @@
<div class="projectAdd"> <div class="projectAdd">
<div class="header"> <div class="header">
<span class="title" <span class="title"
>{{ projectInfo.parentId ? "编辑" : "创建" }}项目</span >{{ projectInfo.parentId ? "编辑" : "创建" }}项目</span
> >
<div <div
@click="backPage" @click="backPage"
style="cursor: pointer" style="cursor: pointer"
to="/projectmanage" to="/projectmanage"
class="goback" class="goback"
> >
<span class="return"></span><span class="returntext">返回</span> <span class="return"></span><span class="returntext">返回</span>
</div> </div>
@@ -19,8 +19,8 @@
<div class="name" v-if="projectInfo.parentName"> <div class="name" v-if="projectInfo.parentName">
<div class="namebox"> <div class="namebox">
<img <img
class="nameimg" class="nameimg"
src="../../assets/images/basicinfo/asterisk.png" src="../../assets/images/basicinfo/asterisk.png"
/> />
<div class="inname">项目归属</div> <div class="inname">项目归属</div>
</div> </div>
@@ -33,26 +33,26 @@
<div class="name"> <div class="name">
<div class="namebox"> <div class="namebox">
<img <img
class="nameimg" class="nameimg"
src="../../assets/images/basicinfo/asterisk.png" src="../../assets/images/basicinfo/asterisk.png"
/> />
<div class="inname">项目名称</div> <div class="inname">项目名称</div>
</div> </div>
<div class="in"> <div class="in">
<a-input <a-input
v-model:value="projectInfo.name" v-model:value="projectInfo.name"
placeholder="请输入项目名称" placeholder="请输入项目名称"
show-count show-count
:maxlength="30" :maxlength="30"
:disabled="viewDetail ? true : false" :disabled="viewDetail ? true : false"
/> />
</div> </div>
</div> </div>
<div class="name"> <div class="name">
<div class="namebox"> <div class="namebox">
<img <img
class="nameimg" class="nameimg"
src="../../assets/images/basicinfo/asterisk.png" src="../../assets/images/basicinfo/asterisk.png"
/> />
<div class="inname">分类</div> <div class="inname">分类</div>
</div> </div>
@@ -61,92 +61,97 @@
</div> </div>
</div> </div>
<div class="name flex-top"> <div class="name flex-top">
<div class="namebox" style="margin-top:10px"> <div class="namebox" style="margin-top: 10px">
<img <img
class="nameimg" class="nameimg"
src="../../assets/images/basicinfo/asterisk.png" src="../../assets/images/basicinfo/asterisk.png"
/> />
<div class="inname">封面图</div> <div class="inname">封面图</div>
</div> </div>
<div class="in select" style="flex:1"> <div class="in select" style="flex: 1">
<a-select <a-select
:getPopupContainer=" :getPopupContainer="
(triggerNode) => { (triggerNode) => {
return triggerNode.parentNode || document.body; return triggerNode.parentNode || document.body;
} }
" "
v-model:value="picUrlName" v-model:value="picUrlName"
dropdownClassName="dropdown-style" dropdownClassName="dropdown-style"
style="width: 440px" style="width: 440px"
placeholder="请选择" placeholder="请选择"
:options="projectPic" :options="projectPic"
@change="handleChangeSelect" @change="handleChangeSelect"
allowClear allowClear
></a-select> ></a-select>
<img <img
style="width:100px;height:100px;margin-top:20px;border-radius: 8px" style="
v-if="projectInfo.picUrl" width: 100px;
:src="projectInfo.picUrl" height: 100px;
alt="avatar" margin-top: 20px;
border-radius: 8px;
"
v-if="projectInfo.picUrl"
:src="projectInfo.picUrl"
alt="avatar"
/> />
<div class="i_bottom"> <div class="i_bottom">
<span style="color: #999ba3"> <span style="color: #999ba3">
高宽比为16:9 (:800*450) png或jpg图片 高宽比为16:9 (:800*450) png或jpg图片
</span> </span>
</div> </div>
</div> </div>
</div> </div>
<div class="name"> <div class="name">
<div class="namebox"> <div class="namebox">
<img <img
class="nameimg" class="nameimg"
src="../../assets/images/basicinfo/asterisk.png" src="../../assets/images/basicinfo/asterisk.png"
/> />
<div class="inname">项目时间</div> <div class="inname">项目时间</div>
</div> </div>
<div class="in"> <div class="in">
<a-range-picker <a-range-picker
separator="至" separator="至"
:placeholder="[' 开始时间', ' 结束时间']" :placeholder="[' 开始时间', ' 结束时间']"
v-model:value="projectInfo.rangeTime" v-model:value="projectInfo.rangeTime"
style="width: 100%; height: 40px; border-radius: 5px" style="width: 100%; height: 40px; border-radius: 5px"
valueFormat="YYYY-MM-DD HH:mm:ss" valueFormat="YYYY-MM-DD HH:mm:ss"
@change="timeChange" @change="timeChange"
:disabled="viewDetail ? true : false" :disabled="viewDetail ? true : false"
/> />
</div> </div>
</div> </div>
<div class="name"> <div class="name">
<div class="namebox"> <div class="namebox">
<img <img
class="nameimg" class="nameimg"
src="../../assets/images/basicinfo/asterisk.png" src="../../assets/images/basicinfo/asterisk.png"
/> />
<div class="inname">项目经理</div> <div class="inname">项目经理</div>
</div> </div>
<div class="in"> <div class="in">
<ProjectManager <ProjectManager
v-model:value="projectInfo.managerId" v-model:value="projectInfo.managerId"
v-model:name="projectInfo.manager" v-model:name="projectInfo.manager"
@onChange="managerChange" @onChange="managerChange"
mode="multiple" mode="multiple"
></ProjectManager> ></ProjectManager>
</div> </div>
</div> </div>
<div class="name"> <div class="name">
<div class="namebox"> <div class="namebox">
<img <img
class="nameimg" class="nameimg"
src="../../assets/images/basicinfo/asterisk.png" src="../../assets/images/basicinfo/asterisk.png"
/> />
<div class="inname">资源归属</div> <div class="inname">资源归属</div>
</div> </div>
<div class="in select"> <div class="in select">
<OrgClass <OrgClass
v-model:value="projectInfo.sourceBelongId" v-model:value="projectInfo.sourceBelongId"
v-model:name="projectInfo.sourceBelongName" v-model:name="projectInfo.sourceBelongName"
></OrgClass> ></OrgClass>
</div> </div>
</div> </div>
@@ -156,12 +161,12 @@
</div> </div>
<div class="in"> <div class="in">
<a-textarea <a-textarea
v-model:value="projectInfo.remark" v-model:value="projectInfo.remark"
style="height: 80px" style="height: 80px"
placeholder="请输入说明" placeholder="请输入说明"
show-count show-count
:maxlength="200" :maxlength="200"
:disabled="viewDetail ? true : false" :disabled="viewDetail ? true : false"
/> />
</div> </div>
</div> </div>
@@ -171,16 +176,16 @@
</div> </div>
<div class="in"> <div class="in">
<a-checkbox <a-checkbox
v-model:checked="courseSyncFlag" v-model:checked="courseSyncFlag"
:disabled="viewDetail ? true : false" :disabled="viewDetail ? true : false"
><span ><span
style=" style="
width: 100%; width: 100%;
color: rgba(109, 117, 132, 1); color: rgba(109, 117, 132, 1);
font-size: 14px; font-size: 14px;
" "
>同步课程学习记录如学员在课程库中拥有课程的学习记录自动免修该课程</span >同步课程学习记录如学员在课程库中拥有课程的学习记录自动免修该课程</span
></a-checkbox ></a-checkbox
> >
<!-- <a-switch <!-- <a-switch
v-model:checked="projectInfo.courseSyncFlag" v-model:checked="projectInfo.courseSyncFlag"
@@ -201,8 +206,8 @@
<div class="name"> <div class="name">
<div class="namebox"> <div class="namebox">
<img <img
class="nameimg" class="nameimg"
src="../../assets/images/basicinfo/asterisk.png" src="../../assets/images/basicinfo/asterisk.png"
/> />
<div class="inname">项目级别</div> <div class="inname">项目级别</div>
</div> </div>
@@ -213,8 +218,8 @@
<div class="name"> <div class="name">
<div class="namebox"> <div class="namebox">
<img <img
class="nameimg" class="nameimg"
src="../../assets/images/basicinfo/asterisk.png" src="../../assets/images/basicinfo/asterisk.png"
/> />
<div class="inname">培训分类</div> <div class="inname">培训分类</div>
</div> </div>
@@ -229,8 +234,8 @@
<!-- src="../../assets/images/basicinfo/asterisk.png"--> <!-- src="../../assets/images/basicinfo/asterisk.png"-->
<!-- />--> <!-- />-->
<img <img
class="nameimg" class="nameimg"
src="../../assets/images/basicinfo/asterisk.png" src="../../assets/images/basicinfo/asterisk.png"
/> />
<div class="inname">是否BOEU实施</div> <div class="inname">是否BOEU实施</div>
</div> </div>
@@ -242,8 +247,8 @@
:disabled="viewDetail ? true : false" :disabled="viewDetail ? true : false"
></a-switch> --> ></a-switch> -->
<a-radio-group <a-radio-group
v-model:value="projectInfo.boeFlag" v-model:value="projectInfo.boeFlag"
:disabled="viewDetail ? true : false" :disabled="viewDetail ? true : false"
> >
<a-radio :style="radioStyle" :value="1"></a-radio> <a-radio :style="radioStyle" :value="1"></a-radio>
<a-radio :style="radioStyle" :value="0"></a-radio> <a-radio :style="radioStyle" :value="0"></a-radio>
@@ -256,19 +261,19 @@
<div class="inname" style="width: 50px">模版</div> <div class="inname" style="width: 50px">模版</div>
<div class="in select" style="margin-left: 2px"> <div class="in select" style="margin-left: 2px">
<a-select <a-select
:getPopupContainer=" :getPopupContainer="
(triggerNode) => { (triggerNode) => {
return triggerNode.parentNode || document.body; return triggerNode.parentNode || document.body;
} }
" "
v-model:value="classifySelect5" v-model:value="classifySelect5"
placeholder="请选择模版" placeholder="请选择模版"
:size="size" :size="size"
style="width: 100%" style="width: 100%"
:options="classifyList5" :options="classifyList5"
@change="classificationChange5" @change="classificationChange5"
@popupScroll="templateScroll" @popupScroll="templateScroll"
:fieldNames="{ :fieldNames="{
label: 'name', label: 'name',
value: 'projectTemplateId', value: 'projectTemplateId',
}" }"
@@ -281,7 +286,7 @@
<div class="footer"> <div class="footer">
<div class="btn"> <div class="btn">
<a-button v-on:click="createProject" type="primary" class="btn1" <a-button v-on:click="createProject" type="primary" class="btn1"
>确定 >确定
</a-button> </a-button>
<a-button @click="backPage" class="btn2">取消</a-button> <a-button @click="backPage" class="btn2">取消</a-button>
</div> </div>
@@ -289,18 +294,18 @@
</div> </div>
</template> </template>
<script> <script>
import {onMounted, reactive, toRefs, watch} from "vue"; import { onMounted, reactive, toRefs, watch } from "vue";
import {message} from "ant-design-vue"; import { message } from "ant-design-vue";
import {useRoute, useRouter} from "vue-router"; import { useRoute, useRouter } from "vue-router";
import * as api from "../../api/index"; import * as api from "../../api/index";
import {useStore} from "vuex"; import { useStore } from "vuex";
import ProjectClass from "@/components/project/ProjectClass"; import ProjectClass from "@/components/project/ProjectClass";
import TrainClass from "@/components/project/TrainClass"; import TrainClass from "@/components/project/TrainClass";
import OrgClass from "@/components/project/OrgClass"; import OrgClass from "@/components/project/OrgClass";
import ProjectManager from "@/components/project/ProjectManagerNew"; import ProjectManager from "@/components/project/ProjectManagerNew";
import ProjectLevel from "@/components/project/ProjectLevel"; import ProjectLevel from "@/components/project/ProjectLevel";
import {changeOwnership, scrollLoad} from "@/api/method"; import { changeOwnership, scrollLoad } from "@/api/method";
import { storage } from "../../api/storage";
export default { export default {
name: "projectAdd", name: "projectAdd",
components: { components: {
@@ -329,16 +334,19 @@ export default {
}, },
classifyList5: [], classifyList5: [],
courseSyncFlag: false, courseSyncFlag: false,
picUrlName:'请选择封面图' picUrlName: "请选择封面图",
}); });
// 封面图选择 // 封面图选择
const handleChangeSelect = (value) => { const handleChangeSelect = (value) => {
console.log(value) console.log(value);
state.projectInfo.picUrl= value state.projectInfo.picUrl = value;
} };
onMounted(() => { onMounted(() => {
state.projectPic = store.state.projectPic.map((e) => ({value: e.dictValue, label: e.dictName})); state.projectPic = store.state.projectPic.map((e) => ({
value: e.dictValue,
label: e.dictName,
}));
state.viewDetail = routers.query.viewDetail; state.viewDetail = routers.query.viewDetail;
getProjectInfo(); getProjectInfo();
getTemplate(); getTemplate();
@@ -359,29 +367,32 @@ export default {
return; return;
} }
api api
.getProjectDetail({projectId: routers.query.projectId}) .getProjectDetail({ projectId: routers.query.projectId })
.then((res) => { .then((res) => {
state.projectInfo = res.data.data.projectInfo; state.projectInfo = res.data.data.projectInfo;
console.log(res) console.log(res);
let picurl = res.data.data.projectInfo.picUrl let picurl = res.data.data.projectInfo.picUrl;
let dates = store.state.projectPic.map((e) => ({value: e.dictValue, label: e.dictName})); let dates = store.state.projectPic.map((e) => ({
console.log(dates,picurl) value: e.dictValue,
for(let i=0;i<dates.length;i++){ label: e.dictName,
if(dates[i].value==picurl){ }));
state.picUrlName = dates[i].label console.log(dates, picurl);
} for (let i = 0; i < dates.length; i++) {
if (dates[i].value == picurl) {
state.picUrlName = dates[i].label;
} }
}
state.projectInfo.rangeTime = [ state.projectInfo.rangeTime = [
state.projectInfo.beginTime, state.projectInfo.beginTime,
state.projectInfo.endTime, state.projectInfo.endTime,
]; ];
state.projectInfo.parentName = routers.query.parentName; state.projectInfo.parentName = routers.query.parentName;
state.courseSyncFlag = state.projectInfo.courseSyncFlag state.courseSyncFlag = state.projectInfo.courseSyncFlag
? true ? true
: false; : false;
}); });
} }
const backPage = () => { const backPage = () => {
@@ -466,19 +477,23 @@ export default {
state.projectInfo.type = 3; state.projectInfo.type = 3;
state.projectInfo.courseSyncFlag = state.courseSyncFlag ? 1 : 0; state.projectInfo.courseSyncFlag = state.courseSyncFlag ? 1 : 0;
api.createProject(state.projectInfo).then((res) => { api.createProject(state.projectInfo).then((res) => {
state.projectInfo.projectId || changeOwnership( state.projectInfo.projectId ||
"project", changeOwnership("project", res.data.data.projectId, [
res.data.data.projectId, { id: res.data.data.createId, name: res.data.data.createName },
[{id: res.data.data.createId, name: res.data.data.createName}] ]);
);
message.destroy(); message.destroy();
message.success("编辑成功"); message.success(state.projectInfo.projectId ? "编辑成功" : "创建成功");
router.back(); // router.back();
router.push({
path: "/taskpage",
query: { projectId: res.data.data.projectId },
});
storage.set("projectId", res.data.data.projectId);
}); });
}; };
function managerChange(e, l, d) { function managerChange(e, l, d) {
state.projectInfo.sourceBelongId = d state.projectInfo.sourceBelongId = d;
} }
return { return {
@@ -490,7 +505,7 @@ export default {
createProject, createProject,
backPage, backPage,
templateScroll, templateScroll,
handleChangeSelect handleChangeSelect,
}; };
}, },
}; };

View File

@@ -1407,9 +1407,18 @@ export default {
state.level = []; state.level = [];
// state.tableData = array[0] // state.tableData = array[0]
// 当无阶段任务出现时 显示当前数据 // 当无阶段任务出现时 显示当前数据
getTableData(array[0].taskList) if(array[0].taskList.length!==0){
getTableData(array[0].taskList)
}
}else{ }else{
state.level = array; let datearr = []
for(let i=0;i<array.length;i++){
if(array[i].id!==0&&array[i].taskList.length!==0){
datearr.push(array[i])
}
}
state.level = datearr;
} }
}; };