parent
417f7d5f7b
commit
670b97e616
6 changed files with 224 additions and 3 deletions
@ -0,0 +1,117 @@ |
||||
<template> |
||||
<a-card :body-style="{padding: '24px 32px'}" :bordered="false"> |
||||
<a-form> |
||||
<a-form-item |
||||
label="标题" |
||||
:labelCol="{span: 7}" |
||||
:wrapperCol="{span: 10}" |
||||
> |
||||
<a-input placeholder="给目标起个名字" /> |
||||
</a-form-item> |
||||
<a-form-item |
||||
label="起止日期" |
||||
:labelCol="{span: 7}" |
||||
:wrapperCol="{span: 10}" |
||||
> |
||||
<a-range-picker style="width: 100%" /> |
||||
</a-form-item> |
||||
<a-form-item |
||||
label="目标描述" |
||||
:labelCol="{span: 7}" |
||||
:wrapperCol="{span: 10}" |
||||
> |
||||
<a-textarea rows="4" placeholder="请输入你阶段性工作目标"/> |
||||
</a-form-item> |
||||
<a-form-item |
||||
label="衡量标准" |
||||
:labelCol="{span: 7}" |
||||
:wrapperCol="{span: 10}" |
||||
> |
||||
<a-textarea rows="4" placeholder="请输入衡量标准"/> |
||||
</a-form-item> |
||||
<a-form-item |
||||
label="客户" |
||||
:labelCol="{span: 7}" |
||||
:wrapperCol="{span: 10}" |
||||
:required="false" |
||||
> |
||||
<a-input placeholder="请描述你服务的客户,内部客户直接 @姓名/工号"/> |
||||
</a-form-item> |
||||
<a-form-item |
||||
label="邀评人" |
||||
:labelCol="{span: 7}" |
||||
:wrapperCol="{span: 10}" |
||||
:required="false" |
||||
> |
||||
<a-input placeholder="请直接 @姓名/工号,最多可邀请 5 人"/> |
||||
</a-form-item> |
||||
<a-form-item |
||||
label="权重" |
||||
:labelCol="{span: 7}" |
||||
:wrapperCol="{span: 10}" |
||||
:required="false" |
||||
> |
||||
<a-input-number :min="0" :max="100"/> |
||||
<span>%</span> |
||||
</a-form-item> |
||||
<a-form-item |
||||
label="目标公开" |
||||
:labelCol="{span: 7}" |
||||
:wrapperCol="{span: 10}" |
||||
:required="false" |
||||
help="客户、邀评人默认被分享" |
||||
> |
||||
<a-radio-group v-model="value"> |
||||
<a-radio :value="1">公开</a-radio> |
||||
<a-radio :value="2">部分公开</a-radio> |
||||
<a-radio :value="3">不公开</a-radio> |
||||
</a-radio-group> |
||||
<a-form-item> |
||||
<a-select mode="multiple" v-if="value === 2"> |
||||
<a-select-option value="4">同事一</a-select-option> |
||||
<a-select-option value="5">同事二</a-select-option> |
||||
<a-select-option value="6">同事三</a-select-option> |
||||
</a-select> |
||||
</a-form-item> |
||||
</a-form-item> |
||||
<a-form-item :wrapperCol="{span: 10, offset: 7}"> |
||||
<a-button type="primary">提交</a-button> |
||||
<a-button style="margin-left: 8px">保存</a-button> |
||||
</a-form-item> |
||||
</a-form> |
||||
</a-card> |
||||
</template> |
||||
|
||||
<script> |
||||
import ACard from 'vue-antd-ui/es/card/Card' |
||||
import AForm from 'vue-antd-ui/es/form/Form' |
||||
import AFormItem from 'vue-antd-ui/es/form/FormItem' |
||||
import AInput from 'vue-antd-ui/es/input/Input' |
||||
import ADatePicker from 'vue-antd-ui/es/date-picker' |
||||
import ATextarea from 'vue-antd-ui/es/input/TextArea' |
||||
import AInputNumber from 'vue-antd-ui/es/input-number/index' |
||||
import ARadioGroup from 'vue-antd-ui/es/radio/Group' |
||||
import ARadio from 'vue-antd-ui/es/radio/Radio' |
||||
import ASelect from 'vue-antd-ui/es/select/index' |
||||
import AButton from "vue-antd-ui/es/button/button"; |
||||
|
||||
const ARangePicker = ADatePicker.RangePicker |
||||
const ASelectOption = ASelect.Option |
||||
export default { |
||||
name: 'BasicForm', |
||||
components: { |
||||
AButton, |
||||
ASelectOption, ASelect, ARadio, ARadioGroup, AInputNumber, ATextarea, ARangePicker, AInput, AFormItem, AForm, ACard}, |
||||
data () { |
||||
return { |
||||
title: '基础表单', |
||||
desc: '表单页用于向用户收集或验证信息,基础表单常见于数据项较少的表单场景。', |
||||
value: 1 |
||||
} |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style scoped> |
||||
|
||||
</style> |
@ -0,0 +1,42 @@ |
||||
<template> |
||||
<div style="margin: -24px -24px 0px"> |
||||
<page-header :breadcrumb="breadcrumb" :title="title"> |
||||
<div slot="content">{{desc}}</div> |
||||
</page-header> |
||||
<div style="margin: 24px 24px 0px"> |
||||
<router-view ref="page"/> |
||||
</div> |
||||
</div> |
||||
</template> |
||||
|
||||
<script> |
||||
import PageHeader from '../page/PageHeader' |
||||
export default { |
||||
name: 'Form', |
||||
components: {PageHeader}, |
||||
data () { |
||||
return { |
||||
title: '', |
||||
breadcrumb: [], |
||||
desc: '' |
||||
} |
||||
}, |
||||
mounted () { |
||||
this.getPageHeaderInfo() |
||||
}, |
||||
beforeUpdate () { |
||||
this.getPageHeaderInfo() |
||||
}, |
||||
methods: { |
||||
getPageHeaderInfo () { |
||||
this.title = this.$route.name |
||||
this.breadcrumb = this.$route.matched |
||||
this.desc = this.$refs.page.desc |
||||
} |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style scoped> |
||||
|
||||
</style> |
@ -0,0 +1,53 @@ |
||||
<template> |
||||
<div class="page-header"> |
||||
<div class="breadcrumb"> |
||||
<a-breadcrumb> |
||||
<a-breadcrumb-item><a href="#/dashboard">首页</a></a-breadcrumb-item> |
||||
<a-breadcrumb-item :key="item.path" v-for="item in breadcrumb">{{item.name}}</a-breadcrumb-item> |
||||
</a-breadcrumb> |
||||
</div> |
||||
<div class="detail"> |
||||
<h1 v-if="title" class="title">{{title}}</h1> |
||||
<div class="content"><slot name="content"></slot></div> |
||||
</div> |
||||
</div> |
||||
</template> |
||||
|
||||
<script> |
||||
import ABreadcrumb from 'vue-antd-ui/es/breadcrumb' |
||||
|
||||
const ABreadcrumbItem = ABreadcrumb.Item |
||||
export default { |
||||
name: 'PageHeader', |
||||
components: {ABreadcrumbItem, ABreadcrumb}, |
||||
props: { |
||||
title: { |
||||
type: String, |
||||
required: true |
||||
}, |
||||
breadcrumb: { |
||||
type: Array, |
||||
required: false |
||||
} |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style lang="less" scoped> |
||||
.page-header{ |
||||
background: #fff; |
||||
padding: 16px 32px 0; |
||||
border-bottom: 1px solid #e8e8e8; |
||||
.breadcrumb{ |
||||
margin-bottom: 16px; |
||||
} |
||||
.title{ |
||||
font-size: 20px; |
||||
font-weight: 500; |
||||
color: rgba(0,0,0,.85); |
||||
} |
||||
.content{ |
||||
margin-bottom: 16px; |
||||
} |
||||
} |
||||
</style> |
Loading…
Reference in new issue