|
@@ -1,48 +1,167 @@
|
|
|
<template>
|
|
|
- <a-card :bordered="false" class="ant-pro-components-tag-select">
|
|
|
- <a-form layout="inline">
|
|
|
- <a-form-item label="所属类目">
|
|
|
- <tag-select>
|
|
|
- <tag-select-option value="Category1">类目一</tag-select-option>
|
|
|
- <tag-select-option value="Category2">类目二</tag-select-option>
|
|
|
- <tag-select-option value="Category3">类目三</tag-select-option>
|
|
|
- <tag-select-option value="Category4">类目四</tag-select-option>
|
|
|
- <tag-select-option value="Category5">类目五</tag-select-option>
|
|
|
- <tag-select-option value="Category6">类目六</tag-select-option>
|
|
|
- <tag-select-option value="Category7">类目七</tag-select-option>
|
|
|
- <tag-select-option value="Category8">类目八</tag-select-option>
|
|
|
- <tag-select-option value="Category9">类目九</tag-select-option>
|
|
|
- <tag-select-option value="Category10">类目十</tag-select-option>
|
|
|
- </tag-select>
|
|
|
- </a-form-item>
|
|
|
- <a-divider dashed />
|
|
|
- <a-form-item label="owner">
|
|
|
- <a-row>
|
|
|
- <a-col :md="24">
|
|
|
- <a-select style="max-width: 268px; width: 100%;" mode="multiple" :defaultValue="['a1', 'b2']" @change="handleChange" placeholder="Please select">
|
|
|
- <a-select-option v-for="i in 25" :key="(i + 9).toString(36) + i">{{ (i + 9).toString(36) + i }}</a-select-option>
|
|
|
- </a-select>
|
|
|
- <a>只看自己的</a>
|
|
|
- </a-col>
|
|
|
- </a-row>
|
|
|
- </a-form-item>
|
|
|
- </a-form>
|
|
|
-
|
|
|
- </a-card>
|
|
|
+ <div>
|
|
|
+ <a-card :bordered="false" class="ant-pro-components-tag-select">
|
|
|
+ <a-form :form="form" layout="inline">
|
|
|
+ <standard-form-row title="所属类目" block style="padding-bottom: 11px;">
|
|
|
+ <a-form-item>
|
|
|
+ <tag-select>
|
|
|
+ <tag-select-option value="Category1">类目一</tag-select-option>
|
|
|
+ <tag-select-option value="Category2">类目二</tag-select-option>
|
|
|
+ <tag-select-option value="Category3">类目三</tag-select-option>
|
|
|
+ <tag-select-option value="Category4">类目四</tag-select-option>
|
|
|
+ <tag-select-option value="Category5">类目五</tag-select-option>
|
|
|
+ <tag-select-option value="Category6">类目六</tag-select-option>
|
|
|
+ <tag-select-option value="Category7">类目七</tag-select-option>
|
|
|
+ <tag-select-option value="Category8">类目八</tag-select-option>
|
|
|
+ <tag-select-option value="Category9">类目九</tag-select-option>
|
|
|
+ <tag-select-option value="Category10">类目十</tag-select-option>
|
|
|
+ </tag-select>
|
|
|
+ </a-form-item>
|
|
|
+ </standard-form-row>
|
|
|
+
|
|
|
+ <standard-form-row title="owner" grid>
|
|
|
+ <a-row>
|
|
|
+ <a-col :md="24">
|
|
|
+ <a-form-item :wrapper-col="{ span: 24 }">
|
|
|
+ <a-select
|
|
|
+ style="max-width: 268px; width: 100%;"
|
|
|
+ mode="multiple"
|
|
|
+ placeholder="选择 onwer"
|
|
|
+ v-decorator="['owner']"
|
|
|
+ @change="handleChange"
|
|
|
+ >
|
|
|
+ <a-select-option v-for="item in owners" :key="item.id">{{ item.name }}</a-select-option>
|
|
|
+ </a-select>
|
|
|
+ <a class="list-articles-trigger" @click="setOwner">只看自己的</a>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ </standard-form-row>
|
|
|
+
|
|
|
+ <standard-form-row title="其它选项" grid last>
|
|
|
+ <a-row :gutter="16">
|
|
|
+ <a-col :xs="24" :sm="24" :md="12" :lg="10" :xl="8">
|
|
|
+ <a-form-item label="活跃用户" :wrapper-col="{ xs: 24, sm: 24, md: 12 }">
|
|
|
+ <a-select placeholder="不限" style="max-width: 200px; width: 100%;">
|
|
|
+ <a-select-option value="李三">李三</a-select-option>
|
|
|
+ </a-select>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :xs="24" :sm="24" :md="12" :lg="10" :xl="8">
|
|
|
+ <a-form-item label="好评度" :wrapper-col="{ xs: 24, sm: 24, md: 12 }">
|
|
|
+ <a-select placeholder="不限" style="max-width: 200px; width: 100%;">
|
|
|
+ <a-select-option value="优秀">优秀</a-select-option>
|
|
|
+ </a-select>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ </standard-form-row>
|
|
|
+ </a-form>
|
|
|
+ </a-card>
|
|
|
+
|
|
|
+ <a-card style="margin-top: 24px;" :bordered="false">
|
|
|
+ <a-list
|
|
|
+ size="large"
|
|
|
+ rowKey="id"
|
|
|
+ itemLayout="vertical"
|
|
|
+ :dataSource="data"
|
|
|
+ >
|
|
|
+ <a-list-item :key="item.id" slot="renderItem" slot-scope="item">
|
|
|
+ <template slot="actions">
|
|
|
+ <icon-text type="star-o" :text="item.star" />
|
|
|
+ <icon-text type="like-o" :text="item.like" />
|
|
|
+ <icon-text type="message" :text="item.message" />
|
|
|
+ </template>
|
|
|
+ <a-list-item-meta>
|
|
|
+ <a slot="title" href="https://vue.ant.design/">{{ item.title }}</a>
|
|
|
+ <template slot="description">
|
|
|
+ <span>
|
|
|
+ <a-tag>Ant Design</a-tag>
|
|
|
+ <a-tag>设计语言</a-tag>
|
|
|
+ <a-tag>蚂蚁金服</a-tag>
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
+ </a-list-item-meta>
|
|
|
+ <article-list-content :description="item.description" :owner="item.owner" :avatar="item.avatar" :href="item.href" :updateAt="item.updatedAt" />
|
|
|
+ </a-list-item>
|
|
|
+ <div slot="footer" v-if="data.length > 0" style="text-align: center; margin-top: 16px;">
|
|
|
+ <a-button @click="loadMore" :loading="loadingMore">加载更多</a-button>
|
|
|
+ </div>
|
|
|
+ </a-list>
|
|
|
+ </a-card>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { TagSelect } from '@/components'
|
|
|
+import { TagSelect, StandardFormRow, ArticleListContent } from '@/components'
|
|
|
+import IconText from './components/IconText'
|
|
|
const TagSelectOption = TagSelect.Option
|
|
|
|
|
|
+const owners = [
|
|
|
+ {
|
|
|
+ id: 'wzj',
|
|
|
+ name: '我自己'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: 'wjh',
|
|
|
+ name: '吴家豪'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: 'zxx',
|
|
|
+ name: '周星星'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: 'zly',
|
|
|
+ name: '赵丽颖'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: 'ym',
|
|
|
+ name: '姚明'
|
|
|
+ }
|
|
|
+]
|
|
|
+
|
|
|
export default {
|
|
|
components: {
|
|
|
TagSelect,
|
|
|
- TagSelectOption
|
|
|
+ TagSelectOption,
|
|
|
+ StandardFormRow,
|
|
|
+ ArticleListContent,
|
|
|
+ IconText
|
|
|
+ },
|
|
|
+ data () {
|
|
|
+ return {
|
|
|
+ owners,
|
|
|
+ loadingMore: false,
|
|
|
+ data: [],
|
|
|
+ form: this.$form.createForm(this)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ mounted () {
|
|
|
+ this.getList()
|
|
|
},
|
|
|
methods: {
|
|
|
handleChange (value) {
|
|
|
console.log(`selected ${value}`)
|
|
|
+ },
|
|
|
+ getList () {
|
|
|
+ this.$http.get('/list/article').then(res => {
|
|
|
+ console.log('res', res)
|
|
|
+ this.data = res.result
|
|
|
+ })
|
|
|
+ },
|
|
|
+ loadMore () {
|
|
|
+ this.loadingMore = true
|
|
|
+ this.$http.get('/list/article').then(res => {
|
|
|
+ this.data = this.data.concat(res.result)
|
|
|
+ }).finally(() => {
|
|
|
+ this.loadingMore = false
|
|
|
+ })
|
|
|
+ },
|
|
|
+ setOwner () {
|
|
|
+ const { form: { setFieldsValue } } = this
|
|
|
+ setFieldsValue({
|
|
|
+ owner: ['wzj']
|
|
|
+ })
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -56,4 +175,8 @@ export default {
|
|
|
font-size: 14px;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+.list-articles-trigger {
|
|
|
+ margin-left: 12px;
|
|
|
+}
|
|
|
</style>
|