doum
5 小时以前 e68e324f91d1a4eb2d4c5f07d27ca105a308bc0c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
<template>
  <TableLayout :permissions="['business:labels:query']">
    <!-- 搜索表单 -->
    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
      <el-form-item label="分类名称" prop="name">
        <el-input v-model="searchForm.name" placeholder="请输入名称" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="所属板块" prop="type">
        <el-select
          v-model="searchForm.type"
          placeholder="请选择探店类型"
        >
          <el-option v-for="item in type" :key="item.id" :value="item.id" :label="item.label" />
        </el-select>
      </el-form-item>
      <section>
        <el-button type="primary" @click="search">搜索</el-button>
        <el-button @click="reset">重置</el-button>
      </section>
    </el-form>
    <!-- 表格和分页 -->
    <template v-slot:table-wrap>
      <ul class="toolbar" v-permissions="['business:labels:create', 'business:labels:delete']">
        <li><el-button type="primary" @click="$refs.operaLabelsWindow.open('新建标签信息表')" icon="el-icon-plus" v-permissions="['business:labels:create']">新建</el-button></li>
        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:labels:delete']">删除</el-button></li>
      </ul>
      <el-table
        v-loading="isWorking.search"
        :data="tableData.list"
        border
        stripe
        @selection-change="handleSelectionChange"
      >
        <el-table-column type="selection" width="55"></el-table-column>
        <el-table-column prop="name" label="分类名称" min-width="100px"></el-table-column>
        <el-table-column prop="imgurlfull" label="图标" align="center" min-width="100px">
          <template slot-scope="{row}">
            <el-image :scr="row.imgurlfull" :preview-src-list="[row.imgurlfull]"></el-image>
          </template>
        </el-table-column>
        <el-table-column prop="creator" label="所属板块" min-width="100px">
          <template slot-scope="{row}">
            {{ typeToStr(row.type) }}
          </template>
        </el-table-column>
        <el-table-column prop="sortnum" label="排序码" min-width="100px"></el-table-column>
        <el-table-column prop="createDate" label="创建时间" min-width="100px"></el-table-column>
        <el-table-column
          v-if="containPermissions(['business:labels:update', 'business:labels:delete'])"
          label="操作"
          min-width="120"
          fixed="right"
        >
          <template slot-scope="{row}">
            <el-button type="text" @click="$refs.operaLabelsWindow.open('编辑标签信息表', row)" icon="el-icon-edit" v-permissions="['business:labels:update']">编辑</el-button>
            <el-button type="text"  style="color: red;" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:labels:delete']">删除</el-button>
          </template>
        </el-table-column>
      </el-table>
      <pagination
        @size-change="handleSizeChange"
        @current-change="handlePageChange"
        :pagination="tableData.pagination"
      >
      </pagination>
    </template>
    <!-- 新建/修改 -->
    <OperaLabelsWindow ref="operaLabelsWindow" @success="handlePageChange"/>
  </TableLayout>
</template>
 
<script>
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import OperaLabelsWindow from '@/components/business/OperaLabelsWindow'
export default {
  name: 'Labels',
  extends: BaseTable,
  components: { TableLayout, Pagination, OperaLabelsWindow },
  data () {
    return {
      // 搜索
      searchForm: {
        id: '',
        creator: '',
        createDate: '',
        editor: '',
        editDate: '',
        isdeleted: '',
        name: '',
        info: '',
        type: '',
        module: '',
        parentId: '',
        sortnum: '',
        status: '',
        imgurl: ''
      },
      type: [
        // 0商品分类 1商品品牌 2商家标签 3快递 4退货选项 5换货选项 6退款选项
        // 7取消订单选项 8咖啡百科分类 9咨询分类 10活动赛事分类 11达人探店分类
        { label: '商品分类', id: 0 },
        { label: '商品品牌', id: 1 },
        { label: '商家标签', id: 2 },
        { label: '快递', id: 3 },
        { label: '退货选项', id: 4 },
        { label: '换货选项', id: 5 },
        { label: '退款选项', id: 6 },
        { label: '取消订单选项', id: 7 },
        { label: '咖啡百科分类', id: 8 },
        { label: '咨询分类', id: 9 },
        { label: '活动赛事分类', id: 10 },
        { label: '达人探店分类', id: 11 },
        { label: '商品专区', id: 12 },
      ]
    }
  },
  provide() {
    return {
      types: () => this.type
    }
  },
  created () {
    this.config({
      module: '标签信息表',
      api: '/business/labels',
      'field.id': 'id',
      'field.main': 'id'
    })
    this.search()
  },
  methods: {
    typeToStr(type) {
      const temp = this.type.find(item => item.id == type)
      return temp ? temp.label : '-'
    }
  },
}
</script>