|
|
|
<template>
|
|
|
|
<div class="container">
|
|
|
|
<!-- 顶部信息 -->
|
|
|
|
<div class="containertop">
|
|
|
|
<div class="topleft">
|
|
|
|
<img src="../../../assets/images/detailsicon/1.png" alt="">
|
|
|
|
<span>项目备忘录</span>
|
|
|
|
</div>
|
|
|
|
<div class="topright">
|
|
|
|
<el-button type="primary" icon="el-icon-edit" size="medium" plain style="border: none;"> 导入</el-button>
|
|
|
|
<el-button type="primary" icon="el-icon-upload" size="medium" plain style="border: none;"> 导出</el-button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="content">
|
|
|
|
<div class="descriptionsdiv">
|
|
|
|
<el-form :model="form" @submit.native.prevent="onSubmit">
|
|
|
|
<el-form-item>
|
|
|
|
<el-col :span="11">
|
|
|
|
<el-date-picker type="date" placeholder="选择日期" v-model="form.date1"
|
|
|
|
style="width: 100%;"></el-date-picker>
|
|
|
|
</el-col>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form>
|
|
|
|
</div>
|
|
|
|
<div class="descriptionsdiv">
|
|
|
|
<el-tag :key="tag" v-for="tag in dynamicTags" closable :disable-transitions="false"
|
|
|
|
@close="handleClose(tag)">
|
|
|
|
{{ tag }}
|
|
|
|
</el-tag>
|
|
|
|
<el-input class="input-new-tag" v-if="inputVisible" v-model="inputValue" ref="saveTagInput" size="small"
|
|
|
|
@keyup.enter.native="handleInputConfirm" @blur="handleInputConfirm">
|
|
|
|
</el-input>
|
|
|
|
<el-button v-else class="button-new-tag" size="small" @click="showInput">+ New Tag</el-button>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
export default {
|
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
dynamicTags: ['标签一', '标签二', '标签三'],
|
|
|
|
inputVisible: false,
|
|
|
|
inputValue: '',
|
|
|
|
form: {
|
|
|
|
name: '',
|
|
|
|
region: '',
|
|
|
|
date1: null, // 确保初始值为 null 或者一个默认日期
|
|
|
|
date2: '',
|
|
|
|
delivery: false,
|
|
|
|
type: [],
|
|
|
|
resource: '',
|
|
|
|
desc: ''
|
|
|
|
}
|
|
|
|
};
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
onSubmit() {
|
|
|
|
console.log('submit!');
|
|
|
|
console.log(this.form); // 确保在提交时可以正确读取 form 数据
|
|
|
|
},
|
|
|
|
handleClose(tag) {
|
|
|
|
this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
|
|
|
|
},
|
|
|
|
|
|
|
|
showInput() {
|
|
|
|
this.inputVisible = true;
|
|
|
|
this.$nextTick(_ => {
|
|
|
|
this.$refs.saveTagInput.$refs.input.focus();
|
|
|
|
});
|
|
|
|
},
|
|
|
|
|
|
|
|
handleInputConfirm() {
|
|
|
|
let inputValue = this.inputValue;
|
|
|
|
if (inputValue) {
|
|
|
|
this.dynamicTags.push(inputValue);
|
|
|
|
}
|
|
|
|
this.inputVisible = false;
|
|
|
|
this.inputValue = '';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<style scoped>
|
|
|
|
.container {
|
|
|
|
display: flex;
|
|
|
|
flex-direction: column;
|
|
|
|
width: 100%;
|
|
|
|
background-color: #FFFFFF;
|
|
|
|
box-shadow: 0rem 0.13rem 0.63rem 0rem rgba(177, 177, 177, 0.1);
|
|
|
|
border-radius: 0.5rem 0.5rem 0.5rem 0.5rem;
|
|
|
|
gap: 1rem;
|
|
|
|
}
|
|
|
|
|
|
|
|
.content {
|
|
|
|
padding: 1rem;
|
|
|
|
display: flex;
|
|
|
|
flex-direction: column;
|
|
|
|
gap: 2rem;
|
|
|
|
}
|
|
|
|
|
|
|
|
.containertop {
|
|
|
|
height: auto;
|
|
|
|
display: flex;
|
|
|
|
justify-content: space-between;
|
|
|
|
padding: .7rem 0;
|
|
|
|
border-bottom: 1px solid #E5E5E5;
|
|
|
|
padding: .5rem;
|
|
|
|
}
|
|
|
|
|
|
|
|
.topleft {
|
|
|
|
width: 8rem;
|
|
|
|
display: flex;
|
|
|
|
gap: 0.4rem;
|
|
|
|
align-items: center;
|
|
|
|
}
|
|
|
|
|
|
|
|
.topleft img {
|
|
|
|
width: 0.81rem;
|
|
|
|
height: 0.81rem;
|
|
|
|
}
|
|
|
|
|
|
|
|
.topleft span {
|
|
|
|
width: auto;
|
|
|
|
height: 0.88rem;
|
|
|
|
font-family: AlibabaPuHuiTi, AlibabaPuHuiTi;
|
|
|
|
font-weight: 500;
|
|
|
|
font-size: 0.88rem;
|
|
|
|
color: #3D424C;
|
|
|
|
line-height: 0.88rem;
|
|
|
|
text-align: right;
|
|
|
|
font-style: normal;
|
|
|
|
text-transform: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
.descriptionsdiv {
|
|
|
|
width: 100%;
|
|
|
|
margin-left: 1rem;
|
|
|
|
height: auto;
|
|
|
|
}
|
|
|
|
|
|
|
|
.el-tag+.el-tag {
|
|
|
|
margin-left: 10px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.button-new-tag {
|
|
|
|
margin-left: 10px;
|
|
|
|
height: 32px;
|
|
|
|
line-height: 30px;
|
|
|
|
padding-top: 0;
|
|
|
|
padding-bottom: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
.input-new-tag {
|
|
|
|
width: 90px;
|
|
|
|
margin-left: 10px;
|
|
|
|
vertical-align: bottom;
|
|
|
|
}
|
|
|
|
</style>
|