Files
management/src/views/bot/index.vue
2024-04-24 09:52:04 +08:00

102 lines
4.1 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="app-container">
<!--工具栏-->
<div class="head-container">
<div v-if="crud.props.searchToggle">
<!-- 搜索 -->
<label class="el-form-item-label">元素键值</label>
<el-input v-model="query.configKey" clearable placeholder="元素键值" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<label class="el-form-item-label">元素值</label>
<el-input v-model="query.configValue" clearable placeholder="元素值" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<rrOperation :crud="crud" />
</div>
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission" />
<!--表单组件-->
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="500px">
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px">
<el-form-item label="id" v-show="false">
<el-input v-model="form.id" style="width: 370px;" />
</el-form-item>
<el-form-item label="元素键值">
<el-input v-model="form.configKey" style="width: 370px;" />
</el-form-item>
<el-form-item label="元素值">
<el-input v-model="form.configValue" style="width: 370px;" />
</el-form-item>
<el-form-item label="描述">
<el-input v-model="form.remark" style="width: 370px;" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="crud.cancelCU">取消</el-button>
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
</div>
</el-dialog>
<!--表格渲染-->
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="small" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
<el-table-column type="selection" width="55" />
<el-table-column prop="id" label="id" v-if="false"/>
<el-table-column prop="configKey" label="元素键值" />
<el-table-column prop="configValue" label="元素值" />
<el-table-column prop="remark" label="描述" />
<el-table-column v-if="checkPer(['admin','botConfig:edit','botConfig:del'])" label="操作" width="150px" align="center">
<template slot-scope="scope">
<udOperation
:data="scope.row"
:permission="permission"
:disabled-dle="scope.row.id === scope.row.id"
/>
</template>
</el-table-column>
</el-table>
<!--分页组件-->
<pagination />
</div>
</div>
</template>
<script>
import crudBotConfig from '@/api/botConfig'
import CRUD, { presenter, header, form, crud } from '@crud/crud'
import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
const defaultForm = { id: null, configKey: null, configValue: null, remark: null }
export default {
name: 'BotConfig',
components: { pagination, crudOperation, rrOperation, udOperation },
mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() {
return CRUD({ title: 'botConfig', url: 'api/botConfig', idField: 'id', sort: 'id,desc', crudMethod: { ...crudBotConfig }})
},
data() {
return {
permission: {
add: ['admin', 'botConfig:add'],
edit: ['admin', 'botConfig:edit'],
del: ['admin', 'botConfig:del']
},
rules: {
},
queryTypeOptions: [
{ key: 'configKey', display_name: '元素键值' },
{ key: 'configValue', display_name: '元素值' }
]
}
},
methods: {
// 钩子在获取表格数据之前执行false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() {
return true
}
}
}
</script>
<style scoped>
</style>