191cc4c2a300fe08fa89e8328c806cd9.json 12 KB

1
  1. {"remainingRequest":"/usr/local/develop/php/www/waibao/project/NN2022060801/addons/admin/node_modules/vue-loader/lib/index.js??vue-loader-options!/usr/local/develop/php/www/waibao/project/NN2022060801/addons/admin/src/views/system/dictionary/index.vue?vue&type=script&lang=js&","dependencies":[{"path":"/usr/local/develop/php/www/waibao/project/NN2022060801/addons/admin/src/views/system/dictionary/index.vue","mtime":1616485212000},{"path":"/usr/local/develop/php/www/waibao/project/NN2022060801/addons/admin/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/usr/local/develop/php/www/waibao/project/NN2022060801/addons/admin/node_modules/babel-loader/lib/index.js","mtime":499162500000},{"path":"/usr/local/develop/php/www/waibao/project/NN2022060801/addons/admin/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/usr/local/develop/php/www/waibao/project/NN2022060801/addons/admin/node_modules/vue-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgRGljdERhdGEgZnJvbSAnLi9kaWN0LWRhdGEnDQppbXBvcnQgeyBtYXBHZXR0ZXJzIH0gZnJvbSAidnVleCI7DQpleHBvcnQgZGVmYXVsdCB7DQogIG5hbWU6ICJTeXNEaWN0aW9uYXJ5IiwNCiAgY29tcG9uZW50czoge0RpY3REYXRhfSwNCiAgZGF0YSgpIHsNCiAgICByZXR1cm4gew0KICAgICAgdGFibGU6IHt1cmw6ICcvZGljdHR5cGUvaW5kZXgnLCBwYWdlOiB0cnVlLCB3aGVyZToge319LCAgLy8g6KGo5qC86YWN572uDQogICAgICBjdXJyZW50OiBudWxsLCAgLy8g6KGo5qC86YCJ5Lit5pWw5o2uDQogICAgICBzaG93RWRpdDogZmFsc2UsICAvLyDmmK/lkKbmmL7npLrooajljZXlvLnnqpcNCiAgICAgIGVkaXRGb3JtOiB7fSwgIC8vIOihqOWNleaVsOaNrg0KICAgICAgZWRpdFJ1bGVzOiB7ICAvLyDooajljZXpqozor4Hop4TliJkNCiAgICAgICAgbmFtZTogWw0KICAgICAgICAgIHtyZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogJ+ivt+i+k+WFpeWtl+WFuOWQjeensCcsIHRyaWdnZXI6ICdibHVyJ30NCiAgICAgICAgXSwNCiAgICAgICAgY29kZTogWw0KICAgICAgICAgIHtyZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogJ+ivt+i+k+WFpeWtl+WFuOWAvCcsIHRyaWdnZXI6ICdibHVyJ30NCiAgICAgICAgXSwNCiAgICAgICAgc29ydDogWw0KICAgICAgICAgIHtyZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogJ+ivt+i+k+WFpeaOkuW6j+WPtycsIHRyaWdnZXI6ICdibHVyJ30NCiAgICAgICAgXQ0KICAgICAgfQ0KICAgIH0NCiAgfSwNCiAgY29tcHV0ZWQ6IHsNCiAgICAuLi5tYXBHZXR0ZXJzKFsicGVybWlzc2lvbiJdKSwNCiAgICANCiAgICAvKiDooajmoLzlm7rlrprpq5jluqYgKi8NCiAgICB0YkhlaWdodCgpIHsNCiAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS50aGVtZS5zY3JlZW5XaWR0aCA8IDk5MiA/IHVuZGVmaW5lZCA6ICdjYWxjKDEwMHZoIC0gMjY1cHgpJzsNCiAgICB9DQogIH0sDQogIG1ldGhvZHM6IHsNCiAgICAvKiDooajmoLzmuLLmn5PlrozmiJDlm57osIMgKi8NCiAgICBkb25lKHJlcykgew0KICAgICAgaWYgKHJlcy5kYXRhLmxlbmd0aCA+IDApIHRoaXMuJHJlZnMudGFibGUuc2V0Q3VycmVudFJvdyhyZXMuZGF0YVswXSk7DQogICAgfSwNCiAgICAvKiDmmL7npLrnvJbovpEgKi8NCiAgICBlZGl0KCkgew0KICAgICAgdGhpcy5lZGl0Rm9ybSA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuY3VycmVudCk7DQogICAgICB0aGlzLnNob3dFZGl0ID0gdHJ1ZTsNCiAgICB9LA0KICAgIC8qIOS/neWtmOe8lui+kSAqLw0KICAgIHNhdmUoKSB7DQogICAgICB0aGlzLiRyZWZzWydlZGl0Rm9ybSddLnZhbGlkYXRlKCh2YWxpZCkgPT4gew0KICAgICAgICBpZiAodmFsaWQpIHsNCiAgICAgICAgICBjb25zdCBsb2FkaW5nID0gdGhpcy4kbG9hZGluZyh7bG9jazogdHJ1ZX0pOw0KICAgICAgICAgIHRoaXMuJGh0dHAucG9zdCgnL2RpY3R0eXBlL2VkaXQnLCB0aGlzLmVkaXRGb3JtKS50aGVuKHJlcyA9PiB7DQogICAgICAgICAgICBsb2FkaW5nLmNsb3NlKCk7DQogICAgICAgICAgICBpZiAocmVzLmRhdGEuY29kZSA9PT0gMCkgew0KICAgICAgICAgICAgICB0aGlzLnNob3dFZGl0ID0gZmFsc2U7DQogICAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uoe3R5cGU6ICdzdWNjZXNzJywgbWVzc2FnZTogcmVzLmRhdGEubXNnfSk7DQogICAgICAgICAgICAgIHRoaXMuJHJlZnMudGFibGUucmVsb2FkKCk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICB0aGlzLiRtZXNzYWdlLmVycm9yKHJlcy5kYXRhLm1zZyk7DQogICAgICAgICAgICB9DQogICAgICAgICAgfSkuY2F0Y2goZSA9PiB7DQogICAgICAgICAgICBsb2FkaW5nLmNsb3NlKCk7DQogICAgICAgICAgICB0aGlzLiRtZXNzYWdlLmVycm9yKGUubWVzc2FnZSk7DQogICAgICAgICAgfSk7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgICB9KTsNCiAgICB9LA0KICAgIC8qIOWIoOmZpCAqLw0KICAgIHJlbW92ZSgpIHsNCiAgICAgIHRoaXMuJGNvbmZpcm0oJ+ehruWumuimgeWIoOmZpOmAieS4reeahOWtl+WFuOWQlz8nLCAn5o+Q56S6Jywge3R5cGU6ICd3YXJuaW5nJ30pLnRoZW4oKCkgPT4gew0KICAgICAgICBjb25zdCBsb2FkaW5nID0gdGhpcy4kbG9hZGluZyh7bG9jazogdHJ1ZX0pOw0KICAgICAgICB0aGlzLiRodHRwLnBvc3QoJy9kaWN0dHlwZS9kZWxldGU/aWQ9JyArIHRoaXMuY3VycmVudC5pZCkudGhlbihyZXMgPT4gew0KICAgICAgICAgIGxvYWRpbmcuY2xvc2UoKTsNCiAgICAgICAgICBpZiAocmVzLmRhdGEuY29kZSA9PT0gMCkgew0KICAgICAgICAgICAgdGhpcy4kbWVzc2FnZSh7dHlwZTogJ3N1Y2Nlc3MnLCBtZXNzYWdlOiByZXMuZGF0YS5tc2d9KTsNCiAgICAgICAgICAgIHRoaXMuJHJlZnMudGFibGUucmVsb2FkKCk7DQogICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IocmVzLmRhdGEubXNnKTsNCiAgICAgICAgICB9DQogICAgICAgIH0pLmNhdGNoKGUgPT4gew0KICAgICAgICAgIGxvYWRpbmcuY2xvc2UoKTsNCiAgICAgICAgICB0aGlzLiRtZXNzYWdlLmVycm9yKGUubWVzc2FnZSk7DQogICAgICAgIH0pOw0KICAgICAgfSkuY2F0Y2goKCkgPT4gMCk7DQogICAgfQ0KICB9DQp9DQo="},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"index.vue","sourceRoot":"src/views/system/dictionary","sourcesContent":["<template>\r\n <div class=\"ele-body\">\r\n <el-card shadow=\"never\" body-style=\"padding-bottom:0;\">\r\n <el-row :gutter=\"15\">\r\n <el-col :md=\"6\" style=\"margin-bottom:15px;\">\r\n <!-- 操作按钮 -->\r\n <div class=\"ele-table-tool ele-table-tool-default\">\r\n <el-button @click=\"showEdit=true\" type=\"primary\" icon=\"el-icon-plus\" class=\"ele-btn-icon\" size=\"small\" v-if=\"permission.includes('sys:dictionary:add')\">添加\r\n </el-button>\r\n <el-button @click=\"edit\" type=\"warning\" icon=\"el-icon-edit\" class=\"ele-btn-icon\"\r\n :disabled=\"!current\" size=\"small\" v-if=\"permission.includes('sys:dictionary:edit')\">修改\r\n </el-button>\r\n <el-button @click=\"remove\" type=\"danger\" icon=\"el-icon-delete\" class=\"ele-btn-icon\"\r\n :disabled=\"!current\" size=\"small\" v-if=\"permission.includes('sys:dictionary:delete')\">删除\r\n </el-button>\r\n </div>\r\n <!-- 数据表格 -->\r\n <ele-data-table ref=\"table\" :config=\"table\" :current.sync=\"current\" :choose=\"[]\" @done=\"done\" highlight-current-row\r\n :height=\"tbHeight\" class=\"dict-table\">\r\n <el-table-column type=\"index\" label=\"编号\" width=\"60\" align=\"center\"/>\r\n <el-table-column prop=\"name\" label=\"字典名称\" show-overflow-tooltip>\r\n <template slot-scope=\"{row}\">{{ row.name }}({{ row.code }})</template>\r\n </el-table-column>\r\n </ele-data-table>\r\n </el-col>\r\n <el-col :md=\"18\" style=\"margin-bottom:15px;\">\r\n <dict-data v-if=\"current\" :dicttype-id=\"current.id\" :tb-height=\"tbHeight\"/>\r\n </el-col>\r\n </el-row>\r\n </el-card>\r\n <!-- 编辑弹窗 -->\r\n <el-dialog :title=\"editForm.id?'修改字典':'添加字典'\" :visible.sync=\"showEdit\" width=\"400px\"\r\n @closed=\"editForm={}\" :destroy-on-close=\"true\" :lock-scroll=\"false\">\r\n <el-form :model=\"editForm\" ref=\"editForm\" :rules=\"editRules\" label-width=\"82px\">\r\n <el-form-item label=\"字典名称:\" prop=\"name\">\r\n <el-input v-model=\"editForm.name\" placeholder=\"请输入字典名称\" clearable/>\r\n </el-form-item>\r\n <el-form-item label=\"字典值:\" prop=\"code\">\r\n <el-input v-model=\"editForm.code\" placeholder=\"请输入字典值\" clearable/>\r\n </el-form-item>\r\n <el-form-item label=\"排序号:\" prop=\"sort\">\r\n <el-input-number v-model=\"editForm.sort\" controls-position=\"right\" :min=\"0\"\r\n placeholder=\"请输入排序号\" class=\"ele-fluid ele-text-left\"/>\r\n </el-form-item>\r\n <el-form-item label=\"备注:\">\r\n <el-input v-model=\"editForm.note\" placeholder=\"请输入备注\" :rows=\"4\" type=\"textarea\"/>\r\n </el-form-item>\r\n </el-form>\r\n <div slot=\"footer\">\r\n <el-button @click=\"showEdit=false\">取消</el-button>\r\n <el-button type=\"primary\" @click=\"save\">保存</el-button>\r\n </div>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport DictData from './dict-data'\r\nimport { mapGetters } from \"vuex\";\r\nexport default {\r\n name: \"SysDictionary\",\r\n components: {DictData},\r\n data() {\r\n return {\r\n table: {url: '/dicttype/index', page: true, where: {}}, // 表格配置\r\n current: null, // 表格选中数据\r\n showEdit: false, // 是否显示表单弹窗\r\n editForm: {}, // 表单数据\r\n editRules: { // 表单验证规则\r\n name: [\r\n {required: true, message: '请输入字典名称', trigger: 'blur'}\r\n ],\r\n code: [\r\n {required: true, message: '请输入字典值', trigger: 'blur'}\r\n ],\r\n sort: [\r\n {required: true, message: '请输入排序号', trigger: 'blur'}\r\n ]\r\n }\r\n }\r\n },\r\n computed: {\r\n ...mapGetters([\"permission\"]),\r\n \r\n /* 表格固定高度 */\r\n tbHeight() {\r\n return this.$store.state.theme.screenWidth < 992 ? undefined : 'calc(100vh - 265px)';\r\n }\r\n },\r\n methods: {\r\n /* 表格渲染完成回调 */\r\n done(res) {\r\n if (res.data.length > 0) this.$refs.table.setCurrentRow(res.data[0]);\r\n },\r\n /* 显示编辑 */\r\n edit() {\r\n this.editForm = Object.assign({}, this.current);\r\n this.showEdit = true;\r\n },\r\n /* 保存编辑 */\r\n save() {\r\n this.$refs['editForm'].validate((valid) => {\r\n if (valid) {\r\n const loading = this.$loading({lock: true});\r\n this.$http.post('/dicttype/edit', this.editForm).then(res => {\r\n loading.close();\r\n if (res.data.code === 0) {\r\n this.showEdit = false;\r\n this.$message({type: 'success', message: res.data.msg});\r\n this.$refs.table.reload();\r\n } else {\r\n this.$message.error(res.data.msg);\r\n }\r\n }).catch(e => {\r\n loading.close();\r\n this.$message.error(e.message);\r\n });\r\n } else {\r\n return false;\r\n }\r\n });\r\n },\r\n /* 删除 */\r\n remove() {\r\n this.$confirm('确定要删除选中的字典吗?', '提示', {type: 'warning'}).then(() => {\r\n const loading = this.$loading({lock: true});\r\n this.$http.post('/dicttype/delete?id=' + this.current.id).then(res => {\r\n loading.close();\r\n if (res.data.code === 0) {\r\n this.$message({type: 'success', message: res.data.msg});\r\n this.$refs.table.reload();\r\n } else {\r\n this.$message.error(res.data.msg);\r\n }\r\n }).catch(e => {\r\n loading.close();\r\n this.$message.error(e.message);\r\n });\r\n }).catch(() => 0);\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n.dict-table >>> .el-table__row {\r\n cursor: pointer;\r\n}\r\n\r\n.dict-table >>> .el-table__row > td:last-child:after {\r\n content: \"\\e6e0\";\r\n font-family: element-icons !important;\r\n font-style: normal;\r\n font-variant: normal;\r\n text-transform: none;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n line-height: 1;\r\n position: absolute;\r\n right: 10px;\r\n top: 50%;\r\n margin-top: -7px;\r\n}\r\n\r\n.dict-table >>> .el-table__row > td:last-child .cell {\r\n padding-right: 20px;\r\n}\r\n</style>"]}]}