Blame view

ant-design-vue-jeecg/src/views/system/SysPositionList.vue 5.54 KB
1
2
3
4
5
<template>
  <a-card :bordered="false">

    <!-- 查询区域 -->
    <div class="table-page-search-wrapper">
6
      <a-form layout="inline" @keyup.enter.native="searchQuery">
7
8
        <a-row :gutter="24">
肖超群 authored
9
10
11
          <a-col :md="6" :sm="8">
            <a-form-item label="职务编码">
              <a-input placeholder="请输入职务编码" v-model="queryParam.code"></a-input>
12
13
            </a-form-item>
          </a-col>
肖超群 authored
14
15
16
          <a-col :md="6" :sm="8">
            <a-form-item label="职务名称">
              <a-input placeholder="请输入职务名称" v-model="queryParam.name"></a-input>
17
18
            </a-form-item>
          </a-col>
肖超群 authored
19
20
21
22
23
24
25
          <template v-if="toggleSearchStatus">
            <a-col :md="6" :sm="8">
              <a-form-item label="职级">
                <j-dict-select-tag v-model="queryParam.postRank" placeholder="请选择职级" dictCode="position_rank"/>
              </a-form-item>
            </a-col>
26
          </template>
肖超群 authored
27
          <a-col :md="6" :sm="8">
28
29
30
            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
31
32
33
34
              <a @click="handleToggleSearch" style="margin-left: 8px">
                {{ toggleSearchStatus ? '收起' : '展开' }}
                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
              </a>
35
36
37
38
39
40
41
42
43
44
            </span>
          </a-col>

        </a-row>
      </a-form>
    </div>

    <!-- 操作按钮区域 -->
    <div class="table-operator">
      <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
肖超群 authored
45
      <a-button type="primary" icon="download" @click="handleExportXls('职务表')">导出</a-button>
肖超群 authored
46
47
      <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl"
                @change="handleImportExcel">
48
49
        <a-button type="primary" icon="import">导入</a-button>
      </a-upload>
50
51
      <a-dropdown v-if="selectedRowKeys.length > 0">
        <a-menu slot="overlay">
肖超群 authored
52
53
54
55
          <a-menu-item key="1" @click="batchDel">
            <a-icon type="delete"/>
            删除
          </a-menu-item>
56
        </a-menu>
肖超群 authored
57
58
59
        <a-button style="margin-left: 8px"> 批量操作
          <a-icon type="down"/>
        </a-button>
60
61
62
63
64
65
      </a-dropdown>
    </div>

    <!-- table区域-begin -->
    <div>
      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
肖超群 authored
66
67
        <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a
        style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
        <a style="margin-left: 24px" @click="onClearSelected">清空</a>
      </div>

      <a-table
        ref="table"
        size="middle"
        bordered
        rowKey="id"
        :columns="columns"
        :dataSource="dataSource"
        :pagination="ipagination"
        :loading="loading"
        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
        @change="handleTableChange">

        <span slot="action" slot-scope="text, record">
          <a @click="handleEdit(record)">编辑</a>
肖超群 authored
86
          <a-divider type="vertical"/>
87
          <a-dropdown>
肖超群 authored
88
            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
            <a-menu slot="overlay">
              <a-menu-item>
                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
                  <a>删除</a>
                </a-popconfirm>
              </a-menu-item>
            </a-menu>
          </a-dropdown>
        </span>

      </a-table>
    </div>
    <!-- table区域-end -->

    <!-- 表单区域 -->
肖超群 authored
104
    <sysPosition-modal ref="modalForm" @ok="modalFormOk"></sysPosition-modal>
105
106
107
108
  </a-card>
</template>

<script>
肖超群 authored
109
110
111
import SysPositionModal from './modules/SysPositionModal'
import {JeecgListMixin} from '@/mixins/JeecgListMixin'
import JDictSelectTag from '@/components/dict/JDictSelectTag'
112
肖超群 authored
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
export default {
  name: 'SysPositionList',
  mixins: [JeecgListMixin],
  components: {
    SysPositionModal,
    JDictSelectTag
  },
  data() {
    return {
      description: '职务表管理页面',
      // 表头
      columns: [
        {
          title: '#',
          dataIndex: '',
          key: 'rowIndex',
          width: 60,
          align: 'center',
          customRender: function (t, r, index) {
            return parseInt(index) + 1
133
          }
肖超群 authored
134
        },
肖超群 authored
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
        {
          title: '职务编码',
          align: 'center',
          dataIndex: 'code'
        },
        {
          title: '职务名称',
          align: 'center',
          dataIndex: 'name'
        },
        {
          title: '职级',
          align: 'center',
          dataIndex: 'postRank_dictText'
        },
        // {
        //   title: '公司id',
        //   align: 'center',
        //   dataIndex: 'companyId'
        // },
        {
          title: '操作',
          dataIndex: 'action',
          align: 'center',
          scopedSlots: {customRender: 'action'},
        }
      ],
      url: {
        list: '/sys/position/list',
        delete: '/sys/position/delete',
        deleteBatch: '/sys/position/deleteBatch',
        exportXlsUrl: '/sys/position/exportXls',
        importExcelUrl: 'sys/position/importExcel',
      },
    }
  },
  computed: {
    importExcelUrl: function () {
      return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
174
175
    }
  }
肖超群 authored
176
}
177
</script>
178
<style scoped>
肖超群 authored
179
@import '~@assets/less/common.less'
180
</style>