You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

307 lines
10 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<template>
<div class="divBox">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form-item label="字典编码">
<el-input v-model="dataForm.dictCode" placeholder="请输入字典编码" clearable></el-input>
</el-form-item>
<el-form-item label="字典排序">
<el-input v-model="dataForm.dictSort" placeholder="请输入字典排序" clearable></el-input>
</el-form-item>
<el-form-item label="字典标签">
<el-input v-model="dataForm.dictLabel" placeholder="请输入字典标签" clearable></el-input>
</el-form-item>
<el-form-item label="字典键值">
<el-input v-model="dataForm.dictValue" placeholder="请输入字典键值" clearable></el-input>
</el-form-item>
<el-form-item label="字典类型">
<el-input v-model="dataForm.dictType" placeholder="请输入字典类型" clearable></el-input>
</el-form-item>
<el-form-item label="样式属性(其他样式扩展)">
<el-input v-model="dataForm.cssClass" placeholder="请输入样式属性(其他样式扩展)" clearable></el-input>
</el-form-item>
<el-form-item label="表格回显样式">
<el-input v-model="dataForm.listClass" placeholder="请输入表格回显样式" clearable></el-input>
</el-form-item>
<el-form-item label="是否默认Y是 N否">
<el-input v-model="dataForm.isDefault" placeholder="请输入是否默认Y是 N否" clearable></el-input>
</el-form-item>
<el-form-item label="状态0正常 1停用">
<el-input v-model="dataForm.status" placeholder="请输入状态0正常 1停用" clearable></el-input>
</el-form-item>
<el-form-item label="备注">
<el-input v-model="dataForm.remark" placeholder="请输入备注" clearable></el-input>
</el-form-item>
<el-form-item label="字典代码">
<el-input v-model="dataForm.dataCode" placeholder="请输入字典代码" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">查询</el-button>
<el-button @click="resetForm()">重置</el-button>
<el-button v-hasPermi="['autogencode:sysdictdata:save']" type="primary" @click="addOrUpdateHandle()">新增数据</el-button>
<el-button v-hasPermi="['autogencode:sysdictdata:delete']" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0">批量删除</el-button>
</el-form-item>
</el-form>
<el-table
:data="dataList"
border
v-loading="dataListLoading"
@selection-change="selectionChangeHandle"
style="width: 100%;">
<el-table-column
type="selection"
header-align="center"
align="center"
width="50">
</el-table-column>
<el-table-column
prop="dictCode"
header-align="center"
align="center"
label="字典编码">
</el-table-column>
<el-table-column
prop="dictSort"
header-align="center"
align="center"
label="字典排序">
</el-table-column>
<el-table-column
prop="dictLabel"
header-align="center"
align="center"
label="字典标签">
</el-table-column>
<el-table-column
prop="dictValue"
header-align="center"
align="center"
label="字典键值">
</el-table-column>
<el-table-column
prop="dictType"
header-align="center"
align="center"
label="字典类型">
</el-table-column>
<el-table-column
prop="cssClass"
header-align="center"
align="center"
label="样式属性(其他样式扩展)">
</el-table-column>
<el-table-column
prop="listClass"
header-align="center"
align="center"
label="表格回显样式">
</el-table-column>
<el-table-column
prop="isDefault"
header-align="center"
align="center"
label="是否默认Y是 N否">
</el-table-column>
<el-table-column
prop="status"
header-align="center"
align="center"
label="状态0正常 1停用">
</el-table-column>
<el-table-column
prop="createBy"
header-align="center"
align="center"
label="创建者">
</el-table-column>
<el-table-column
prop="createTime"
header-align="center"
align="center"
label="创建时间">
</el-table-column>
<el-table-column
prop="updateBy"
header-align="center"
align="center"
label="更新者">
</el-table-column>
<el-table-column
prop="updateTime"
header-align="center"
align="center"
label="更新时间">
</el-table-column>
<el-table-column
prop="remark"
header-align="center"
align="center"
label="备注">
</el-table-column>
<el-table-column
prop="dataCode"
header-align="center"
align="center"
label="字典代码">
</el-table-column>
<el-table-column
fixed="right"
header-align="center"
align="center"
width="150"
label="操作">
<template slot-scope="scope">
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.dictCode)">{{ '修改' }}</el-button>
<el-button v-hasPermi="['autogencode:sysdictdata:delete']" type="text" size="small" @click="deleteHandle(scope.row.dictCode)" style="color: #f56c6c;">删除</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="pageIndex"
:page-sizes="[10, 20, 50, 100]"
:page-size="pageSize"
:total="totalPage"
layout="total, sizes, prev, pager, next, jumper">
</el-pagination>
<!-- 表单弹窗, 新增数据和修改数据 -->
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
</div>
</template>
<script>
import AddOrUpdate from './sysdictdata-add-and-update'
import * as api from '@/api/sysdictdata.js'
export default {
data () {
return {
dataForm: {
dictCode: '',
dictSort: '',
dictLabel: '',
dictValue: '',
dictType: '',
cssClass: '',
listClass: '',
isDefault: '',
status: '',
remark: '',
dataCode: '',
},
// 重置表单
resetForm() {
this.dataForm = {
dictCode: '',
dictSort: '',
dictLabel: '',
dictValue: '',
dictType: '',
cssClass: '',
listClass: '',
isDefault: '',
status: '',
remark: '',
dataCode: '',
}
},
dataList: [],
pageIndex: 1,
pageSize: 10,
totalPage: 0,
dataListLoading: false,
dataListSelections: [],
addOrUpdateVisible: false
}
},
components: {
AddOrUpdate
},
activated () {
this.getDataList()
},
methods: {
// 获取数据列表
getDataList () {
this.dataListLoading = true
// 根据后端SysDictDataController和PageParamRequest的期望格式构建参数
const params = {
page: this.pageIndex,
limit: this.pageSize
}
// 将查询条件添加到参数中
if (this.dataForm.dictCode) params.dictCode = this.dataForm.dictCode;
if (this.dataForm.dictSort) params.dictSort = this.dataForm.dictSort;
if (this.dataForm.dictLabel) params.dictLabel = this.dataForm.dictLabel;
if (this.dataForm.dictValue) params.dictValue = this.dataForm.dictValue;
if (this.dataForm.dictType) params.dictType = this.dataForm.dictType;
if (this.dataForm.cssClass) params.cssClass = this.dataForm.cssClass;
if (this.dataForm.listClass) params.listClass = this.dataForm.listClass;
if (this.dataForm.isDefault) params.isDefault = this.dataForm.isDefault;
if (this.dataForm.status) params.status = this.dataForm.status;
if (this.dataForm.remark) params.remark = this.dataForm.remark;
if (this.dataForm.dataCode) params.dataCode = this.dataForm.dataCode;
api.sysdictdataListApi(params).then(res => {
this.dataListLoading = false
this.dataList = res.list || [];
this.totalPage = res.total;
}).catch(e => {
this.dataListLoading = false
})
},
// 每页数
sizeChangeHandle (val) {
this.pageSize = val
this.pageIndex = 1
this.getDataList()
},
// 当前页
currentChangeHandle (val) {
this.pageIndex = val
this.getDataList()
},
// 多选
selectionChangeHandle (val) {
this.dataListSelections = val
},
// 新增 / 修改
addOrUpdateHandle (id) {
this.addOrUpdateVisible = true
this.$nextTick(() => {
this.$refs.addOrUpdate.init(id)
})
},
// 删除处理(支持单个删除和批量删除)
deleteHandle (id) {
let ids = []
let idText = ''
// 如果传入了单个id参数则为单个删除
if (id) {
ids = [id]
idText = id
} else {
// 否则为批量删除
ids = this.dataListSelections.map(item => {
return item.dictCode
})
idText = ids.join(',')
}
this.$confirm(`确定进行删除操作?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
// 调用批量删除API
api.sysdictdataDeleteApi(ids).then(res => {
this.$message.success('删除成功')
this.getDataList()
})
})
},
}
}
</script>