index.vue
3.68 KB
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
<template>
<div class="dictionary-config from-clues">
<div class="from-clues-header">
<el-form ref="form" :model="form" label-width="125px">
<el-row>
<el-col :span="5">
<el-form-item label="字典类型编码">
<el-input v-model="form.DCODE" placeholder="字典类型编码"></el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="字典类型名称">
<el-input v-model="form.DNAME" placeholder="字典类型名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="14" class="btnColRight">
<el-button @click="handleUpdateDic">刷新字典缓存</el-button>
<el-button type="primary" @click="handleSubmit">查询结果</el-button>
</el-col>
</el-row>
</el-form>
</div>
<div class="from-clues-content">
<lb-table :page-size="pageData.size" :current-page.sync="pageData.current" :total="pageData.total"
@size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="tableData.columns"
:data="tableData.data">
</lb-table>
<message-tips ref="msg" :message="message" />
</div>
<edit-dictionary ref="dictionary" :dictList="dictList" :dicData="dicRowData"></edit-dictionary>
</div>
</template>
<script>
// 字典
import data from "./data"
import dictionaries from '@/api/dictionaries'
import tableMixin from '@/mixins/tableMixin.js'
import editDictionary from '../components/editDictionary.vue'
export default {
name: "dictionary-config",
mixins: [tableMixin],
components: {
editDictionary
},
data () {
return {
message: '',
form: {
DCODE: '',
DNAME: '',
currentPage: 1
},
preContent: '',
tableData: {
columns: data.columns().concat([
{
label: "操作",
render: (h, scope) => {
return (
<div>
<el-button
type="text"
size="mini"
icon="el-icon-edit"
onClick={() => { this.handleEdit(scope.row) }}
>
编辑
</el-button>
</div>
);
},
}
]),
data: []
},
pageData: {
total: 0,
pageSize: 15,
current: 1,
},
dictList: [],
dicRowData: null
}
},
methods: {
async featchData () {
try {
this.form = Object.assign(this.form, this.formData)
let { result: { list, total, pages: pageSize, pageNum: current }
} = await dictionaries.getSysDictParent(this.form)
this.tableData.data = list
this.pageData = {
pageSize,
current,
total
}
} catch (error) {
this.message = error
this.$refs.msg.messageShow()
}
},
async handleEdit (row) {
this.dicRowData = row
try {
let { result: res } = await dictionaries.getSysDictByTypeId(row.TYPEID)
this.dictList = res
this.$refs.dictionary.isShow()
} catch (error) {
this.$alert(error, '提示', {
confirmButtonText: '确定',
type: 'error'
})
}
},
// 更新字典
handleUpdateDic () {
this.$store.dispatch('dictionaries/generateDic').then((res) => {
if (res) {
this.$message({
message: '刷新成功!',
type: 'success'
});
}
})
}
}
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
@import "./index.scss";
</style>