Files
crmeb_java/admin/src/views/maintain/devconfig/combinedData.vue
2020-08-13 16:12:57 +08:00

144 lines
4.5 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<div class="divBox">
<el-card class="box-card">
<div slot="header" class="clearfix">
<div class="container">
<el-form inline>
<el-form-item label="数据搜索">
<el-input v-model="listPram.keywords" placeholder="请输入IDKEY组合数据名称简介" class="selWidth" size="small">
<el-button slot="append" icon="el-icon-search" size="small" @click="handlerSearch" />
</el-input>
</el-form-item>
</el-form>
</div>
<el-button size="mini" type="primary" @click="handlerOpenEdit({},0)">添加数据组</el-button>
</div>
<el-table
:data="dataList.list"
style="width: 100%;margin-bottom: 20px;"
size="mini"
highlight-current-row
>
<el-table-column label="数据组名称" prop="name" min-width="150"/>
<el-table-column label="简介" prop="info" min-width="150"/>
<el-table-column label="操作" fixed="right" min-width="180">
<template slot-scope="scope">
<el-button size="small" type="text" @click="handleDataList(scope.row)">数据列表</el-button>
<el-button size="small" type="text" @click="handlerOpenEdit(scope.row, 1)">编辑</el-button>
<el-button size="small" type="text" @click="handleDelete(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
:current-page="listPram.page"
:page-sizes="constants.page.limit"
:layout="constants.page.layout"
:total="dataList.total"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
/>
</el-card>
<el-dialog
:title="editDialogConfig.isCreate === 0?'创建数据组':'编辑数据组'"
:visible.sync="editDialogConfig.visible"
>
<edit
v-if="editDialogConfig.visible"
:is-create="editDialogConfig.isCreate"
:edit-data="editDialogConfig.editData"
@hideDialog="handlerHideDialog"
/>
</el-dialog>
<el-dialog title="组合数据列表" :visible.sync="comDataListConfig.visible" fullscreen>
<cm-data-list v-if="comDataListConfig.visible" :form-data="comDataListConfig.formData" />
</el-dialog>
</div>
</template>
<script>
import * as constants from '@/utils/constants.js'
import edit from '@/views/maintain/devconfig/combinedDataEdit'
import * as systemGroupApi from '@/api/systemGroup'
import cmDataList from './combineDataList'
export default {
// name: "combinedData"
components: { edit, cmDataList },
data() {
return {
constants,
dataList: {
list: [],
total: 0
},
listPram: {
keywords: null,
page: 1,
pageSize: constants.page.limit[0]
},
editDialogConfig: {
visible: false,
isCreate: 0, // 0=创建 1=编辑
editData: {}
},
comDataListConfig: {
visible: false,
formData: {}
}
}
},
mounted() {
this.handlerGetList(this.listPram)
},
methods: {
handlerSearch() {
this.listPram.page = 1
this.handlerGetList(this.listPram)
},
handlerOpenEdit(editData, isCreate) {
isCreate === 0 ? this.editDialogConfig.editData = {} : this.editDialogConfig.editData = editData
this.editDialogConfig.isCreate = isCreate
this.editDialogConfig.visible = true
},
handlerGetList(pram) {
systemGroupApi.groupList(pram).then(data => {
this.dataList = data
})
},
handleDataList(rowData) {
if (rowData.formId <= 0) return this.$message.error('请先关联表单')
this.comDataListConfig.formData = rowData
this.comDataListConfig.visible = true
},
handleDelete(rowData) {
this.$confirm('确定删除当前数据', '提示').then(() => {
systemGroupApi.groupDelete(rowData).then(data => {
this.$message.success('删除数据成功')
setTimeout(() => {
this.handlerGetList(this.listPram)
}, 800)
})
})
},
handleSizeChange(val) {
this.listPram.limit = val
this.handlerGetList(this.listPram)
},
handleCurrentChange(val) {
this.listPram.page = val
this.handlerGetList(this.listPram)
},
handlerHideDialog() {
setTimeout(() => {
this.editDialogConfig.visible = false
this.handlerGetList(this.listPram)
}, 800)
}
}
}
</script>
<style scoped>
</style>