feat:修改创建项目页面

This commit is contained in:
李晓鸽
2022-10-09 18:54:59 +08:00
parent 5ffe88b369
commit 0295c6876b
3 changed files with 589 additions and 287 deletions

View File

@@ -1,303 +1,501 @@
<!---- 创建项目页面 --->
<template>
<div class="projectAdd">
<div class="header">
<span class="title">创建/编辑单层项目</span>
<div class="goback"><span class="return"></span><span class="returntext">返回</span></div>
<span class="title">创建/编辑单层项目</span>
<router-link to="/projectmanage" class="goback">
<span class="return"></span
><span class="returntext">返回</span></router-link
>
</div>
<div class="content">
<div class="main">
<div class="name">
<div class="d">*</div>
<div class="inname">项目名称</div>
<div class="in">
<a-input v-model:value="valueE" placeholder="请输入项目名称"/>
</div>
</div>
<div class="name">
<div class="d" style="margin-left: 26px">*</div>
<div class="inname" style="width: 50px">分类</div>
<div class="in" style="margin-left: 2px">
<a-select
v-model:value="value1"
placeholder="四个养成"
:size="size"
style="width: 100%"
:options="options"
></a-select>
</div>
</div>
<div class="name">
<div class="d" style="margin-left: 9px">*</div>
<div class="inname">封面图</div>
<div class="box" style="width: 100px;height: 100px;border: 1px solid rgba(78, 166, 255, 1);border-radius: 5px">
<div class="box1"></div>
<div class="box2"></div>
</div>
</div>
<div class="name">
<div class="d">*</div>
<div class="inname">项目时间</div>
<div class="in">
<a-range-picker separator="至" style="width: 100%;height: 40px;border-radius: 5px" show-time />
</div>
</div>
<div class="name">
<div class="d">*</div>
<div class="inname">项目经理</div>
<div class="in">
<a-input v-model:value="valueE" placeholder="请选择项目经理"/>
</div>
</div>
<div class="name">
<div class="d">*</div>
<div class="inname">资源归属</div>
<div class="in">
<a-input v-model:value="valueE" placeholder="自动带出 可修改"/>
</div>
</div>
<div class="name" style="height: 80px">
<div class="d">&nbsp;</div>
<div class="inname">项目说明</div>
<div class="in">
<a-input v-model:value="valueE" placeholder="请输入项目说明" style="height: 80px"/>
</div>
</div>
<div class="name">
<div class="inname" style="width: 107px;margin-left: -15px">同步学习记录</div>
<div class="in">
<a-radio v-model:checked="checked"><span style="width: 100%;color: rgba(109, 117, 132, 1); font-size: 14px">同步课程学习记录如学员在课程库中拥有课程的学习记录自动免修该课程</span></a-radio>
</div>
</div>
<div class="name">
<div class="d">*</div>
<div class="inname">项目级别</div>
<div class="in">
<a-input v-model:value="valueE" placeholder="集团级/组织级/现地级/部门级"/>
</div>
</div>
<div class="name">
<div class="d">*</div>
<div class="inname">培训体系</div>
<div class="in">
<a-input v-model:value="valueE" placeholder="集团级/组织级/现地级/部门级"/>
</div>
</div>
<div class="name">
<div class="d" style="margin-left: -30px">*</div>
<div class="inname" style="width: 107px;margin-left: 9px">是否BOEU实施</div>
<div class="in">
<a-radio v-model:checked="checked"><span style="width: 100%;color: rgba(109, 117, 132, 1); font-size: 14px">BOEU实施</span></a-radio>
</div>
</div>
<div class="main">
<div class="name">
<div class="namebox">
<img
class="nameimg"
src="../../assets/images/basicinfo/asterisk.png"
/>
<div class="inname">项目名称</div>
</div>
<div class="in">
<a-input v-model:value="valueE" placeholder="请输入项目名称" />
</div>
</div>
<div class="template">
<div class="name">
<div class="inname" style="width: 50px">模板</div>
<div class="in" style="margin-left: 2px">
<a-select
v-model:value="value1"
placeholder="请选择模板"
:size="size"
style="width: 100%"
:options="options"
></a-select>
</div>
</div>
<div class="name">
<div class="namebox">
<img
class="nameimg"
src="../../assets/images/basicinfo/asterisk.png"
/>
<div class="inname">分类</div>
</div>
<div class="in select">
<a-select
:value="classifySelect"
placeholder="四个养成"
style="width: 100%"
:options="classifyList"
allowClear
showSearch
></a-select>
</div>
</div>
<div class="name">
<div class="namebox">
<img
class="nameimg"
src="../../assets/images/basicinfo/asterisk.png"
/>
<div class="inname">封面图</div>
</div>
<div
class="box"
style="
width: 100px;
height: 100px;
border: 1px solid rgba(78, 166, 255, 1);
border-radius: 5px;
cursor: pointer;
"
>
<div class="box1"></div>
<div class="box2"></div>
</div>
</div>
<div class="name">
<div class="namebox">
<img
class="nameimg"
src="../../assets/images/basicinfo/asterisk.png"
/>
<div class="inname">项目时间</div>
</div>
<div class="in">
<a-range-picker
separator="至"
style="width: 100%; height: 40px; border-radius: 5px"
show-time
/>
</div>
</div>
<div class="name">
<div class="namebox">
<img
class="nameimg"
src="../../assets/images/basicinfo/asterisk.png"
/>
<div class="inname">项目经理</div>
</div>
<div class="in select">
<a-select
:value="classifySelect"
placeholder="请选择项目经理"
style="width: 100%"
:options="classifyList"
allowClear
showSearch
></a-select>
</div>
</div>
<div class="name">
<div class="namebox">
<img
class="nameimg"
src="../../assets/images/basicinfo/asterisk.png"
/>
<div class="inname">资源归属</div>
</div>
<div class="in">
<a-input v-model:value="valueE" placeholder="自动带出 可修改" />
</div>
</div>
<div class="name name2">
<div class="namebox">
<div class="inname" style="margin-top: 13px">项目说明</div>
</div>
<div class="in">
<a-textarea
v-model:value="valuei"
style="height: 80px"
placeholder="请输入项目说明"
/>
</div>
</div>
<div class="name name2">
<div class="namebox">
<div class="inname">同步学习记录</div>
</div>
<div class="in">
<a-radio v-model:checked="checked"
><span
style="
width: 100%;
color: rgba(109, 117, 132, 1);
font-size: 14px;
"
>同步课程学习记录如学员在课程库中拥有课程的学习记录自动免修该课程</span
></a-radio
>
</div>
</div>
<div class="name">
<div class="namebox">
<img
class="nameimg"
src="../../assets/images/basicinfo/asterisk.png"
/>
<div class="inname">项目级别</div>
</div>
<div class="in">
<a-input
v-model:value="valueE"
placeholder="集团级/组织级/现地级/部门级"
/>
</div>
</div>
<div class="name">
<div class="namebox">
<img
class="nameimg"
src="../../assets/images/basicinfo/asterisk.png"
/>
<div class="inname">培训体系</div>
</div>
<div class="in">
<a-input
v-model:value="valueE"
placeholder="集团级/组织级/现地级/部门级"
/>
</div>
</div>
<div class="name">
<div class="namebox">
<img
class="nameimg"
src="../../assets/images/basicinfo/asterisk.png"
/>
<div class="inname">是否BOEU实施</div>
</div>
<div class="in">
<a-radio v-model:checked="checked"
><span
style="
width: 100%;
color: rgba(109, 117, 132, 1);
font-size: 14px;
"
>BOEU实施</span
></a-radio
>
</div>
</div>
<div class="name name2">
<div class="namebox" style="margin-top: 8px">
<img
class="nameimg"
src="../../assets/images/basicinfo/asterisk.png"
/>
<div class="inname">附件</div>
</div>
<div class="filebox">
<div>
<img
class="fileimg"
src="../../assets/images/projectadd/enclosure.png"
/>
<span class="filetext">上传附件</span>
</div>
<div class="support">
支持.pdf,.ppt,.pptx,.doc,.docx,.xls,.xlsx,.jpg,.jpeg,.png,.gif,.zip
</div>
</div>
</div>
</div>
<div class="template">
<div class="name">
<div class="inname" style="width: 50px">模板</div>
<div class="in select" style="margin-left: 2px">
<a-select
v-model:value="value1"
placeholder="请选择模板"
:size="size"
style="width: 100%"
:options="options"
></a-select>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="enclosure">
<span >附件</span>
<span class="image"></span>
<span class="text1">上传附件</span>
</div>
<div class="text">支持.pdf,.ppt,.pptx,.doc,.docx,.xls,.xlsx,.jpg,.jpeg,.png,.gif,.zip</div>
<div class="btn">
<a-button type="primary" style="width: 100px;height: 40px;border-radius: 8px">确认</a-button>
<a-button type="primary" ghost style="width: 100px;height: 40px;margin-left: 14px;border-radius: 8px">取消</a-button>
</div>
<div class="btn">
<a-button
type="primary"
style="width: 100px; height: 40px; border-radius: 8px"
>确认</a-button
>
<a-button
type="primary"
ghost
style="
width: 100px;
height: 40px;
margin-left: 14px;
border-radius: 8px;
"
>取消</a-button
>
</div>
</div>
</div>
</template>
<script lane="ts">
<script>
import { reactive, toRefs } from "vue";
export default {
name: "projectAdd",
setup() {
const state = reactive({
classifyList: [
{
id: 1,
name: "分类一",
label: "分类一",
},
{
id: 2,
name: "分类二",
label: "分类二",
},
{
id: 3,
name: "分类三",
label: "分类三",
},
{
id: 4,
name: "分类四",
label: "分类四",
},
],
classifySelect: null,
classifySelectId: null,
});
return {
...toRefs(state),
};
},
};
</script>
<style lang="scss">
.header {
width: 100%;
display: flex;
justify-content: space-between;
.title {
color: #000000;
font-size: 18px;
//line-height: 36px;
padding-top: 30px;
padding-left: 37px;
//font-weight: 500;
}
.goback {
padding-right: 70px;
//padding-top: 37px;
position: relative;
.return {
display: inline-block;
width: 42px;
height: 42px;
margin-top: 17px;
margin-right: 10px;
background-image: url("../../assets/images/projectadd/return.png");
}
.returntext {
display: inline-block;
position: absolute;
top: 27px;
color: #4EA6FF;
font-size: 14px;
}
}
.projectAdd {
width: 100%;
// height: inherit;
// flex: 1;
// flex-shrink: 0;
// overflow-y: scroll;
.header {
width: 100%;
display: flex;
justify-content: space-between;
.title {
color: #000000;
font-size: 18px;
//line-height: 36px;
padding-top: 30px;
padding-left: 37px;
//font-weight: 500;
}
.content {
display: flex;
.main {
width: 50%;
display: flex;
flex-direction: column;
align-items: center;
//justify-content: center;
float: left;
border-right: 1px solid rgba(153, 155, 163, 0.3);
.name {
width: 78%;
// background-color: lightcoral;
display: flex;
margin-top: 20px;
align-items: center;
//height: 40px;
// border: 1px solid black;
.d {
margin-top: 8px;
font-size: 25px;
color: #ff4e4e;
}
.box {
position: relative;
.box1 {
position: absolute;
left: 50%;
top: 50%;
width: 50px;
margin-left: -25px;
margin-top: -5px;
border-top: 2px solid rgba(78, 166, 255, 1);
}
.box2 {
position: absolute;
left: 50%;
top: 50%;
height: 50px;
//margin-left: -5px;
margin-top: -25px;
border-left: 2px solid rgba(78, 166, 255, 1);
}
}
.inname {
color: #6f6f6f;
font-size: 14px;
margin-left: 7px;
width: 65px;
}
.in {
margin-left: 14px;
width: 81%;
.ant-radio-wrapper {
}
.ant-input {
border-radius: 5px;
// height: 120%;
width: 100%;
height: 40px;
}
.ant-select-selector {
border-radius: 5px;
// height: 120%;
width: 100%;
height: 40px;
}
}
}
}
.template {
width: 50%;
display: flex;
flex-direction: column;
align-items: center;
//justify-content: center;
float: right;
.name {
width: 78%;
// background-color: lightcoral;
display: flex;
margin-top: 20px;
align-items: center;
height: 40px;
// border: 1px solid black;
.d {
margin-top: 8px;
font-size: 25px;
color: #ff4e4e;
}
.inname {
color: #6f6f6f;
font-size: 14px;
margin-left: 7px;
width: 65px;
}
.in {
margin-left: 14px;
width: 81%;
.ant-input {
border-radius: 5px;
// height: 120%;
width: 100%;
height: 40px;
}
.ant-select-selector {
border-radius: 5px;
// height: 120%;
width: 100%;
height: 40px;
}
}
}
}
.goback {
padding-right: 70px;
//padding-top: 37px;
position: relative;
.return {
display: inline-block;
width: 42px;
height: 42px;
margin-top: 17px;
margin-right: 10px;
background-image: url("../../assets/images/projectadd/return.png");
}
.returntext {
display: inline-block;
position: absolute;
top: 27px;
color: #4ea6ff;
font-size: 14px;
}
}
.footer {
width: 100%;
margin-top: 31px;
margin-bottom: 14px;
.enclosure {
margin-left: 180px;
.text1 {
margin-left: 10px;
color: rgba(78, 166, 255, 1);
font-size: 14px;
}
.image {
display: inline-block;
width: 15px;
height: 15px;
margin-left: 15px;
background-image: url("../../assets/images/projectadd/enclosure.png");
}
}
.content {
display: flex;
.main {
width: 50%;
display: flex;
flex-direction: column;
align-items: center;
//justify-content: center;
float: left;
border-right: 1px solid rgba(153, 155, 163, 0.3);
.name {
width: 78%;
// background-color: lightcoral;
display: flex;
margin-top: 20px;
align-items: center;
//height: 40px;
// border: 1px solid black;
.namebox {
width: 120px;
display: flex;
align-items: center;
justify-content: flex-end;
flex-shrink: 0;
.nameimg {
width: 10px;
height: 10px;
}
}
.btn {
display: flex;
justify-content: center;
.d {
margin-top: 8px;
font-size: 25px;
color: #ff4e4e;
}
.text {
color: rgba(153, 155, 163, 1);
.box {
position: relative;
margin-left: 14px;
.box1 {
position: absolute;
left: 50%;
top: 50%;
width: 50px;
margin-left: -25px;
margin-top: -5px;
border-top: 2px solid rgba(78, 166, 255, 1);
}
.box2 {
position: absolute;
left: 50%;
top: 50%;
height: 50px;
//margin-left: -5px;
margin-top: -25px;
border-left: 2px solid rgba(78, 166, 255, 1);
}
}
.inname {
color: #6f6f6f;
font-size: 14px;
margin-left: 7px;
}
.in {
margin-left: 14px;
flex: 1;
.ant-radio-wrapper {
}
.ant-input {
border-radius: 5px;
// height: 120%;
width: 100%;
height: 40px;
}
.ant-select-selector {
border-radius: 5px;
// height: 120%;
width: 100%;
height: 40px;
}
}
.filebox {
margin-left: 14px;
flex: 1;
.fileimg {
width: 15px;
height: 15px;
margin-right: 6px;
}
.filetext {
font-size: 14px;
margin-left: 223px;
font-weight: 400;
color: #4ea6ff;
line-height: 36px;
}
.support {
font-size: 14px;
font-weight: 400;
color: #999ba3;
line-height: 36px;
margin-top: 8px;
word-break: break-all;
}
}
}
.name2 {
display: flex;
align-items: flex-start;
}
}
</style>
.template {
width: 50%;
display: flex;
flex-direction: column;
align-items: center;
//justify-content: center;
float: right;
.name {
width: 78%;
// background-color: lightcoral;
display: flex;
margin-top: 20px;
align-items: center;
height: 40px;
// border: 1px solid black;
.d {
margin-top: 8px;
font-size: 25px;
color: #ff4e4e;
}
.inname {
color: #6f6f6f;
font-size: 14px;
margin-left: 7px;
width: 65px;
}
.in {
margin-left: 14px;
width: 81%;
.ant-input {
border-radius: 5px;
// height: 120%;
width: 100%;
height: 40px;
}
.ant-select-selector {
border-radius: 5px;
// height: 120%;
width: 100%;
height: 40px;
}
}
}
}
}
.footer {
width: 100%;
margin-top: 31px;
margin-bottom: 14px;
padding-bottom: 20px;
.btn {
display: flex;
justify-content: center;
}
.text {
color: rgba(153, 155, 163, 1);
font-size: 14px;
margin-left: 223px;
}
}
}
</style>