<template>
|
<a-form @submit="handleSubmit" :form="form" class="form">
|
<a-row class="form-row" :gutter="16">
|
<a-col :lg="6" :md="12" :sm="24">
|
<a-form-item label="仓库名">
|
<a-input
|
placeholder="请输入仓库名称"
|
v-decorator="[
|
'repository.name',
|
{rules: [{ required: true, message: '请输入仓库名称', whitespace: true}]}
|
]" />
|
</a-form-item>
|
</a-col>
|
<a-col :xl="{span: 7, offset: 1}" :lg="{span: 8}" :md="{span: 12}" :sm="24">
|
<a-form-item
|
label="仓库域名">
|
<a-input
|
addonBefore="http://"
|
addonAfter=".com"
|
placeholder="请输入"
|
v-decorator="[
|
'repository.domain',
|
{rules: [{ required: true, message: '请输入仓库域名', whitespace: true}, {validator: validate}]}
|
]" />
|
</a-form-item>
|
</a-col>
|
<a-col :xl="{span: 9, offset: 1}" :lg="{span: 10}" :md="{span: 24}" :sm="24">
|
<a-form-item
|
label="仓库管理员">
|
<a-select placeholder="请选择管理员" v-decorator="[ 'repository.manager', {rules: [{ required: true, message: '请选择管理员'}]} ]">
|
<a-select-option value="王同学">王同学</a-select-option>
|
<a-select-option value="李同学">李同学</a-select-option>
|
<a-select-option value="黄同学">黄同学</a-select-option>
|
</a-select>
|
</a-form-item>
|
</a-col>
|
</a-row>
|
<a-row class="form-row" :gutter="16">
|
<a-col :lg="6" :md="12" :sm="24">
|
<a-form-item
|
label="审批人">
|
<a-select placeholder="请选择审批员" v-decorator="[ 'repository.auditor', {rules: [{ required: true, message: '请选择审批员'}]} ]">
|
<a-select-option value="王晓丽">王晓丽</a-select-option>
|
<a-select-option value="李军">李军</a-select-option>
|
</a-select>
|
</a-form-item>
|
</a-col>
|
<a-col :xl="{span: 7, offset: 1}" :lg="{span: 8}" :md="{span: 12}" :sm="24">
|
<a-form-item
|
label="生效日期">
|
<a-range-picker
|
style="width: 100%"
|
v-decorator="[
|
'repository.effectiveDate',
|
{rules: [{ required: true, message: '请选择生效日期'}]}
|
]" />
|
</a-form-item>
|
</a-col>
|
<a-col :xl="{span: 9, offset: 1}" :lg="{span: 10}" :md="{span: 24}" :sm="24">
|
<a-form-item
|
label="仓库类型">
|
<a-select
|
placeholder="请选择仓库类型"
|
v-decorator="[
|
'repository.type',
|
{rules: [{ required: true, message: '请选择仓库类型'}]}
|
]" >
|
<a-select-option value="公开">公开</a-select-option>
|
<a-select-option value="私密">私密</a-select-option>
|
</a-select>
|
</a-form-item>
|
</a-col>
|
</a-row>
|
<a-form-item v-if="showSubmit">
|
<a-button htmlType="submit" >Submit</a-button>
|
</a-form-item>
|
</a-form>
|
</template>
|
|
<script>
|
export default {
|
name: "RepositoryForm",
|
props: {
|
showSubmit: {
|
type: Boolean,
|
default: false
|
}
|
},
|
data () {
|
return {
|
form: this.$form.createForm(this)
|
}
|
},
|
methods: {
|
handleSubmit (e) {
|
e.preventDefault()
|
this.form.validateFields((err, values) => {
|
if (!err) {
|
this.$notification['error']({
|
message: 'Received values of form:',
|
description: values
|
})
|
}
|
})
|
},
|
validate (rule, value, callback) {
|
const regex = /^user-(.*)$/
|
if (!regex.test(value)) {
|
callback('需要以 user- 开头')
|
}
|
callback()
|
}
|
}
|
}
|
</script>
|
|
<style scoped>
|
|
</style>
|