123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- <template>
- <div class="app-container">
- <a-card :bordered="false">
- <SearchForm ref="searchForm" @reloadData="reloadData"/>
- <s-table
- ref="table"
- size="default"
- rowKey="id"
- :scroll="{ x: 1300 }"
- :columns="columns"
- :data="loadData"
- :alert="options.alert"
- :rowSelection="options.rowSelection"
- showPagination="true"
- >
- <span slot="avatar" slot-scope="text, record">
- <template>
- <avatar-list size="large"><avatar-list-item style="cursor: pointer" :src="text" @click.native="$router.push(`/put/list/details?id=${record.finderUin}`)" /></avatar-list>
- </template>
- </span>
- <span slot="videoAccountName" slot-scope="text, record">
- <a-tooltip>
- <template slot="title">
- <div>finderUin: {{ record.finderUin }}</div>
- <div>作者标签 : {{ record.authInfo }}</div>
- </template>
- <div style="color: #00A0E9; cursor: pointer" @click="$router.push(`/put/list/details?id=${record.finderUin}`)">{{ text }}</div>
- </a-tooltip>
- </span>
- <span slot="createTime" slot-scope="text">
- {{ text | dayjs }}
- </span>
- </s-table>
- <CreateAuthorForm
- :formType="formType"
- :visible="visible"
- ref="createAuthorForm"
- @resetData="resetData"
- @refreshTable="refreshTable"
- />
- </a-card>
- </div>
- </template>
- <script>
- import { fetchList, deleteAuthor } from '@/api/author'
- import { STable, Ellipsis } from '@/components'
- import CreateAuthorForm from './modules/CreateForm'
- import SearchForm from './modules/SearchForm'
- import { filters, table } from './put-constants'
- import AvatarList from '@/components/AvatarList'
- const AvatarListItem = AvatarList.AvatarItem
- export default {
- name: 'PutList',
- components: {
- STable,
- Ellipsis,
- CreateAuthorForm,
- SearchForm,
- AvatarList,
- AvatarListItem
- },
- filters: filters,
- data () {
- return {
- queryParam: {},
- loadData: parameter => {
- console.log('loadData.parameter', parameter)
- return fetchList(Object.assign(parameter, this.queryParam)).then(res => {
- return res
- })
- },
- options: {
- alert: {
- show: true,
- clear: () => {
- this.selectedRowKeys = []
- }
- },
- rowSelection: {
- selectedRowKeys: this.selectedRowKeys,
- onChange: this.onSelectChange
- }
- },
- columns: table.columns,
- visible: false,
- formType: 'create'
- }
- },
- created () {
- },
- methods: {
- createHandler () {
- this.formType = 'create'
- this.visible = true
- this.$refs.createAuthorForm.resetForm()
- },
- handleEdit (record) {
- this.$refs.createAuthorForm.handleEdit(record)
- this.formType = 'edit'
- this.visible = true
- },
- resetData (flag) {
- this.visible = flag
- this.record = null
- },
- refreshTable () {
- this.$refs.table.refresh()
- },
- reloadData (queryParam) {
- this.queryParam = queryParam
- this.refreshTable()
- },
- handleDelete (row) {
- deleteAuthor(row.id).then(res => {
- this.$notification.success({
- message: '删除成功'
- })
- this.$refs.table.refresh()
- })
- },
- cancel () {
- }
- }
- }
- </script>
- <style scoped>
- .edit-input {
- padding-right: 100px;
- }
- .cancel-btn {
- position: absolute;
- right: 15px;
- top: 10px;
- }
- .ant-upload-select-picture-card i {
- font-size: 32px;
- color: #999;
- }
- .ant-upload-select-picture-card .ant-upload-text {
- margin-top: 8px;
- color: #666;
- }
- </style>
|