| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212 |
- <template>
- <anji-crud ref="listPage" :option="crudOption">
- <template v-slot:buttonLeftOnTable>
- <el-button type="primary" icon="el-icon-edit" @click="dictRefresh" v-permission="'dictManage:fresh'">刷新字典项
- </el-button>
- </template>
- <template slot="rowButton" slot-scope="props">
- <el-button type="text" @click="editItem(props)" v-permission="'dictItemManage:query'">编辑字典项</el-button>
- <el-button type="text" @click="itemRefresh(props)" v-permission="'dictManage:fresh'">刷新字典项</el-button>
- </template>
- <!--自定义的卡片插槽,将在编辑详情页面,出现在底部新卡片-->
- <!-- <template v-slot:cardInEditPage>-->
- <!-- <div class="anji-card">-->
- <!-- <div class="card-head">-->
- <!-- 自定义标题-->
- <!-- </div>-->
- <!-- <div class="card-body">-->
- <!-- 自定义内容区-->
- <!-- </div>-->
- <!-- </div>-->
- <!-- </template>-->
- <!--这里可以将自定义的弹出框代码,放入到page中
- <template v-slot:pageSection>
- <div>插入底部html片段</div>
- </template>
- -->
- </anji-crud>
- </template>
- <script>
- import {dictDetail, getDictList, dictAdd, dictEdit, dictsDelect, freshDict} from '@/api/dict'
- export default {
- name: 'Dict',
- components: {
- anjiCrud: require('@/components/AnjiPlus/anji-crud/anji-crud').default,
- },
- data() {
- const that = this
- return {
- crudOption: {
- // 使用菜单做为页面标题
- title: '数据字典',
- // 详情页中输入框左边文字宽度
- labelWidth: '120px',
- // 查询表单条件
- queryFormFields: [
- {
- inputType: 'input',
- label: '字典名称',
- field: 'dictName',
- },
- {
- inputType: 'input',
- label: '字典编码',
- field: 'dictCode',
- },
- ],
- queryFormChange(queryForm, fileName, fileval) {
- if (queryForm['project']) {
- that.$store.commit('user/SET_PROJECT', queryForm['project'])
- }
- },
- // 操作按钮
- buttons: {
- query: {
- api: getDictList,
- permission: 'dictManage:query',
- },
- queryByPrimarykey: {
- api: dictDetail,
- permission: 'dictManage:query',
- },
- add: {
- api: dictAdd,
- permission: 'dictManage:insert',
- },
- delete: {
- api: dictsDelect,
- permission: 'dictManage:delete',
- },
- edit: {
- api: dictEdit,
- permission: 'dictManage:update',
- },
- // 自定义按钮
- customButton: {
- operationWidth: 240, // row自定义按钮表格宽度
- },
- },
- // 表格列
- columns: [
- {
- label: '',
- field: 'id',
- primaryKey: true, // 根据主键查询详情或者根据主键删除时, 主键的
- tableHide: true, // 表格中不显示
- editHide: true, // 编辑弹框中不显示
- },
- {
- label: '字典名称', // 字典名称
- placeholder: '',
- field: 'dictName',
- editField: 'dictName',
- inputType: 'input',
- rules: [
- {required: true, message: '字典名称不能为空', trigger: 'blur'},
- {min: 1, max: 64, message: '不超过64个字符', trigger: 'blur'},
- ],
- disabled: false,
- },
- {
- label: '字典编码', // 字典编码
- placeholder: '',
- field: 'dictCode',
- editField: 'dictCode',
- inputType: 'input',
- rules: [
- {required: true, message: '字典编码不能为空', trigger: 'blur'},
- {min: 1, max: 64, message: '不超过64个字符', trigger: 'blur'},
- ],
- disabled: 'disableOnEdit',
- },
- {
- label: '描述', // 描述
- placeholder: '',
- field: 'remark',
- editField: 'remark',
- inputType: 'input',
- rules: [{min: 1, max: 64, message: '不超过64个字符', trigger: 'blur'}],
- disabled: false,
- },
- {
- label: '创建时间',
- placeholder: '',
- field: 'createTime',
- editField: 'createTime',
- inputType: 'input',
- disabled: false,
- editHide: true, // 编辑弹框中不显示
- },
- {
- label: '创建人',
- placeholder: '',
- field: 'createBy',
- editField: 'createBy',
- inputType: 'input',
- disabled: false,
- editHide: true, // 编辑弹框中不显示
- },
- {
- label: '更新时间',
- placeholder: '',
- field: 'updateTime',
- editField: 'updateTime',
- inputType: 'input',
- disabled: false,
- editHide: true, // 编辑弹框中不显示
- },
- {
- label: '更新人',
- placeholder: '',
- field: 'updateBy',
- editField: 'updateBy',
- inputType: 'input',
- disabled: false,
- editHide: true, // 编辑弹框中不显示
- },
- ],
- },
- }
- },
- created() {
- },
- methods: {
- // 刷新当前面字典
- async dictRefresh() {
- var checkRecords = this.$refs.listPage.checkRecords
- var dictCodes = []
- if (checkRecords.length > 0) {
- dictCodes = checkRecords.map((item) => item.dictCode)
- }
- const {code} = await freshDict(dictCodes)
- if (code != '200') return
- this.$message.success('刷新成功')
- },
- // 刷新某个字典
- async itemRefresh(val) {
- const selectedList = val.msg
- let dictCodes = []
- if (selectedList.length > 0) {
- dictCodes = selectedList.map((item) => item.dictCode)
- }
- const {code} = await freshDict(dictCodes)
- if (code != '200') return
- this.$message.success('刷新成功')
- },
- // 编辑字典项
- editItem(val) {
- this.$router.push({
- path: '/system/dictItem',
- query: {
- dictCode: val.msg.dictCode,
- project: this.$store.state.user.project,
- },
- })
- },
- },
- }
- </script>
|