1 |
- {"remainingRequest":"D:\\jiayue\\cemp-ui\\node_modules\\babel-loader\\lib\\index.js!D:\\jiayue\\cemp-ui\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jiayue\\cemp-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jiayue\\cemp-ui\\src\\views\\admin\\menu\\menu-form.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jiayue\\cemp-ui\\src\\views\\admin\\menu\\menu-form.vue","mtime":1619070292889},{"path":"D:\\jiayue\\cemp-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jiayue\\cemp-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jiayue\\cemp-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jiayue\\cemp-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["import \"core-js/modules/es6.function.name\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport { addObj, fetchMenuTree, getObj, putObj } from '@/api/admin/menu';\nimport Treeselect from \"@riophae/vue-treeselect\";\nimport iconList from '@/const/iconList';\nimport TableForm from \"./\";\nimport \"@riophae/vue-treeselect/dist/vue-treeselect.css\";\nexport default {\n name: \"Menu\",\n components: {\n Treeselect: Treeselect,\n TableForm: TableForm\n },\n data: function data() {\n return {\n // 遮罩层\n loading: true,\n // 菜单树选项\n menuOptions: [],\n // 是否显示弹出层\n visible: false,\n // 图标\n iconList: iconList,\n form: {\n name: undefined,\n path: undefined,\n icon: undefined,\n permission: undefined,\n type: '0',\n keepAlive: '0',\n sort: 999\n },\n // 表单校验\n rules: {\n name: [{\n required: true,\n message: \"菜单名称不能为空\",\n trigger: \"blur\"\n }],\n sort: [{\n required: true,\n message: \"菜单顺序不能为空\",\n trigger: \"blur\"\n }],\n path: [{\n required: true,\n message: \"路由地址不能为空\",\n trigger: \"blur\"\n }],\n keepAlive: [{\n required: true,\n message: \"路由缓冲不能为空\",\n trigger: \"blur\"\n }],\n permission: [{\n required: true,\n message: \"权限标识不能为空\",\n trigger: \"blur\"\n }]\n }\n };\n },\n methods: {\n init: function init(isEdit, id) {\n var _this = this;\n\n if (id != null) {\n this.form.parentId = id;\n }\n\n this.visible = true;\n this.getTreeselect();\n this.$nextTick(function () {\n _this.$refs['dataForm'].resetFields();\n\n if (isEdit) {\n getObj(id).then(function (response) {\n _this.form = response.data.data;\n });\n } else {\n _this.form.menuId = undefined;\n }\n });\n },\n // 表单提交\n dataFormSubmit: function dataFormSubmit() {\n var _this2 = this;\n\n this.$refs['dataForm'].validate(function (valid) {\n if (valid) {\n if (_this2.form.parentId === undefined) {\n _this2.form.parentId = -1;\n }\n\n if (_this2.form.menuId) {\n putObj(_this2.form).then(function (data) {\n _this2.$message.success('修改成功');\n\n _this2.visible = false;\n\n _this2.$emit('refreshDataList');\n });\n } else {\n addObj(_this2.form).then(function (data) {\n _this2.$message.success('添加成功');\n\n _this2.visible = false;\n\n _this2.$emit('refreshDataList');\n });\n }\n }\n });\n },\n\n /** 查询菜单下拉树结构 */\n getTreeselect: function getTreeselect() {\n var _this3 = this;\n\n fetchMenuTree().then(function (response) {\n _this3.menuOptions = [];\n var menu = {\n id: -1,\n name: '根菜单',\n children: []\n };\n menu.children = response.data.data;\n\n _this3.menuOptions.push(menu);\n });\n },\n\n /** 转换菜单数据结构 */\n normalizer: function normalizer(node) {\n if (node.children && !node.children.length) {\n delete node.children;\n }\n\n return {\n id: node.id,\n label: node.name,\n children: node.children\n };\n }\n }\n};",{"version":3,"sources":["menu-form.vue"],"names":[],"mappings":"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","sourcesContent":["<template>\r\n <!-- 添加或修改菜单对话框 -->\r\n <el-dialog :title=\"!form.menuId ? '新增' : '修改'\"\r\n :visible.sync=\"visible\">\r\n <el-form ref=\"dataForm\" :model=\"form\" :rules=\"rules\" label-width=\"80px\">\r\n <el-row>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"菜单类型\" prop=\"type\">\r\n <el-radio-group v-model=\"form.type\" size=\"small\">\r\n <el-radio-button label=\"0\">菜单</el-radio-button>\r\n <el-radio-button label=\"1\">按钮</el-radio-button>\r\n </el-radio-group>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"上级菜单\">\r\n <treeselect v-model=\"form.parentId\"\r\n :options=\"menuOptions\"\r\n :normalizer=\"normalizer\"\r\n :show-count=\"true\"\r\n placeholder=\"选择上级菜单\"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n <el-form-item label=\"图标\" prop=\"icon\" v-if=\"form.type === '0'\">\r\n <avue-input-icon v-model=\"form.icon\" :icon-list=\"iconList\"></avue-input-icon>\r\n </el-form-item>\r\n <el-form-item label=\"名称\" prop=\"name\">\r\n <el-input v-model=\"form.name\" placeholder=\"请输入菜单名称\"/>\r\n </el-form-item>\r\n <el-form-item label=\"路由地址\" prop=\"path\" v-if=\"form.type !== '1'\">\r\n <el-input v-model=\"form.path\" placeholder=\"请输入路由地址\"/>\r\n </el-form-item>\r\n <el-form-item label=\"权限标识\" prop=\"permission\" v-if=\"form.type === '1'\">\r\n <el-input v-model=\"form.permission\" placeholder=\"请权限标识\" maxlength=\"50\"/>\r\n </el-form-item>\r\n <el-row>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"排序\" prop=\"sort\">\r\n <el-input-number v-model=\"form.sort\" controls-position=\"right\" :min=\"0\"/>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"路由缓冲\" prop=\"keepAlive\" v-if=\"form.type !== '1'\">\r\n <el-radio-group v-model=\"form.keepAlive\">\r\n <el-radio-button label=\"0\">否</el-radio-button>\r\n <el-radio-button label=\"1\">是</el-radio-button>\r\n </el-radio-group>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <div slot=\"footer\" class=\"dialog-footer\">\r\n <el-button type=\"primary\" @click=\"dataFormSubmit\">确 定</el-button>\r\n <el-button @click=\"visible = false\">取 消</el-button>\r\n </div>\r\n </el-dialog>\r\n</template>\r\n\r\n<script>\r\n import {addObj, fetchMenuTree, getObj, putObj} from '@/api/admin/menu'\r\n import Treeselect from \"@riophae/vue-treeselect\"\r\n import iconList from '@/const/iconList'\r\n import TableForm from './'\r\n import \"@riophae/vue-treeselect/dist/vue-treeselect.css\"\r\n\r\n export default {\r\n name: \"Menu\",\r\n components: {Treeselect, TableForm},\r\n data() {\r\n return {\r\n // 遮罩层\r\n loading: true,\r\n // 菜单树选项\r\n menuOptions: [],\r\n // 是否显示弹出层\r\n visible: false,\r\n // 图标\r\n iconList: iconList,\r\n form: {\r\n name: undefined,\r\n path: undefined,\r\n icon: undefined,\r\n permission: undefined,\r\n type: '0',\r\n keepAlive: '0',\r\n sort: 999\r\n },\r\n // 表单校验\r\n rules: {\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 path: [\r\n {required: true, message: \"路由地址不能为空\", trigger: \"blur\"}\r\n ],\r\n keepAlive: [\r\n {required: true, message: \"路由缓冲不能为空\", trigger: \"blur\"}\r\n ],\r\n permission: [\r\n {required: true, message: \"权限标识不能为空\", trigger: \"blur\"}\r\n ]\r\n }\r\n };\r\n },\r\n methods: {\r\n init(isEdit, id) {\r\n if (id != null) {\r\n this.form.parentId = id;\r\n }\r\n this.visible = true\r\n this.getTreeselect();\r\n this.$nextTick(() => {\r\n this.$refs['dataForm'].resetFields()\r\n if (isEdit) {\r\n getObj(id).then(response => {\r\n this.form = response.data.data\r\n })\r\n } else {\r\n this.form.menuId = undefined\r\n }\r\n })\r\n },\r\n // 表单提交\r\n dataFormSubmit() {\r\n this.$refs['dataForm'].validate((valid) => {\r\n if (valid) {\r\n if (this.form.parentId === undefined) {\r\n this.form.parentId = -1\r\n }\r\n\r\n if (this.form.menuId) {\r\n putObj(this.form).then(data => {\r\n this.$message.success('修改成功')\r\n this.visible = false\r\n this.$emit('refreshDataList')\r\n });\r\n } else {\r\n addObj(this.form).then(data => {\r\n this.$message.success('添加成功')\r\n this.visible = false\r\n this.$emit('refreshDataList')\r\n })\r\n }\r\n }\r\n })\r\n },\r\n /** 查询菜单下拉树结构 */\r\n getTreeselect() {\r\n fetchMenuTree().then(response => {\r\n this.menuOptions = [];\r\n const menu = {id: -1, name: '根菜单', children: []};\r\n menu.children = response.data.data;\r\n this.menuOptions.push(menu);\r\n });\r\n },\r\n /** 转换菜单数据结构 */\r\n normalizer(node) {\r\n if (node.children && !node.children.length) {\r\n delete node.children;\r\n }\r\n return {\r\n id: node.id,\r\n label: node.name,\r\n children: node.children\r\n };\r\n }\r\n }\r\n };\r\n</script>\r\n"],"sourceRoot":"src/views/admin/menu"}]}
|