-- fix 评估

This commit is contained in:
yuping
2023-02-28 20:46:55 +08:00
parent e56ae852fb
commit 960e294352
5 changed files with 105 additions and 98 deletions

View File

@@ -2,8 +2,9 @@
<template xmlns:display="http://www.w3.org/1999/xhtml">
<div class="projectAdd">
<div class="header">
<span class="title">{{ projectInfo.id ? "编辑" : "创建"
}}{{ ptojectType == "3" ? "班级" : "项目" }}</span>
<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>
@@ -12,7 +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">
@@ -23,19 +24,20 @@
</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:validated="projectInfo.validated" :type="1"
: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">封面图</div>
</div>
<div class="in select" style="flex: 1; display: flex">
@@ -54,7 +56,7 @@
height: 100px;
margin-bottom: 4px;
margin-right: 4px;
" :src="src.value" alt="avatar" />
" :src="src.value" alt="avatar"/>
</div>
<div @click="showLearnBgMore" v-if="projectPic.length > 3" style="
width: 100px;
@@ -74,47 +76,49 @@
line-height: 36px;
">
查看更多
<img src="../../assets/images/projectadd/go.png" alt="" />
<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>
@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>
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">
@@ -123,7 +127,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">
@@ -132,7 +136,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">是否BOEU实施</div>
</div>
<div class="in">
@@ -177,7 +181,7 @@
</div>
<div class="in">
<a-textarea v-model:value="projectInfo.remark" style="height: 80px" placeholder="请输入说明" show-count
:maxlength="200" :disabled="viewDetail ? true : false" />
:maxlength="200" :disabled="viewDetail ? true : false"/>
</div>
</div>
@@ -197,7 +201,7 @@
<a-select :getPopupContainer="
(triggerNode) => triggerNode.parentNode || document.body
" placeholder="请选择模版" style="width: 100%" :options="classifyList5" @change="classificationChange5"
@popupScroll="templateScroll" :fieldNames="{
@popupScroll="templateScroll" :fieldNames="{
label: 'name',
value: 'id',
}">
@@ -215,18 +219,18 @@
</div>
<!-- 更多背景图 v-model:visible="learnBgMore" -->
<a-modal :closable="sh" centered="true" v-model:visible="learnBgMore" :footer="null" :width="650"
wrapClassName="learnBgMoreModal" :z-index="9999">
wrapClassName="learnBgMoreModal" :z-index="9999">
<div class="main">
<div class="top">
<div class="topc">封面图</div>
</div>
<div class="imagesBox">
<!-- <div
@click="() => (projectInfo.picUrl = src.value)"
v-for="item in projectPic"
:key="item.code"
class="learnBgItem"
> -->
<!-- <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="{
border:
projectInfo.picUrl === item.value
@@ -239,27 +243,27 @@
</div>
<div class="btn">
<button class="samtn btn1" @click="closeLearnBgMore">取消</button>
<button class="samtn btn2" @click="closeLearnBgMore">确定</button>
<a-button class="samtn btn2" @click="closeLearnBgMore" :loading="projectInfo.validated===1">确定</a-button>
</div>
</div>
</a-modal>
</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",
@@ -283,7 +287,7 @@ export default {
pageSize: 10, //每页10条数据
totalPages: 0, //总页数
viewDetail: null,
projectInfo: { id: "" },
projectInfo: { id: "", validated: 0 },
projectPic: [],
memberParam: {
pageNo: 1,
@@ -330,43 +334,43 @@ export default {
state.projectInfo.parentId = routers.query.parentId;
state.projectInfo.id = routers.query.projectId;
(state.projectInfo.id || state.projectInfo.parentId) &&
api
.getProjectDetail({
projectId: state.projectInfo.id || state.projectInfo.parentId,
})
.then((res) => {
state.projectInfo = {
...res.data.data.projectInfo,
...state.projectInfo,
api
.getProjectDetail({
projectId: state.projectInfo.id || state.projectInfo.parentId,
})
.then((res) => {
state.projectInfo = {
...res.data.data.projectInfo,
...state.projectInfo,
};
!routers.query.projectId &&
!!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) {
let obj = {
project_id: state.projectInfo.id,
type: 1,
pageNo: 1,
pageSize: 1,
};
!routers.query.projectId &&
!!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) {
let obj = {
project_id: state.projectInfo.id,
type: 1,
pageNo: 1,
pageSize: 1,
};
api2.auditList(obj).then((d) => {
if (d.data.code === 200) {
let res = d.data.data;
if (res.rows && res.rows.length > 0) {
let i = res.rows.length;
state.auditDescription = res.rows[i - 1].description
? res.rows[i - 1].description
: "-";
}
api2.auditList(obj).then((d) => {
if (d.data.code === 200) {
let res = d.data.data;
if (res.rows && res.rows.length > 0) {
let i = res.rows.length;
state.auditDescription = res.rows[i - 1].description
? res.rows[i - 1].description
: "-";
}
});
}
});
}
});
}
});
}
const backPage = () => {
@@ -453,7 +457,7 @@ export default {
/**
if (!state.projectInfo.validate) {
message.destroy();
message.warning('项目名称重复,请修改名称!');
message.warning("项目名称重复,请修改名称!");
return;
}*/
const offName = await validateName({
@@ -508,9 +512,11 @@ export default {
const closeLearnBgMore = () => {
state.learnBgMore = false;
};
function calendarChange(date, dateStr, partial) {
state.datePartial = partial;
}
const chooseImg2 = (item) => {
// console.log(item);
state.projectInfo.picUrl = item.value;