1 line
13 KiB
JSON
1 line
13 KiB
JSON
{"remainingRequest":"C:\\Users\\27446\\Desktop\\up\\front\\dkha-web-sz-main\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\27446\\Desktop\\up\\front\\dkha-web-sz-main\\src\\views\\modules\\sys\\menu-add-or-update.vue?vue&type=script&lang=js&","dependencies":[{"path":"C:\\Users\\27446\\Desktop\\up\\front\\dkha-web-sz-main\\src\\views\\modules\\sys\\menu-add-or-update.vue","mtime":1614735254000},{"path":"C:\\Users\\27446\\Desktop\\up\\front\\dkha-web-sz-main\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\27446\\Desktop\\up\\front\\dkha-web-sz-main\\node_modules\\babel-loader\\lib\\index.js","mtime":499162500000},{"path":"C:\\Users\\27446\\Desktop\\up\\front\\dkha-web-sz-main\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\27446\\Desktop\\up\\front\\dkha-web-sz-main\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\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//\n//\n\nimport debounce from 'lodash/debounce'\nimport { getIconList } from '@/utils'\nexport default {\n data () {\n return {\n visible: false,\n menuList: [],\n menuListVisible: false,\n iconList: [],\n iconListVisible: false,\n dataForm: {\n id: '',\n type: 0,\n name: '',\n pid: '0',\n parentName: '',\n url: '',\n permissions: '',\n sort: 0,\n icon: ''\n }\n }\n },\n computed: {\n dataRule () {\n return {\n name: [\n { required: true, message: this.$t('validate.required'), trigger: 'blur' }\n ],\n parentName: [\n { required: true, message: this.$t('validate.required'), trigger: 'change' }\n ]\n }\n }\n },\n watch: {\n 'dataForm.type' (val) {\n this.$refs['dataForm'].clearValidate()\n }\n },\n methods: {\n init () {\n this.visible = true\n this.$nextTick(() => {\n this.$refs['dataForm'].resetFields()\n this.iconList = getIconList()\n this.dataForm.parentName = this.$t('menu.parentNameDefault')\n this.getMenuList().then(() => {\n if (this.dataForm.id) {\n this.getInfo()\n }\n })\n })\n },\n // 获取菜单列表\n getMenuList () {\n return this.$http.get('/sys/menu/list?type=0').then(({ data: res }) => {\n if (res.code !== 0) {\n return this.$message.error(res.msg)\n }\n this.menuList = res.data\n }).catch(() => {})\n },\n // 获取信息\n getInfo () {\n this.$http.get(`/sys/menu/${this.dataForm.id}`).then(({ data: res }) => {\n if (res.code !== 0) {\n return this.$message.error(res.msg)\n }\n this.dataForm = {\n ...this.dataForm,\n ...res.data\n }\n if (this.dataForm.pid === '0') {\n return this.deptListTreeSetDefaultHandle()\n }\n this.$refs.menuListTree.setCurrentKey(this.dataForm.pid)\n }).catch(() => {})\n },\n // 上级菜单树, 设置默认值\n deptListTreeSetDefaultHandle () {\n this.dataForm.pid = '0'\n this.dataForm.parentName = this.$t('menu.parentNameDefault')\n },\n // 上级菜单树, 选中\n menuListTreeCurrentChangeHandle (data) {\n this.dataForm.pid = data.id\n this.dataForm.parentName = data.name\n this.menuListVisible = false\n },\n // 图标, 选中\n iconListCurrentChangeHandle (icon) {\n this.dataForm.icon = icon\n this.iconListVisible = false\n },\n // 表单提交\n dataFormSubmitHandle: debounce(function () {\n this.$refs['dataForm'].validate((valid) => {\n if (!valid) {\n return false\n }\n this.$http[!this.dataForm.id ? 'post' : 'put']('/sys/menu', this.dataForm).then(({ data: res }) => {\n if (res.code !== 0) {\n return this.$message.error(res.msg)\n }\n this.$message({\n message: this.$t('prompt.success'),\n type: 'success',\n duration: 500,\n onClose: () => {\n this.visible = false\n this.$emit('refreshDataList')\n }\n })\n }).catch(() => {})\n })\n }, 1000, { 'leading': true, 'trailing': false })\n }\n}\n",{"version":3,"sources":["menu-add-or-update.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+DA;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;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;AACA;AACA;AACA;AACA","file":"menu-add-or-update.vue","sourceRoot":"src/views/modules/sys","sourcesContent":["<template>\n <el-dialog :visible.sync=\"visible\" :title=\"!dataForm.id ? $t('add') : $t('update')\" :close-on-click-modal=\"false\" :close-on-press-escape=\"false\">\n <el-form :model=\"dataForm\" :rules=\"dataRule\" ref=\"dataForm\" @keyup.enter.native=\"dataFormSubmitHandle()\" label-width=\"120px\">\n <el-form-item prop=\"type\" :label=\"$t('menu.type')\" size=\"mini\">\n <el-radio-group v-model=\"dataForm.type\" :disabled=\"!!dataForm.id\">\n <el-radio :label=\"0\">{{ $t('menu.type0') }}</el-radio>\n <el-radio :label=\"1\">{{ $t('menu.type1') }}</el-radio>\n </el-radio-group>\n </el-form-item>\n <el-form-item prop=\"name\" :label=\"$t('menu.name')\">\n <el-input v-model=\"dataForm.name\" :placeholder=\"$t('menu.name')\"></el-input>\n </el-form-item>\n <el-form-item prop=\"parentName\" :label=\"$t('menu.parentName')\" class=\"menu-list\">\n <el-popover v-model=\"menuListVisible\" ref=\"menuListPopover\" placement=\"bottom-start\" trigger=\"click\">\n <el-tree\n :data=\"menuList\"\n :props=\"{ label: 'name', children: 'children' }\"\n node-key=\"id\"\n ref=\"menuListTree\"\n :highlight-current=\"true\"\n :expand-on-click-node=\"false\"\n accordion\n @current-change=\"menuListTreeCurrentChangeHandle\">\n </el-tree>\n </el-popover>\n <el-input v-model=\"dataForm.parentName\" v-popover:menuListPopover :readonly=\"true\" :placeholder=\"$t('menu.parentName')\">\n <i v-if=\"dataForm.pid !== '0'\" slot=\"suffix\" @click.stop=\"deptListTreeSetDefaultHandle()\" class=\"el-icon-circle-close el-input__icon\"></i>\n </el-input>\n </el-form-item>\n <el-form-item v-if=\"dataForm.type === 0\" prop=\"url\" :label=\"$t('menu.url')\">\n <el-input v-model=\"dataForm.url\" :placeholder=\"$t('menu.url')\"></el-input>\n </el-form-item>\n <el-form-item prop=\"sort\" :label=\"$t('menu.sort')\">\n <el-input-number v-model=\"dataForm.sort\" controls-position=\"right\" :min=\"0\" :label=\"$t('menu.sort')\"></el-input-number>\n </el-form-item>\n <el-form-item v-if=\"dataForm.type === 0\" prop=\"icon\" :label=\"$t('menu.icon')\" class=\"icon-list\">\n <el-popover v-model=\"iconListVisible\" ref=\"iconListPopover\" placement=\"bottom-start\" trigger=\"click\" popper-class=\"mod-sys__menu-icon-popover\">\n <div class=\"mod-sys__menu-icon-inner\">\n <div class=\"mod-sys__menu-icon-list\">\n <el-button\n v-for=\"(item, index) in iconList\"\n :key=\"index\"\n @click=\"iconListCurrentChangeHandle(item)\"\n :class=\"{ 'is-active': dataForm.icon === item }\">\n <svg class=\"icon-svg\" aria-hidden=\"true\"><use :xlink:href=\"`#${item}`\"></use></svg>\n </el-button>\n </div>\n </div>\n </el-popover>\n <el-input v-model=\"dataForm.icon\" v-popover:iconListPopover :readonly=\"true\" :placeholder=\"$t('menu.icon')\"></el-input>\n </el-form-item>\n <el-form-item prop=\"permissions\" :label=\"$t('menu.permissions')\">\n <el-input v-model=\"dataForm.permissions\" :placeholder=\"$t('menu.permissionsTips')\"></el-input>\n </el-form-item>\n </el-form>\n <template slot=\"footer\">\n <el-button @click=\"visible = false\">{{ $t('cancel') }}</el-button>\n <el-button type=\"primary\" @click=\"dataFormSubmitHandle()\">{{ $t('confirm') }}</el-button>\n </template>\n </el-dialog>\n</template>\n\n<script>\nimport debounce from 'lodash/debounce'\nimport { getIconList } from '@/utils'\nexport default {\n data () {\n return {\n visible: false,\n menuList: [],\n menuListVisible: false,\n iconList: [],\n iconListVisible: false,\n dataForm: {\n id: '',\n type: 0,\n name: '',\n pid: '0',\n parentName: '',\n url: '',\n permissions: '',\n sort: 0,\n icon: ''\n }\n }\n },\n computed: {\n dataRule () {\n return {\n name: [\n { required: true, message: this.$t('validate.required'), trigger: 'blur' }\n ],\n parentName: [\n { required: true, message: this.$t('validate.required'), trigger: 'change' }\n ]\n }\n }\n },\n watch: {\n 'dataForm.type' (val) {\n this.$refs['dataForm'].clearValidate()\n }\n },\n methods: {\n init () {\n this.visible = true\n this.$nextTick(() => {\n this.$refs['dataForm'].resetFields()\n this.iconList = getIconList()\n this.dataForm.parentName = this.$t('menu.parentNameDefault')\n this.getMenuList().then(() => {\n if (this.dataForm.id) {\n this.getInfo()\n }\n })\n })\n },\n // 获取菜单列表\n getMenuList () {\n return this.$http.get('/sys/menu/list?type=0').then(({ data: res }) => {\n if (res.code !== 0) {\n return this.$message.error(res.msg)\n }\n this.menuList = res.data\n }).catch(() => {})\n },\n // 获取信息\n getInfo () {\n this.$http.get(`/sys/menu/${this.dataForm.id}`).then(({ data: res }) => {\n if (res.code !== 0) {\n return this.$message.error(res.msg)\n }\n this.dataForm = {\n ...this.dataForm,\n ...res.data\n }\n if (this.dataForm.pid === '0') {\n return this.deptListTreeSetDefaultHandle()\n }\n this.$refs.menuListTree.setCurrentKey(this.dataForm.pid)\n }).catch(() => {})\n },\n // 上级菜单树, 设置默认值\n deptListTreeSetDefaultHandle () {\n this.dataForm.pid = '0'\n this.dataForm.parentName = this.$t('menu.parentNameDefault')\n },\n // 上级菜单树, 选中\n menuListTreeCurrentChangeHandle (data) {\n this.dataForm.pid = data.id\n this.dataForm.parentName = data.name\n this.menuListVisible = false\n },\n // 图标, 选中\n iconListCurrentChangeHandle (icon) {\n this.dataForm.icon = icon\n this.iconListVisible = false\n },\n // 表单提交\n dataFormSubmitHandle: debounce(function () {\n this.$refs['dataForm'].validate((valid) => {\n if (!valid) {\n return false\n }\n this.$http[!this.dataForm.id ? 'post' : 'put']('/sys/menu', this.dataForm).then(({ data: res }) => {\n if (res.code !== 0) {\n return this.$message.error(res.msg)\n }\n this.$message({\n message: this.$t('prompt.success'),\n type: 'success',\n duration: 500,\n onClose: () => {\n this.visible = false\n this.$emit('refreshDataList')\n }\n })\n }).catch(() => {})\n })\n }, 1000, { 'leading': true, 'trailing': false })\n }\n}\n</script>\n\n<style lang=\"scss\">\n.mod-sys__menu {\n .menu-list,\n .icon-list {\n .el-input__inner,\n .el-input__suffix {\n cursor: pointer;\n }\n }\n &-icon-popover {\n width: 458px;\n overflow: hidden;\n }\n &-icon-inner {\n width: 478px;\n max-height: 258px;\n overflow-x: hidden;\n overflow-y: auto;\n }\n &-icon-list {\n width: 458px;\n padding: 0;\n margin: -8px 0 0 -8px;\n > .el-button {\n padding: 8px;\n margin: 8px 0 0 8px;\n > span {\n display: inline-block;\n vertical-align: middle;\n width: 18px;\n height: 18px;\n font-size: 18px;\n }\n }\n }\n}\n</style>\n"]}]} |