mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-07 01:46:43 +08:00
-- fix 评估
This commit is contained in:
@@ -135,10 +135,11 @@
|
||||
<NameInput
|
||||
placeholder="请输入课程名称"
|
||||
v-model:value="xzinputV1"
|
||||
v-model:validate="validate"
|
||||
v-model:validated="validated"
|
||||
:id="offcourseId"
|
||||
:maxlength="20"
|
||||
show-count
|
||||
:type="3"
|
||||
:type="2"
|
||||
></NameInput>
|
||||
<!-- <a-input-->
|
||||
<!-- v-model:value="xzinputV1"-->
|
||||
@@ -286,9 +287,9 @@
|
||||
<div class="btn btn5" @click="of_exit1">
|
||||
<div class="btnText">取消</div>
|
||||
</div>
|
||||
<div class="btn btn6" @click="createft">
|
||||
<div class="btnText">确定</div>
|
||||
</div>
|
||||
<a-button class="btn btn6" @click="createft" :loading="validated===1">
|
||||
确定
|
||||
</a-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -918,10 +919,10 @@
|
||||
<NameInput
|
||||
maxlength="30"
|
||||
v-model:value="xjkkinputV1"
|
||||
v-model:validate="validate"
|
||||
v-model:validated="validated"
|
||||
show-count
|
||||
:id="offcourseId"
|
||||
:type="2"
|
||||
:id="offcoursePlanId"
|
||||
:type="5"
|
||||
style="width: 440px; height: 40px; border-radius: 8px"
|
||||
placeholder="请输入开课名称"
|
||||
></NameInput>
|
||||
@@ -1168,9 +1169,9 @@
|
||||
<div class="cstm_btn btn5" @click="handleCancelStu">
|
||||
<div class="btnText">取消</div>
|
||||
</div>
|
||||
<div class="cstm_btn btn6" @click="handleSureStu">
|
||||
<div class="btnText">确定</div>
|
||||
</div>
|
||||
<a-button class="cstm_btn btn6" @click="handleSureStu" :loading="validated===1">
|
||||
确定
|
||||
</a-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -2575,7 +2576,7 @@ export default defineComponent({
|
||||
|
||||
imageUrl: "",
|
||||
imgList: [],
|
||||
validate: true,
|
||||
validated: 0,
|
||||
attach: "",
|
||||
pageSize2: 10,
|
||||
currentPage2: 0,
|
||||
@@ -3501,9 +3502,7 @@ export default defineComponent({
|
||||
return message.warning("请输入必填项");
|
||||
}
|
||||
|
||||
console.log("state.validate", state.validate);
|
||||
|
||||
if (!state.validate) {
|
||||
if (!state.validated == 2) {
|
||||
message.destroy();
|
||||
return message.warning("该课程名称已存在");
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
ref="inputRef"
|
||||
placeholder="请输入课程名称"
|
||||
v-model:value="qdms_inputV1"
|
||||
v-model:validate="validate"
|
||||
v-model:validated="validated"
|
||||
:maxlength="20"
|
||||
show-count
|
||||
:type="2"
|
||||
@@ -457,9 +457,9 @@
|
||||
<div class="btn btn5" @click="noEditClose">
|
||||
<div class="btnText">取消</div>
|
||||
</div>
|
||||
<div class="btn btn6" @click="handlePush">
|
||||
<a-button class="btn btn6" @click="handlePush" :loading="validated===1">
|
||||
<div class="btnText">保存</div>
|
||||
</div>
|
||||
</a-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -507,7 +507,7 @@
|
||||
</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">确定</a-button>
|
||||
</div>
|
||||
</div>
|
||||
</a-modal>
|
||||
@@ -556,7 +556,7 @@ export default defineComponent({
|
||||
hideshow: true,
|
||||
ft_eidt: false,
|
||||
attach: "",
|
||||
validate: true,
|
||||
validated: 0,
|
||||
ft_hs: false,
|
||||
addLoading: false,
|
||||
statusJuJue: 0,
|
||||
|
||||
@@ -210,7 +210,7 @@
|
||||
<NameInput
|
||||
placeholder="请输入路径名称"
|
||||
v-model:value="pathName"
|
||||
v-model:validate="validate"
|
||||
v-model:validated="validated"
|
||||
:maxlength="20"
|
||||
show-count
|
||||
:type="3"
|
||||
@@ -285,7 +285,7 @@
|
||||
<a-button
|
||||
class="samtn btn2"
|
||||
@click="createLearnPath"
|
||||
:loading="confirmLoading"
|
||||
:loading="confirmLoading || validated === 1"
|
||||
>确定</a-button
|
||||
>
|
||||
</div>
|
||||
@@ -780,6 +780,7 @@ export default {
|
||||
selectTime: null,
|
||||
sh: false,
|
||||
validate: true,
|
||||
validated: 0,
|
||||
tableData: [
|
||||
// {
|
||||
// key: 1,
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -304,7 +304,8 @@
|
||||
<NameInput
|
||||
placeholder="请输入项目名称"
|
||||
v-model:value="projectInfo.name"
|
||||
v-model:validate="projectInfo.validate"
|
||||
v-model:validated="projectInfo.validated"
|
||||
:type="1"
|
||||
:maxlength="30"
|
||||
show-count
|
||||
:id="projectInfo.projectId"
|
||||
@@ -358,7 +359,7 @@
|
||||
</div>
|
||||
<div class="pubtn">
|
||||
<a-button class="pubtn1" @click="closeModal2">取消</a-button>
|
||||
<a-button class="pubtn2" @click="createStoreyProject"
|
||||
<a-button class="pubtn2" @click="createStoreyProject" :loading="projectInfo.validated===1"
|
||||
>确定
|
||||
</a-button>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user