c775aca0ec35bd1a3409cf8846545fa3.json 15 KB

1
  1. {"remainingRequest":"/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/node_modules/babel-loader/lib/index.js!/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/node_modules/cache-loader/dist/cjs.js??ref--0-0!/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/node_modules/vue-loader/lib/index.js??vue-loader-options!/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/src/views/system/config/index.vue?vue&type=script&lang=js&","dependencies":[{"path":"/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/src/views/system/config/index.vue","mtime":1616484982000},{"path":"/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/node_modules/babel-loader/lib/index.js","mtime":499162500000},{"path":"/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/node_modules/vue-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiL3Vzci9sb2NhbC9kZXZlbG9wL3BocC93d3cvd2FpYmFvL3Byb2plY3QvTk4yMDIwMDYwODAxL2FkZG9ucy9hZG1pbi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vb2JqZWN0U3ByZWFkMiI7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCmltcG9ydCBDb25maWdEYXRhIGZyb20gJy4vY29uZmlnLWRhdGEnOwppbXBvcnQgeyBtYXBHZXR0ZXJzIH0gZnJvbSAidnVleCI7CmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAiU3lzQ29uZmlnR3JvdXAiLAogIGNvbXBvbmVudHM6IHsKICAgIENvbmZpZ0RhdGE6IENvbmZpZ0RhdGEKICB9LAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICB0YWJsZTogewogICAgICAgIHVybDogJy9jb25maWdncm91cC9pbmRleCcsCiAgICAgICAgcGFnZTogdHJ1ZSwKICAgICAgICB3aGVyZToge30KICAgICAgfSwKICAgICAgLy8g6KGo5qC86YWN572uCiAgICAgIGN1cnJlbnQ6IG51bGwsCiAgICAgIC8vIOihqOagvOmAieS4reaVsOaNrgogICAgICBzaG93RWRpdDogZmFsc2UsCiAgICAgIC8vIOaYr+WQpuaYvuekuuihqOWNleW8ueeqlwogICAgICBlZGl0Rm9ybToge30sCiAgICAgIC8vIOihqOWNleaVsOaNrgogICAgICBlZGl0UnVsZXM6IHsKICAgICAgICAvLyDooajljZXpqozor4Hop4TliJkKICAgICAgICBuYW1lOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWl6YWN572u5YiG57uE5ZCN56ewJywKICAgICAgICAgIHRyaWdnZXI6ICdibHVyJwogICAgICAgIH1dLAogICAgICAgIHNvcnQ6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfor7fovpPlhaXmjpLluo/lj7cnLAogICAgICAgICAgdHJpZ2dlcjogJ2JsdXInCiAgICAgICAgfV0KICAgICAgfQogICAgfTsKICB9LAogIGNvbXB1dGVkOiBfb2JqZWN0U3ByZWFkKF9vYmplY3RTcHJlYWQoe30sIG1hcEdldHRlcnMoWyJwZXJtaXNzaW9uIl0pKSwge30sIHsKICAgIC8qIOihqOagvOWbuuWumumrmOW6piAqLwogICAgdGJIZWlnaHQ6IGZ1bmN0aW9uIHRiSGVpZ2h0KCkgewogICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUudGhlbWUuc2NyZWVuV2lkdGggPCA5OTIgPyB1bmRlZmluZWQgOiAnY2FsYygxMDB2aCAtIDI2NXB4KSc7CiAgICB9CiAgfSksCiAgbWV0aG9kczogewogICAgLyog6KGo5qC85riy5p+T5a6M5oiQ5Zue6LCDICovCiAgICBkb25lOiBmdW5jdGlvbiBkb25lKHJlcykgewogICAgICBpZiAocmVzLmRhdGEubGVuZ3RoID4gMCkgdGhpcy4kcmVmcy50YWJsZS5zZXRDdXJyZW50Um93KHJlcy5kYXRhWzBdKTsKICAgIH0sCgogICAgLyog5pi+56S657yW6L6RICovCiAgICBlZGl0OiBmdW5jdGlvbiBlZGl0KCkgewogICAgICB0aGlzLmVkaXRGb3JtID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5jdXJyZW50KTsKICAgICAgdGhpcy5zaG93RWRpdCA9IHRydWU7CiAgICB9LAoKICAgIC8qIOS/neWtmOe8lui+kSAqLwogICAgc2F2ZTogZnVuY3Rpb24gc2F2ZSgpIHsKICAgICAgdmFyIF90aGlzID0gdGhpczsKCiAgICAgIHRoaXMuJHJlZnNbJ2VkaXRGb3JtJ10udmFsaWRhdGUoZnVuY3Rpb24gKHZhbGlkKSB7CiAgICAgICAgaWYgKHZhbGlkKSB7CiAgICAgICAgICB2YXIgbG9hZGluZyA9IF90aGlzLiRsb2FkaW5nKHsKICAgICAgICAgICAgbG9jazogdHJ1ZQogICAgICAgICAgfSk7CgogICAgICAgICAgX3RoaXMuJGh0dHAucG9zdCgnL2NvbmZpZ2dyb3VwL2VkaXQnLCBfdGhpcy5lZGl0Rm9ybSkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgICAgIGxvYWRpbmcuY2xvc2UoKTsKCiAgICAgICAgICAgIGlmIChyZXMuZGF0YS5jb2RlID09PSAwKSB7CiAgICAgICAgICAgICAgX3RoaXMuc2hvd0VkaXQgPSBmYWxzZTsKCiAgICAgICAgICAgICAgX3RoaXMuJG1lc3NhZ2UoewogICAgICAgICAgICAgICAgdHlwZTogJ3N1Y2Nlc3MnLAogICAgICAgICAgICAgICAgbWVzc2FnZTogcmVzLmRhdGEubXNnCiAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgIF90aGlzLiRyZWZzLnRhYmxlLnJlbG9hZCgpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIF90aGlzLiRtZXNzYWdlLmVycm9yKHJlcy5kYXRhLm1zZyk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgIGxvYWRpbmcuY2xvc2UoKTsKCiAgICAgICAgICAgIF90aGlzLiRtZXNzYWdlLmVycm9yKGUubWVzc2FnZSk7CiAgICAgICAgICB9KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAoKICAgIC8qIOWIoOmZpCAqLwogICAgcmVtb3ZlOiBmdW5jdGlvbiByZW1vdmUoKSB7CiAgICAgIHZhciBfdGhpczIgPSB0aGlzOwoKICAgICAgdGhpcy4kY29uZmlybSgn56Gu5a6a6KaB5Yig6Zmk6YCJ5Lit55qE6YWN572u5YiG57uE5ZCXPycsICfmj5DnpLonLCB7CiAgICAgICAgdHlwZTogJ3dhcm5pbmcnCiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBsb2FkaW5nID0gX3RoaXMyLiRsb2FkaW5nKHsKICAgICAgICAgIGxvY2s6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgX3RoaXMyLiRodHRwLnBvc3QoJy9jb25maWdncm91cC9kZWxldGU/aWQ9JyArIF90aGlzMi5jdXJyZW50LmlkKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICAgIGxvYWRpbmcuY2xvc2UoKTsKCiAgICAgICAgICBpZiAocmVzLmRhdGEuY29kZSA9PT0gMCkgewogICAgICAgICAgICBfdGhpczIuJG1lc3NhZ2UoewogICAgICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJywKICAgICAgICAgICAgICBtZXNzYWdlOiByZXMuZGF0YS5tc2cKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICBfdGhpczIuJHJlZnMudGFibGUucmVsb2FkKCk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBfdGhpczIuJG1lc3NhZ2UuZXJyb3IocmVzLmRhdGEubXNnKTsKICAgICAgICAgIH0KICAgICAgICB9KS5jYXRjaChmdW5jdGlvbiAoZSkgewogICAgICAgICAgbG9hZGluZy5jbG9zZSgpOwoKICAgICAgICAgIF90aGlzMi4kbWVzc2FnZS5lcnJvcihlLm1lc3NhZ2UpOwogICAgICAgIH0pOwogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIDA7CiAgICAgIH0pOwogICAgfQogIH0KfTs="},{"version":3,"sources":["index.vue"],"names":[],"mappings":"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","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:config: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:config: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:config: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 min-width=\"200\"/>\r\n <el-table-column prop=\"sort\" label=\"排序\" sortable=\"custom\" show-overflow-tooltip/>\r\n </ele-data-table>\r\n </el-col>\r\n <el-col :md=\"18\" style=\"margin-bottom:15px;\">\r\n <config-data v-if=\"current\" :configgroup-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=\"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>\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 ConfigData from './config-data'\r\nimport { mapGetters } from \"vuex\";\r\nexport default {\r\n name: \"SysConfigGroup\",\r\n components: {ConfigData},\r\n data() {\r\n return {\r\n table: {url: '/configgroup/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 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('/configgroup/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('/configgroup/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>"],"sourceRoot":"src/views/system/config"}]}