diff --git a/web/src/views/system/dept/api.js b/web/src/views/system/dept/api.js index ee966f6..7224fa7 100644 --- a/web/src/views/system/dept/api.js +++ b/web/src/views/system/dept/api.js @@ -1,165 +1,148 @@ -/* - * @Author: H0nGzA1 - * @Date: 2022-05-16 15:47:21 - * @LastEditors: hongzai 2505811377@qq.com - * @LastEditTime: 2022-05-16 16:50:33 - * @FilePath: /web/src/views/system/dept/api.js - * @Description: - * email:2505811377@qq.com - */ -/* - * @创建文件时间: 2021-06-01 22:41:21 - * @Auther: 猿小天 - * @最后修改人: 猿小天 - * @最后修改时间: 2021-09-26 21:17:30 - * 联系Qq:1638245306 - * @文件介绍: 部门管理接口 - */ -import { request } from "@/api/service"; -import XEUtils from "xe-utils"; -export const urlPrefix = "/api/system/dept/"; +import { request } from '@/api/service' +import XEUtils from 'xe-utils' +export const urlPrefix = '/api/system/dept/' /** * 列表查询 */ -export function GetList(query) { +export function GetList (query) { // query.limit = 999; return request({ url: urlPrefix, - method: "get", - params: query, + method: 'get', + params: query }).then((res) => { // 将列表数据转换为树形数据 res.data.data = XEUtils.toArrayTree(res.data.data, { - parentKey: "parent", - strict: false, - }); - return res; - }); + parentKey: 'parent', + strict: false + }) + return res + }) } /** * 新增 */ -export function createObj(obj) { +export function createObj (obj) { return request({ url: urlPrefix, - method: "post", - data: obj, - }); + method: 'post', + data: obj + }) } /** * 修改 */ -export function UpdateObj(obj) { +export function UpdateObj (obj) { return request({ - url: urlPrefix + obj.id + "/", - method: "put", - data: obj, - }); + url: urlPrefix + obj.id + '/', + method: 'put', + data: obj + }) } /** * 删除 */ -export function DelObj(id) { +export function DelObj (id) { return request({ - url: urlPrefix + id + "/", - method: "delete", - data: { id }, - }); + url: urlPrefix + id + '/', + method: 'delete', + data: { id } + }) } -export function GetTreeChildrenByParentId(parentId) { - return TreeNodesLazyLoader.getChildren(parentId); +export function GetTreeChildrenByParentId (parentId) { + return TreeNodesLazyLoader.getChildren(parentId) } -export function GetNodesByValues(values) { - return TreeNodesLazyLoader.getNodesByValues(values); +export function GetNodesByValues (values) { + return TreeNodesLazyLoader.getNodesByValues(values) } const getPcasData = request({ - url: "/api/system/dept_query/", - method: "get", + url: '/api/system/dept_query/', + method: 'get' }).then((res) => { // 将列表数据转换为树形数据 res.data.data = XEUtils.toArrayTree(res.data.data, { - parentKey: "parent", - strict: false, - }); - return res.data.data; -}); -export default getPcasData; + parentKey: 'parent', + strict: false + }) + return res.data.data +}) +export default getPcasData export const TreeNodesLazyLoader = { - getNodesByValues(values) { + getNodesByValues (values) { // console.log("getNodesByValues", values); if (!(values instanceof Array)) { - values = [values]; + values = [values] } return getPcasData.then((data) => { - const nodes = []; + const nodes = [] for (const value of values) { - const found = this.getNode(data, value); + const found = this.getNode(data, value) if (found) { - nodes.push(found); + nodes.push(found) } } - return nodes; - }); + return nodes + }) }, - getNode(list, value) { + getNode (list, value) { for (const item of list) { if (item.code === value) { - return item; + return item } if (item.children && item.children.length > 0) { - const found = this.getNode(item.children, value); + const found = this.getNode(item.children, value) if (found) { - return found; + return found } } } }, - getChildren(parent) { + getChildren (parent) { return getPcasData.then((data) => { - const list = this.getChildrenByParent(parent, data); + const list = this.getChildrenByParent(parent, data) if (list == null) { - return []; + return [] } - return this.cloneAndDeleteChildren(list); - }); + return this.cloneAndDeleteChildren(list) + }) }, - getChildrenByParent(parentId, tree) { + getChildrenByParent (parentId, tree) { if (!parentId) { // 取第一级 - return tree; + return tree } else { for (const node of tree) { if (node.code === parentId) { - return node.children; + return node.children } if (node.children && node.children.length > 0) { // 递归查找 - const list = this.getChildrenByParent(parentId, node.children); + const list = this.getChildrenByParent(parentId, node.children) if (list) { - return list; + return list } } } } }, - cloneAndDeleteChildren(list) { - const newList = []; + cloneAndDeleteChildren (list) { + const newList = [] for (const node of list) { - const newNode = {}; - Object.assign(newNode, node); + const newNode = {} + Object.assign(newNode, node) if (newNode.children == null || newNode.children.length === 0) { - newNode.isLeaf = true; - newNode.leaf = true; + newNode.isLeaf = true + newNode.leaf = true } - delete newNode.children; - newList.push(newNode); + delete newNode.children + newList.push(newNode) } // console.log("found children:", newList); - return newList; - }, -}; + return newList + } +} diff --git a/web/src/views/system/dept/crud.js b/web/src/views/system/dept/crud.js index ebde678..1bf83a7 100644 --- a/web/src/views/system/dept/crud.js +++ b/web/src/views/system/dept/crud.js @@ -1,133 +1,130 @@ -import { request } from "@/api/service"; -import { urlPrefix as deptPrefix } from "./api"; -import XEUtils from "xe-utils"; -import * as Api from "./api"; +import * as Api from './api' export const crudOptions = (vm) => { return { // pagination: false, pageOptions: { - compact: true, + compact: true }, options: { - tableType: "vxe-table", + tableType: 'vxe-table', rowKey: true, // 必须设置,true or false - rowId: "id", - height: "100%", // 表格高度100%, 使用toolbar必须设置 + rowId: 'id', + height: '100%', // 表格高度100%, 使用toolbar必须设置 highlightCurrentRow: false, defaultExpandAll: true, treeConfig: { - lazy: true, - }, + lazy: true + } }, rowHandle: { width: 140, view: { thin: true, - text: "", - disabled() { - return !vm.hasPermissions("Retrieve"); - }, + text: '', + disabled () { + return !vm.hasPermissions('Retrieve') + } }, edit: { thin: true, - text: "", - disabled() { - return !vm.hasPermissions("Update"); - }, + text: '', + disabled () { + return !vm.hasPermissions('Update') + } }, remove: { thin: true, - text: "", - disabled() { - return !vm.hasPermissions("Delete"); - }, - }, + text: '', + disabled () { + return !vm.hasPermissions('Delete') + } + } }, indexRow: { // 或者直接传true,不显示title,不居中 - title: "序号", - align: "center", - width: 100, + title: '序号', + align: 'center', + width: 100 }, viewOptions: { - componentType: "form", + componentType: 'form' }, formOptions: { - defaultSpan: 12, // 默认的表单 span + defaultSpan: 12 // 默认的表单 span }, columns: [ { - title: "关键词", - key: "search", + title: '关键词', + key: 'search', show: false, disabled: true, search: { - disabled: false, + disabled: false }, form: { disabled: true, component: { props: { - clearable: true, + clearable: true }, - placeholder: "请输入关键词", - }, + placeholder: '请输入关键词' + } }, view: { // 查看对话框组件的单独配置 - disabled: true, - }, + disabled: true + } }, { - title: "ID", - key: "id", + title: 'ID', + key: 'id', show: false, disabled: true, width: 90, form: { - disabled: true, - }, + disabled: true + } }, { show: false, - title: "上级部门", - key: "parent", - type: "tree-selector", + title: '上级部门', + key: 'parent', + type: 'tree-selector', dict: { isTree: true, - label: "name", - value: "code", - getNodes(values) { + label: 'name', + value: 'code', + getNodes (values) { // 配置行展示远程获取nodes - return Api.GetNodesByValues(values); - }, + return Api.GetNodesByValues(values) + } }, form: { - helper: "默认留空为根节点", + helper: '默认留空为根节点', component: { span: 12, props: { multiple: false, elProps: { lazy: true, - load(node, resolve) { + load (node, resolve) { // 懒加载 // console.log("懒加载"); if (node.level === 0) { Api.GetTreeChildrenByParentId().then((data) => { - resolve(data); - }); - return; + resolve(data) + }) + return } Api.GetTreeChildrenByParentId(node.data.code).then((data) => { - resolve(data); - }); - }, - }, - }, - }, - }, + resolve(data) + }) + } + } + } + } + } }, // { // title: '上级部门', @@ -170,120 +167,120 @@ export const crudOptions = (vm) => { // } // }, { - title: "部门名称", - key: "name", + title: '部门名称', + key: 'name', sortable: true, treeNode: true, // 设置为树形列 search: { disabled: false, component: { props: { - clearable: true, - }, - }, + clearable: true + } + } }, width: 180, - type: "input", + type: 'input', form: { rules: [ // 表单校验规则 - { required: true, message: "部门名称必填项" }, + { required: true, message: '部门名称必填项' } ], component: { span: 12, props: { - clearable: true, + clearable: true }, - placeholder: "请输入部门名称", + placeholder: '请输入部门名称' }, itemProps: { - class: { yxtInput: true }, - }, - }, + class: { yxtInput: true } + } + } }, { - title: "负责人", - key: "owner", + title: '负责人', + key: 'owner', sortable: true, form: { component: { span: 12, props: { - clearable: true, + clearable: true }, - placeholder: "请输入负责人", - }, - }, + placeholder: '请输入负责人' + } + } }, { - title: "联系电话", - key: "phone", + title: '联系电话', + key: 'phone', sortable: true, form: { component: { span: 12, props: { - clearable: true, + clearable: true }, - placeholder: "请输入联系电话", - }, - }, + placeholder: '请输入联系电话' + } + } }, { - title: "邮箱", - key: "email", + title: '邮箱', + key: 'email', sortable: true, form: { component: { span: 12, props: { - clearable: true, + clearable: true }, - placeholder: "请输入邮箱", + placeholder: '请输入邮箱' }, rules: [ { - type: "email", - message: "请输入正确的邮箱地址", - trigger: ["blur", "change"], - }, - ], - }, + type: 'email', + message: '请输入正确的邮箱地址', + trigger: ['blur', 'change'] + } + ] + } }, { - title: "排序", - key: "sort", + title: '排序', + key: 'sort', sortable: true, width: 80, - type: "number", + type: 'number', form: { value: 1, component: { span: 12, - placeholder: "请选择序号", - }, - }, + placeholder: '请选择序号' + } + } }, { - title: "状态", - key: "status", + title: '状态', + key: 'status', sortable: true, search: { - disabled: false, + disabled: false }, width: 90, - type: "radio", + type: 'radio', dict: { - data: vm.dictionary("button_status_bool"), + data: vm.dictionary('button_status_bool') }, form: { value: true, component: { span: 12, - placeholder: "请选择状态", - }, - }, - }, - ].concat(vm.commonEndColumns()), - }; -}; + placeholder: '请选择状态' + } + } + } + ].concat(vm.commonEndColumns()) + } +} diff --git a/web/src/views/system/dept/index.vue b/web/src/views/system/dept/index.vue index 1cd49e5..bf67fc4 100644 --- a/web/src/views/system/dept/index.vue +++ b/web/src/views/system/dept/index.vue @@ -1,11 +1,3 @@ -