fix:项目创建时间去除限制

This commit is contained in:
wuyx
2023-02-23 14:27:46 +08:00
parent 13c5d8ede1
commit 1eb14fc86e

View File

@@ -2,17 +2,10 @@
<template xmlns:display="http://www.w3.org/1999/xhtml">
<div class="projectAdd">
<div class="header">
<span class="title"
>{{
projectInfo.id ? "编辑" : "创建"
}}{{ ptojectType == "3" ? "班级" : "项目" }}</span
>
<div
@click="backPage"
style="cursor: pointer"
to="/projectmanage"
class="goback"
>
<span class="title">{{
projectInfo.id ? "编辑" : "创建"
}}{{ ptojectType == "3" ? "班级" : "项目" }}</span>
<div @click="backPage" style="cursor: pointer" to="/projectmanage" class="goback">
<span class="return"></span><span class="returntext">返回</span>
</div>
</div>
@@ -20,10 +13,7 @@
<div class="main">
<div class="name" v-if="projectInfo.parentName">
<div class="namebox">
<img
class="nameimg"
src="../../assets/images/basicinfo/asterisk.png"
/>
<img class="nameimg" src="../../assets/images/basicinfo/asterisk.png" />
<div class="inname">项目归属</div>
</div>
<div class="in">
@@ -34,153 +24,97 @@
</div>
<div class="name">
<div class="namebox">
<img
class="nameimg"
src="../../assets/images/basicinfo/asterisk.png"
/>
<img class="nameimg" src="../../assets/images/basicinfo/asterisk.png" />
<div class="inname">
{{ ptojectType == 3 ? "班级名称" : "项目名称" }}
</div>
</div>
<div class="in">
<NameInput
placeholder="请输入项目名称"
v-model:value="projectInfo.name"
v-model:validate="projectInfo.validate"
:maxlength="30"
show-count
:id="projectInfo.id"
></NameInput>
<NameInput placeholder="请输入项目名称" v-model:value="projectInfo.name" v-model:validate="projectInfo.validate"
:maxlength="30" show-count :id="projectInfo.id"></NameInput>
</div>
</div>
<div class="name flex-top">
<div class="namebox" style="margin-top: 10px">
<img
class="nameimg"
src="../../assets/images/basicinfo/asterisk.png"
/>
<img class="nameimg" src="../../assets/images/basicinfo/asterisk.png" />
<div class="inname">封面图2</div>
</div>
<div class="in select" style="flex: 1; display: flex">
<div
:class="`box ${projectInfo.picUrl === src.value ? 'active' : ''}`"
style="
width: 100px;
height: 100px;
border-radius: 5px;
cursor: pointer;
position: relative;
overflow: hidden;
"
v-for="(src, index) in projectPic"
:style="{
display: index >= 3 ? 'none' : 'flex',
}"
:key="index"
@click="() => (projectInfo.picUrl = src.value)"
>
<img
style="
width: 100px;
height: 100px;
margin-bottom: 4px;
margin-right: 4px;
"
:src="src.value"
alt="avatar"
/>
</div>
<div
@click="showLearnBgMore"
v-if="projectPic.length > 3"
style="
<div :class="`box ${projectInfo.picUrl === src.value ? 'active' : ''}`" style="
width: 100px;
height: 100px;
padding-left: 15px;
border-radius: 5px;
cursor: pointer;
position: relative;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
border: 1px solid #c7cbd2;
font-size: 14px;
font-weight: 400;
color: #4ea6ff;
line-height: 36px;
"
>
查看更多 <img src="../../assets/images/projectadd/go.png" alt=""/>
" v-for="(src, index) in projectPic" :style="{
display: index >= 3 ? 'none' : 'flex',
}" :key="index" @click="() => (projectInfo.picUrl = src.value)">
<img style="
width: 100px;
height: 100px;
margin-bottom: 4px;
margin-right: 4px;
" :src="src.value" alt="avatar" />
</div>
<div @click="showLearnBgMore" v-if="projectPic.length > 3" style="
width: 100px;
height: 100px;
padding-left: 15px;
border-radius: 5px;
cursor: pointer;
position: relative;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
border: 1px solid #c7cbd2;
font-size: 14px;
font-weight: 400;
color: #4ea6ff;
line-height: 36px;
">
查看更多 <img src="../../assets/images/projectadd/go.png" alt="" />
</div>
</div>
</div>
<div class="name">
<div class="namebox">
<img
class="nameimg"
src="../../assets/images/basicinfo/asterisk.png"
/>
<img class="nameimg" src="../../assets/images/basicinfo/asterisk.png" />
<div class="inname">项目时间</div>
</div>
<div class="in">
<a-range-picker
separator="至"
:show-time="{ format: 'HH:mm' }"
:placeholder="[' 开始时间', ' 结束时间']"
:disabledDate="disabledDate"
v-model:value="timeRange"
@calendarChange="calendarChange"
style="width: 100%; height: 40px; border-radius: 5px"
:allowClear="false"
format="YYYY-MM-DD HH:mm"
valueFormat="YYYY-MM-DD HH:mm"
@change="timeChange"
:disabled="!!viewDetail"
/>
<a-range-picker separator="至" :show-time="{ format: 'HH:mm' }" :placeholder="[' 开始时间', ' 结束时间']"
:disabledDate="disabledDate" v-model:value="timeRange" @calendarChange="calendarChange"
style="width: 100%; height: 40px; border-radius: 5px" :allowClear="false" format="YYYY-MM-DD HH:mm"
valueFormat="YYYY-MM-DD HH:mm" @change="timeChange" :disabled="!!viewDetail" />
</div>
</div>
<div class="name">
<div class="namebox">
<img
class="nameimg"
src="../../assets/images/basicinfo/asterisk.png"
/>
<img class="nameimg" src="../../assets/images/basicinfo/asterisk.png" />
<div class="inname">项目经理</div>
</div>
<div class="in">
<ProjectManager
v-model:value="projectInfo.managerId"
v-model:name="projectInfo.manager"
@onChange="managerChange"
mode="multiple"
></ProjectManager>
<ProjectManager v-model:value="projectInfo.managerId" v-model:name="projectInfo.manager"
@onChange="managerChange" mode="multiple"></ProjectManager>
</div>
</div>
<div class="name">
<div class="namebox">
<img
class="nameimg"
src="../../assets/images/basicinfo/asterisk.png"
/>
<img class="nameimg" src="../../assets/images/basicinfo/asterisk.png" />
<div class="inname">资源归属</div>
</div>
<div class="in select">
<OrgClass
v-model:value="projectInfo.sourceBelongId"
v-model:name="projectInfo.sourceBelongName"
v-model:fullName="projectInfo.sourceBelongFullName"
></OrgClass>
<OrgClass v-model:value="projectInfo.sourceBelongId" v-model:name="projectInfo.sourceBelongName"
v-model:fullName="projectInfo.sourceBelongFullName"></OrgClass>
</div>
</div>
<div class="name">
<div class="namebox">
<img
class="nameimg"
src="../../assets/images/basicinfo/asterisk.png"
/>
<img class="nameimg" src="../../assets/images/basicinfo/asterisk.png" />
<div class="inname">项目级别</div>
</div>
<div class="in select">
@@ -189,10 +123,7 @@
</div>
<div class="name">
<div class="namebox">
<img
class="nameimg"
src="../../assets/images/basicinfo/asterisk.png"
/>
<img class="nameimg" src="../../assets/images/basicinfo/asterisk.png" />
<div class="inname">培训分类</div>
</div>
<div class="in select">
@@ -201,17 +132,11 @@
</div>
<div class="name">
<div class="namebox">
<img
class="nameimg"
src="../../assets/images/basicinfo/asterisk.png"
/>
<img class="nameimg" src="../../assets/images/basicinfo/asterisk.png" />
<div class="inname">是否BOEU实施</div>
</div>
<div class="in">
<a-radio-group
v-model:value="projectInfo.boeFlag"
:disabled="viewDetail ? true : false"
>
<a-radio-group v-model:value="projectInfo.boeFlag" :disabled="viewDetail ? true : false">
<a-radio :style="radioStyle" :value="1"></a-radio>
<a-radio :style="radioStyle" :value="0"></a-radio>
</a-radio-group>
@@ -224,13 +149,11 @@
<div class="in ggysxz" v-if="courseSyncFlag">
<!-- :disabled="viewDetail ? true : false" -->
<a-checkbox v-model:checked="courseSyncFlag" disabled>
<span
style="
width: 100%;
color: rgba(109, 117, 132, 1);
font-size: 14px;
"
>
<span style="
width: 100%;
color: rgba(109, 117, 132, 1);
font-size: 14px;
">
同步课程学习记录如学员在课程库中拥有课程的学习记录自动免修该课程
</span>
</a-checkbox>
@@ -238,13 +161,11 @@
<div class="in" v-else>
<!-- :disabled="viewDetail ? true : false" -->
<a-checkbox v-model:checked="courseSyncFlag" disabled>
<span
style="
width: 100%;
color: rgba(109, 117, 132, 1);
font-size: 14px;
"
>
<span style="
width: 100%;
color: rgba(109, 117, 132, 1);
font-size: 14px;
">
同步课程学习记录如学员在课程库中拥有课程的学习记录自动免修该课程
</span>
</a-checkbox>
@@ -255,14 +176,8 @@
<div class="inname" style="margin-top: 13px">项目说明</div>
</div>
<div class="in">
<a-textarea
v-model:value="projectInfo.remark"
style="height: 80px"
placeholder="请输入说明"
show-count
:maxlength="200"
:disabled="viewDetail ? true : false"
/>
<a-textarea v-model:value="projectInfo.remark" style="height: 80px" placeholder="请输入说明" show-count
:maxlength="200" :disabled="viewDetail ? true : false" />
</div>
</div>
@@ -279,18 +194,12 @@
<div class="name">
<div class="inname" style="width: 50px">模版</div>
<div class="in select" style="margin-left: 2px">
<a-select
:getPopupContainer="triggerNode => (triggerNode.parentNode || document.body)"
placeholder="请选择模版"
style="width: 100%"
:options="classifyList5"
@change="classificationChange5"
@popupScroll="templateScroll"
:fieldNames="{
<a-select :getPopupContainer="triggerNode => (triggerNode.parentNode || document.body)" placeholder="请选择模版"
style="width: 100%" :options="classifyList5" @change="classificationChange5" @popupScroll="templateScroll"
:fieldNames="{
label: 'name',
value: 'id',
}"
>
}">
</a-select>
</div>
</div>
@@ -299,50 +208,31 @@
<div class="footer">
<div class="btn">
<a-button @click="backPage" class="btn2">取消</a-button>
<a-button
:loading="loading"
v-on:click="createProject"
type="primary"
class="btn1"
style="margin-left: 20px"
>确定
<a-button :loading="loading" v-on:click="createProject" type="primary" class="btn1" style="margin-left: 20px">确定
</a-button>
</div>
</div>
<!-- 更多背景图 v-model:visible="learnBgMore" -->
<a-modal
:closable="sh"
centered="true"
v-model:visible="learnBgMore"
:footer="null"
:width="650"
wrapClassName="learnBgMoreModal"
:z-index="9999"
>
<a-modal :closable="sh" centered="true" v-model:visible="learnBgMore" :footer="null" :width="650"
wrapClassName="learnBgMoreModal" :z-index="9999">
<div class="main">
<div class="top">
<div class="topc">封面图</div>
</div>
<div class="imagesBox">
<!-- <div
<!-- <div
@click="() => (projectInfo.picUrl = src.value)"
v-for="item in projectPic"
:key="item.code"
class="learnBgItem"
> -->
<div
@click="chooseImg2(item)"
v-for="item in projectPic"
:key="item.code"
class="learnBgItem"
:style="{
> -->
<div @click="chooseImg2(item)" v-for="item in projectPic" :key="item.code" class="learnBgItem" :style="{
border:
pathBgId === item.code
? '2px solid rgba(78, 166, 255, 1)'
: '1px solid #ccc',
'background-image': 'url(' + item.value.split(',')[0] + ')',
}"
>
}">
<!-- <img class="im" :src="item.source" /> -->
</div>
</div>
@@ -355,20 +245,20 @@
</div>
</template>
<script>
import {onMounted, reactive, toRefs, watch} from "vue";
import {message} from "ant-design-vue";
import {useRoute, useRouter} from "vue-router";
import { onMounted, reactive, toRefs, watch } from "vue";
import { message } from "ant-design-vue";
import { useRoute, useRouter } from "vue-router";
import * as api from "../../api/index";
import {useStore} from "vuex";
import { useStore } from "vuex";
import TrainClass from "@/components/project/TrainClass";
import OrgClass from "@/components/project/OrgClass";
import ProjectManager from "@/components/project/ProjectManagerNew";
import NameInput from "@/components/project/NameInput";
import ProjectLevel from "@/components/project/ProjectLevel";
import * as api2 from "../../api/indexAudit";
import {validateName} from "@/api/index1";
import { validateName } from "@/api/index1";
import dayjs from "dayjs";
import {scrollLoad} from "@/api/method";
import { scrollLoad } from "@/api/method";
export default {
name: "projectAdd",
@@ -392,7 +282,7 @@ export default {
pageSize: 10, //每页10条数据
totalPages: 0, //总页数
viewDetail: null,
projectInfo: {id: ''},
projectInfo: { id: '' },
projectPic: [],
memberParam: {
pageNo: 1,
@@ -437,10 +327,10 @@ export default {
state.projectInfo.parentId = routers.query.parentId;
state.projectInfo.id = routers.query.projectId;
(state.projectInfo.id || state.projectInfo.parentId) &&
api
api
.getProjectDetail({
projectId:
state.projectInfo.id || state.projectInfo.parentId,
state.projectInfo.id || state.projectInfo.parentId,
})
.then((res) => {
state.projectInfo = {
@@ -448,8 +338,8 @@ export default {
...state.projectInfo,
};
!routers.query.projectId &&
!!routers.query.parentId &&
(state.projectInfo.name = "");
!!routers.query.parentId &&
(state.projectInfo.name = "");
state.timeRange = [state.projectInfo.beginTime, state.projectInfo.endTime];
state.courseSyncFlag = !!state.projectInfo.courseSyncFlag;
if (Number(state.projectInfo.status) === -5) {
@@ -465,8 +355,8 @@ export default {
if (res.rows && res.rows.length > 0) {
let i = res.rows.length;
state.auditDescription = res.rows[i - 1].description
? res.rows[i - 1].description
: "-";
? res.rows[i - 1].description
: "-";
}
}
});
@@ -581,7 +471,7 @@ export default {
message.success(state.projectInfo.id ? "编辑成功" : "创建成功");
router.push({
path: "/taskpage",
query: {projectId: res.data.data},
query: { projectId: res.data.data },
});
});
};
@@ -599,8 +489,8 @@ export default {
if (state.projectInfo.id && state.datePartial === 'start') {
return current && current > dayjs(state.timeRange[0]).endOf("YYYY-MM-DD HH:mm");
}
// return current && current < dayjs().endOf('day');
return current && current < dayjs().subtract(1, 'days').endOf('day')
// 去除创建项目时间限制 可以选择创建时间之前的时间
// return current && current < dayjs().subtract(1, 'days').endOf('day')
};
//显示更多路径背景弹窗
@@ -1084,7 +974,9 @@ export default {
color: #fff;
margin-left: 16px;
}
.treeDropdown {
// width: 240px !important;
// border-radius: 5px;
// min-height: 600px !important;