1 |
- {"remainingRequest":"D:\\jiayue\\cemp-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jiayue\\cemp-ui\\src\\views\\admin\\dept\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jiayue\\cemp-ui\\src\\views\\admin\\dept\\index.vue","mtime":1619070292887},{"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":["//\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//\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, delObj, fetchTree, getObj, putObj} from '@/api/admin/dept'\nimport {mapGetters} from 'vuex'\n\nimport { getdetails } from '@/api/admin/dept'\n\nvar validatedeptname = (rule, value, callback) => {\n getdetails(value).then(response => {\n if (window.boxType === 'edit') callback()\n let result = response.data.data\n if (result !== null) {\n callback(new Error('部门已经存在'))\n } else {\n callback()\n }\n })\n}\n\nexport default {\n name: 'dept',\n data() {\n return {\n list: null,\n total: null,\n formEdit: true,\n formAdd: true,\n formStatus: '',\n showElement: false,\n typeOptions: ['0', '1'],\n methodOptions: ['GET', 'POST', 'PUT', 'DELETE'],\n listQuery: {\n name: undefined\n },\n treeData: [],\n defaultProps: {\n children: 'children',\n label: 'name'\n },\n rules: {\n parentId: [\n {required: true, message: '请输入父级节点', trigger: 'blur'}\n ],\n deptId: [\n {required: true, message: '请输入节点编号', trigger: 'blur'}\n ],\n name: [\n { required: true, message: '请输入部门名称', trigger: 'blur' },\n {validator: validatedeptname, trigger: 'blur'}\n ],\n orderNum: [\n { required: false, message: '排序值', trigger: 'blur' },\n ]\n },\n labelPosition: 'right',\n form: {\n name: undefined,\n orderNum: undefined,\n parentId: undefined,\n deptId: undefined\n },\n currentId: 0,\n deptManager_btn_add: false,\n deptManager_btn_edit: false,\n deptManager_btn_del: false\n }\n },\n created() {\n this.getList()\n this.deptManager_btn_add = this.permissions['sys_dept_add']\n this.deptManager_btn_edit = this.permissions['sys_dept_edit']\n this.deptManager_btn_del = this.permissions['sys_dept_del']\n },\n computed: {\n ...mapGetters([\n 'elements',\n 'permissions'\n ])\n },\n methods: {\n getList() {\n fetchTree(this.listQuery).then(response => {\n this.treeData = response.data.data\n })\n },\n filterNode(value, data) {\n if (!value) return true\n return data.label.indexOf(value) !== -1\n },\n getNodeData(data) {\n if (!this.formEdit) {\n this.formStatus = 'update'\n }\n getObj(data.id).then(response => {\n this.form = response.data.data\n })\n this.currentId = data.id\n this.showElement = true\n },\n handlerEdit() {\n if (this.form.deptId) {\n this.formEdit = false\n this.formStatus = 'update'\n }\n },\n handlerAdd() {\n this.resetForm()\n this.formEdit = false\n this.formStatus = 'create'\n },\n handleDelete() {\n this.$confirm('此操作将永久删除, 是否继续?', '提示', {\n confirmButtonText: '确定',\n cancelButtonText: '取消',\n type: 'warning'\n }).then(() => {\n delObj(this.currentId).then(() => {\n this.getList()\n this.resetForm()\n this.onCancel()\n this.$notify({\n title: '成功',\n message: '删除成功',\n type: 'success',\n duration: 2000\n })\n })\n })\n },\n update() {\n this.$refs.form.validate((valid) => {\n if (!valid) return\n putObj(this.form).then(() => {\n this.getList()\n this.$notify({\n title: '成功',\n message: '更新成功',\n type: 'success',\n duration: 2000\n })\n })\n })\n\n },\n create() {\n this.$refs.form.validate((valid) => {\n if (!valid) return\n addObj(this.form).then(() => {\n this.getList()\n this.$notify({\n title: '成功',\n message: '创建成功',\n type: 'success',\n duration: 2000\n })\n })\n })\n },\n onCancel() {\n this.formEdit = true\n this.formStatus = ''\n },\n resetForm() {\n this.form = {\n parentId: this.currentId,\n }\n }\n }\n}\n",{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4GA;AACA;;AAEA;;AAEA;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;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;;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","file":"index.vue","sourceRoot":"src/views/admin/dept","sourcesContent":["`<!--\r\n - Copyright (c) 2018-2025, lengleng All rights reserved.\r\n -\r\n - Redistribution and use in source and binary forms, with or without\r\n - modification, are permitted provided that the following conditions are met:\r\n -\r\n - Redistributions of source code must retain the above copyright notice,\r\n - this list of conditions and the following disclaimer.\r\n - Redistributions in binary form must reproduce the above copyright\r\n - notice, this list of conditions and the following disclaimer in the\r\n - documentation and/or other materials provided with the distribution.\r\n - Neither the name of the pig4cloud.com developer nor the names of its\r\n - contributors may be used to endorse or promote products derived from\r\n - this software without specific prior written permission.\r\n - Author: lengleng (wangiegie@gmail.com)\r\n -->\r\n\r\n<template>\r\n <div class=\"app-container calendar-list-container\">\r\n <basic-container>\r\n <div class=\"filter-container\">\r\n <el-button-group>\r\n <el-button type=\"primary\"\r\n v-if=\"deptManager_btn_add\"\r\n icon=\"plus\"\r\n @click=\"handlerAdd\">添加\r\n </el-button>\r\n <el-button type=\"primary\"\r\n v-if=\"deptManager_btn_edit\"\r\n icon=\"edit\"\r\n @click=\"handlerEdit\">编辑\r\n </el-button>\r\n <el-button type=\"primary\"\r\n v-if=\"deptManager_btn_del\"\r\n icon=\"delete\"\r\n @click=\"handleDelete\">删除\r\n </el-button>\r\n </el-button-group>\r\n </div>\r\n\r\n <el-row>\r\n <el-col :span=\"8\"\r\n style='margin-top:15px;'>\r\n <el-tree class=\"filter-tree\"\r\n :data=\"treeData\"\r\n node-key=\"id\"\r\n highlight-current\r\n :props=\"defaultProps\"\r\n :filter-node-method=\"filterNode\"\r\n @node-click=\"getNodeData\"\r\n default-expand-all>\r\n </el-tree>\r\n </el-col>\r\n <el-col :span=\"16\"\r\n style='margin-top:15px;'>\r\n <el-card class=\"box-card\">\r\n <el-form :label-position=\"labelPosition\"\r\n label-width=\"80px\"\r\n :rules=\"rules\"\r\n :model=\"form\"\r\n ref=\"form\">\r\n <el-form-item label=\"父级节点\"\r\n prop=\"parentId\">\r\n <el-input v-model=\"form.parentId\"\r\n :disabled=\"formEdit\"\r\n placeholder=\"请输入父级节点\"></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"节点编号\"\r\n prop=\"deptId\"\r\n v-if=\"formEdit\">\r\n <el-input v-model=\"form.deptId\"\r\n :disabled=\"formEdit\"\r\n placeholder=\"节点编号\"></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"部门名称\"\r\n prop=\"name\">\r\n <el-input v-model=\"form.name\"\r\n :disabled=\"formEdit\"\r\n placeholder=\"请输入名称\"></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"排序\"\r\n prop=\"orderNum\">\r\n <el-input type=\"number\"\r\n v-model=\"form.sort\"\r\n :disabled=\"formEdit\"\r\n placeholder=\"请输入排序\"></el-input>\r\n </el-form-item>\r\n <el-form-item v-if=\"formStatus == 'update'\">\r\n <el-button type=\"primary\"\r\n @click=\"update\">更新\r\n </el-button>\r\n <el-button @click=\"onCancel\">取消</el-button>\r\n </el-form-item>\r\n <el-form-item v-if=\"formStatus == 'create'\">\r\n <el-button type=\"primary\"\r\n @click=\"create\">保存\r\n </el-button>\r\n <el-button @click=\"onCancel\">取消</el-button>\r\n </el-form-item>\r\n </el-form>\r\n </el-card>\r\n </el-col>\r\n </el-row>\r\n </basic-container>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n import {addObj, delObj, fetchTree, getObj, putObj} from '@/api/admin/dept'\r\n import {mapGetters} from 'vuex'\r\n\r\n import { getdetails } from '@/api/admin/dept'\r\n\r\n var validatedeptname = (rule, value, callback) => {\r\n getdetails(value).then(response => {\r\n if (window.boxType === 'edit') callback()\r\n let result = response.data.data\r\n if (result !== null) {\r\n callback(new Error('部门已经存在'))\r\n } else {\r\n callback()\r\n }\r\n })\r\n }\r\n\r\n export default {\r\n name: 'dept',\r\n data() {\r\n return {\r\n list: null,\r\n total: null,\r\n formEdit: true,\r\n formAdd: true,\r\n formStatus: '',\r\n showElement: false,\r\n typeOptions: ['0', '1'],\r\n methodOptions: ['GET', 'POST', 'PUT', 'DELETE'],\r\n listQuery: {\r\n name: undefined\r\n },\r\n treeData: [],\r\n defaultProps: {\r\n children: 'children',\r\n label: 'name'\r\n },\r\n rules: {\r\n parentId: [\r\n {required: true, message: '请输入父级节点', trigger: 'blur'}\r\n ],\r\n deptId: [\r\n {required: true, message: '请输入节点编号', trigger: 'blur'}\r\n ],\r\n name: [\r\n { required: true, message: '请输入部门名称', trigger: 'blur' },\r\n {validator: validatedeptname, trigger: 'blur'}\r\n ],\r\n orderNum: [\r\n { required: false, message: '排序值', trigger: 'blur' },\r\n ]\r\n },\r\n labelPosition: 'right',\r\n form: {\r\n name: undefined,\r\n orderNum: undefined,\r\n parentId: undefined,\r\n deptId: undefined\r\n },\r\n currentId: 0,\r\n deptManager_btn_add: false,\r\n deptManager_btn_edit: false,\r\n deptManager_btn_del: false\r\n }\r\n },\r\n created() {\r\n this.getList()\r\n this.deptManager_btn_add = this.permissions['sys_dept_add']\r\n this.deptManager_btn_edit = this.permissions['sys_dept_edit']\r\n this.deptManager_btn_del = this.permissions['sys_dept_del']\r\n },\r\n computed: {\r\n ...mapGetters([\r\n 'elements',\r\n 'permissions'\r\n ])\r\n },\r\n methods: {\r\n getList() {\r\n fetchTree(this.listQuery).then(response => {\r\n this.treeData = response.data.data\r\n })\r\n },\r\n filterNode(value, data) {\r\n if (!value) return true\r\n return data.label.indexOf(value) !== -1\r\n },\r\n getNodeData(data) {\r\n if (!this.formEdit) {\r\n this.formStatus = 'update'\r\n }\r\n getObj(data.id).then(response => {\r\n this.form = response.data.data\r\n })\r\n this.currentId = data.id\r\n this.showElement = true\r\n },\r\n handlerEdit() {\r\n if (this.form.deptId) {\r\n this.formEdit = false\r\n this.formStatus = 'update'\r\n }\r\n },\r\n handlerAdd() {\r\n this.resetForm()\r\n this.formEdit = false\r\n this.formStatus = 'create'\r\n },\r\n handleDelete() {\r\n this.$confirm('此操作将永久删除, 是否继续?', '提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning'\r\n }).then(() => {\r\n delObj(this.currentId).then(() => {\r\n this.getList()\r\n this.resetForm()\r\n this.onCancel()\r\n this.$notify({\r\n title: '成功',\r\n message: '删除成功',\r\n type: 'success',\r\n duration: 2000\r\n })\r\n })\r\n })\r\n },\r\n update() {\r\n this.$refs.form.validate((valid) => {\r\n if (!valid) return\r\n putObj(this.form).then(() => {\r\n this.getList()\r\n this.$notify({\r\n title: '成功',\r\n message: '更新成功',\r\n type: 'success',\r\n duration: 2000\r\n })\r\n })\r\n })\r\n\r\n },\r\n create() {\r\n this.$refs.form.validate((valid) => {\r\n if (!valid) return\r\n addObj(this.form).then(() => {\r\n this.getList()\r\n this.$notify({\r\n title: '成功',\r\n message: '创建成功',\r\n type: 'success',\r\n duration: 2000\r\n })\r\n })\r\n })\r\n },\r\n onCancel() {\r\n this.formEdit = true\r\n this.formStatus = ''\r\n },\r\n resetForm() {\r\n this.form = {\r\n parentId: this.currentId,\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n"]}]}
|